搜索 社区服务 统计排行 帮助
  • 1272阅读
  • 20回复

[求助]怎么用Avisynth Application Batch和RPG解决rmvb影音不同步的问题

楼层直达
级别: 精灵王
注册时间:
2002-04-29
在线时间:
320小时
发帖:
423
怎么用Avisynth Application Batch和RPG解决rmvb影音不同步的问题

打开Avisynth Application Batch,照猫画虎的改了


也看见生成这段了:

File_Path = "D:\New\"
File_Name = "Maison_Ikkoku 96.rmvb"
Audio_Style = ""
Audio_Name = ""
Subtitle_Style = ""
Subtitle_Sync_Video = True
Video_Audio_Mux_volume = 0

Frame_rate = 0
Play_Speed = 1

Delay_Time = 0.5
Offset_Start_Time = "00:00:00"

接下来干什么?存成AVS,用virtual dub挂,最后存成AVI?看说明也没明白以后该怎么做。
不是说Avisynth Application Batch可以不重新压制rmvb也能把时间给正过来的嘛,那接下来该怎么整呢?

另问:菜单里的“传送。。。”是什么?点了也没什么用。存储命令的话会存储为TXT,这什么用?

迷茫中


用RPG9中的avisynth编辑出一个AVs文件来
内容如下:

DirectShowSource("D:\New\Maison_Ikkoku 96.rmvb")
DelayAudio(0.5)

Avs是生成出来了,接着呢?难不成用virtual dub加载,再转出个AVI来?(即使是影,音都选“直接复制数据流”结果存出来的也会是avi吗?)


菜鸟一个,求教各位大大们了。谢谢

P。s。最后不要再压一遍,画质已经不怎么样了

永远的一刻,永恒的爱
级别: 新手上路
注册时间:
2005-03-16
在线时间:
0小时
发帖:
84
只看该作者 1楼 发表于: 2005-03-30
要看的话,用播放器直接打开avs文件。

要压rmvb,用rpg载入avs
级别: 精灵王
注册时间:
2002-04-29
在线时间:
320小时
发帖:
423
只看该作者 2楼 发表于: 2005-03-31
引用
最初由 比坂良 发布
要看的话,用播放器直接打开avs文件。


看了,放出来画面是大幅度的卡,大概7-8秒出一副画面吧。声音好点,隔3-4秒出4秒左右的声音。so看不下去了

原文件是可以非常正常播放的。

引用
最初由 比坂良 发布
要压rmvb,用rpg载入avs


所以才来求有没有可能不压缩来达到调整时间的目的的呀

永远的一刻,永恒的爱
级别: 骑士
注册时间:
2004-09-27
在线时间:
3小时
发帖:
1362
只看该作者 3楼 发表于: 2005-03-31
解决rmvb中声音画面不同步的问题
选用的软件是RealMedia Analyzer
运行环境为"命令提示符"
1、假定要解决的文件是bad.rmvb,因为此版本不支持rmvb,所以先改名为bad.rm
"ren bad.rmvb bad.rm"
2、分离声音和图像,用下面的命令:
"rma -s bad.rm"
得到单独的声音文件bad.000和图像文件bad.001。
3、加入时间差,全并分离的声音和图像,用下面的命令:
"rma -jq500/bad.000//bad.001/ fixed.rm"
500是参数,单位是毫秒。
可以有正负,正数适用于时间超前图像的情况,负数反之。
4、重建索引
"rma -i fixed.rm"
5、改回文件扩展名
"ren fixed.rm fixed.rmvb"

注意:
1、因为操作环境为"命令提示符",所以不要用中文文件夹名和中文文件名, 不要给自己带来不必要的麻烦。
2、建议先用rmeditor截取一个片断,先算准时间差再进行操作。

级别: 精灵王
注册时间:
2002-04-29
在线时间:
320小时
发帖:
423
只看该作者 4楼 发表于: 2005-03-31
引用
最初由 dio1888 发布
3、加入时间差,全并分离的声音和图像,用下面的命令:
"rma -jq500/bad.000//bad.001/ fixed.rm"


这句语法有错啊,一执行就像执行了/?那样。你确定是这么写的?

难道Avisynth Application Batch不能解决时间错位问题?(不用再次压缩rmvb的)

永远的一刻,永恒的爱
级别: 骑士
注册时间:
2004-09-27
在线时间:
3小时
发帖:
1362
只看该作者 5楼 发表于: 2005-03-31
rma -jq500/bad.000//bad.001/ fixed.rm

fixed.rm前面有空格的

Avisynth Application Batch能解决时间错位问题,不过前提是你的机器够强才行,不然就出现你的大幅度的卡……

级别: 精灵王
注册时间:
2002-04-29
在线时间:
320小时
发帖:
423
只看该作者 6楼 发表于: 2005-03-31
引用
最初由 dio1888 发布
rma -jq500/bad.000//bad.001/ fixed.rm

fixed.rm前面有空格的


抱歉,果然是有空格,我看漏了。这个工具不错,简单的问题能解决了,可是复杂点的还是要靠Avisynth Application Batch吧

引用
最初由 dio1888 发布Avisynth Application Batch能解决时间错位问题,不过前提是你的机器够强才行,不然就出现你的大幅度的卡……



能不能告诉我怎么用Avisynth Application Batch解决呢,我今年暑假电脑就能升级了,那时问不如现在问个清楚。

多谢了。

永远的一刻,永恒的爱
级别: 骑士
注册时间:
2004-09-27
在线时间:
3小时
发帖:
1362
只看该作者 7楼 发表于: 2005-03-31
Avisynth Application Batch的使用你可以直接询问weilai,毕竟他现在当了这里的版主,有权利就有责任了,找他麻烦不用客气^^

PS:说起Avisynth Application Batch,就让我想起与weilai兄结识时的经过,当时他在花园招人编译简体中文版,我是第一个报名^^

级别: 精灵王
注册时间:
2002-04-29
在线时间:
320小时
发帖:
423
只看该作者 8楼 发表于: 2005-03-31
引用
最初由 dio1888 发布
Avisynth Application Batch的使用你可以直接询问weilai,毕竟他现在当了这里的版主,有权利就有责任了,找他麻烦不用客气^^

PS:说起Avisynth Application Batch,就让我想起与weilai兄结识时的经过,当时他在花园招人编译简体中文版,我是第一个报名^^


是啊,我知道你们两个都是热心人,以前你们也帮我解惑了不少。所以特意在问题的标题上把你们做的软件名给写上了,可惜只把你引近来了。

现在只等weilai了。再次表示感谢,谢谢

永远的一刻,永恒的爱
级别: 版主
注册时间:
2002-12-02
在线时间:
0小时
发帖:
3002
只看该作者 9楼 发表于: 2005-03-31
dio1888 說的 rma.exe 已經可以解決不同步的問題
不知 rx-79兄 想用 Avisynth Application Batch 解決什麼問題? ^^||

直接播放 .avi 與用 Avisynth Application Batch 播放大概差了近2倍的 CPU Usage
所以如前言機器不夠力最好不要用來當播放用

當初是因為剛接觸 .avs 一時興起做的(因為 avs沒有 GUI介面)
目前拿來當壓製用 .avs腳本也不錯用

要移動 視訊音訊時差 只要填 影音延遲時間就好了

级别: 精灵王
注册时间:
2002-04-29
在线时间:
320小时
发帖:
423
只看该作者 10楼 发表于: 2005-03-31
引用
最初由 weilai 发布
dio1888 說的 rma.exe 已經可以解決不同步的問題
不知 rx-79兄 想用 Avisynth Application Batch 解決什麼問題? ^^||


同样是想用Avisynth Application Batch 来解决即使不重新压缩RMVB,也能把影,音错位的问题纠正。
想得到的结果是:重新产生一个影音不错位的文件(不是再压缩得来),而不是:已经错位源文件+某种方法(如avs)=播放上纠正了,但实际源文件没有任何改变。

突然想到:难道大家一般说的这类方法是说:只要播放不错位就行了,而不是重新生成一个不错位的RmVB?(就像RMA一样,重新生成,但不是重新压缩得来)

引用
最初由 weilai 发布
直接播放 .avi 與用 Avisynth Application Batch 播放大概差了近2倍的 CPU Usage


我怎么没看见Avisynth Application Batch 上有播放或者预览的按钮?

引用
最初由 weilai 发布
當初是因為剛接觸 .avs 一時興起做的(因為 avs沒有 GUI介面)
目前拿來當壓製用 .avs腳本也不錯用

要移動 視訊音訊時差 只要填 影音延遲時間就好了


我就是在问:在填了影音延遲后,如图:



也看见生成这段了:

File_Path = "D:\New\"
File_Name = "Maison_Ikkoku 96.rmvb"
Audio_Style = ""
Audio_Name = ""
Subtitle_Style = ""
Subtitle_Sync_Video = True
Video_Audio_Mux_volume = 0

Frame_rate = 0
Play_Speed = 1

Delay_Time = 0.5
Offset_Start_Time = "00:00:00"

接下来干什么?是不是还是要把上面这段贴进记事本,然后再存成AVS文件,然后用virtualdub或者RPG,HPP来挂,结果要得到一个无错位的文件还是要再次压缩咯。结果非再压缩方式产生新的无错位的影音文件的只有RMA了,是吧。SO Avisynth Application Batch只是AVS编辑生成器?本身并不做任何实际的工作,是吗?

永远的一刻,永恒的爱
级别: 版主
注册时间:
2002-12-02
在线时间:
0小时
发帖:
3002
只看该作者 11楼 发表于: 2005-04-01
avs 沒改變文件所以當然是
已经错位源文件+某种方法(如avs)=播放上纠正了,但实际源文件没有任何改变

Q:突然想到:难道大家一般说的这类方法是说:只要播放不错位就行了,而不是重新生成一个不错位的RmVB?(就像RMA一样,重新生成,但不是重新压缩得来)
A:所以 rma.exe 就是一個重新對矯視訊音訊 chunk 的方式

Q:我怎么没看见Avisynth Application Batch 上有播放或者预览的按钮?
A:就是執行腳本

第三題
生成的腳本在Avisynth Application Batch 裡可以找到 play.avs
看是要重壓還是播放都是針對這個 play.avs
也可以按下 產生捷徑 往後就可以直接按所生成的 捷徑 來播放/壓製
省卻自行到 C:\Program Files\Avisynth Application Batch 下找play.avs的麻煩
說 Avisynth Application Batch只是AVS编辑生成器
不如說它是一個 Avisynth 腳本的使用 GUI介面

级别: 精灵王
注册时间:
2002-04-29
在线时间:
320小时
发帖:
423
只看该作者 12楼 发表于: 2005-04-01
哦,我明白了,谢谢weilian了

问题1。
不过用你的AAB产生的AVS脚本怎么有很大一段,但是用RPG产生的AVS就只有那么两行:
DirectShowSource("D:\New\Maison_Ikkoku 96.rmvb")
DelayAudio(0.5)


问题2:
play.avs里面的东西:

## Play_Work_Path : Avisynth闽冀ゅンヘ魁
Global If_FilePath_Exist_necessary_word = "\"
Global Play_Work_Path = ""
Play_Work_Path = (Play_Work_Path != "") ? Play_Work_Path + If_FilePath_Exist_necessary_word : Play_Work_Path
Import(Play_Work_Path + "Avisynth_Constant.txt")
Global Nop = Import(Play_Work_Path + "All_Function.avs")
Import(Play_Work_Path + "File_info.txt")
Import(Play_Work_Path + "Loop_Trim_info.txt")

Global PlayClip = Import(Play_Work_Path + "sync.avs")
PlayClip = (NewFile_Frame_rate == 0) ? PlayClip : Script_Loop(PlayClip, "Multi_Delay", 1).ChangeFPS(NewFile_Frame_rate)

A =
\ (Video_Audio_Mux_volume != 0) ?
\ GetAudio(PlayClip, File_Path, File_Name, Audio_Name) : NOP
sClip =
\ (Video_Audio_Mux_volume != 0) ? AudioDub(NullClip(PlayClip),A) :
\ NOP

Video_Audio_Mux_volume =
\ (Video_Audio_Mux_volume >= 100)? 1.1 :
\ ((Video_Audio_Mux_volume <= 0)? 0 :
\ (1+(Video_Audio_Mux_volume/1000.0)))
PlayClip =
\ (Video_Audio_Mux_volume != 0) ?
\ AudioChannelIsTwo(PlayClip, "1,2", sClip, "1,2", Video_Audio_Mux_volume).trim(0, PlayClip.Framecount) :
\ PlayClip

## 砞璸filterㄧ计
ExPlay = Import(Play_Work_Path + "Self_Plugin_Filters.avs")
return (IsClip(ExPlay) ? ExPlay : PlayClip)


你AAb软件下半部出现的脚本:
File_Path = "D:\New\"
File_Name = "Maison_Ikkoku 96.rmvb"
Audio_Style = ""
Audio_Name = ""
Subtitle_Style = ""
Subtitle_Sync_Video = True
Video_Audio_Mux_volume = 0

Frame_rate = 0
Play_Speed = 1

Delay_Time = 0.5
Offset_Start_Time = "00:00:00"


这两者有什么区别,play.avs是用来播放压缩的话,那你AAb软件下半部出现的这个脚本是干什么用的?和play.avs里的明显不一样啊


问题3
AAB里面菜单里的传送是干什么用的?


谢谢

永远的一刻,永恒的爱
级别: 版主
注册时间:
2002-12-02
在线时间:
0小时
发帖:
3002
只看该作者 13楼 发表于: 2005-04-01
整個 AAB 結構說來話長 (個人花了一個多月研究出的技巧,目前還沒看過類似的使用技巧)

问题3 指的 "AAB里面菜单里的传送"
不知是哪一個按鈕 ? (沒有 [传送] 啊)

DelayAudio這個filter在之前版本的AVS有一個缺陷,新版個人就不知有無修正
所以捨棄使用DelayAudio來延遲/早送音訊

play.avs 只是個啟始腳本
因為當初的設計預留一些功能擴充
所以引用了很多 .avs
至於 AAB 下方的內容
每項都相對應 GUI各欄位的內容,並非 AVS執行腳本(應歸類於參數)

可以經由AAB做到

功能:
.可做分割編輯影音的應用(亦可針對各片段做影/音延遲修正,這個不是簡簡單單能凭三言兩句腳本文字辦得到的)
.可做整體的 影/音延遲修正
.隨意組合 視訊、音訊、字幕等(音訊播放: AVS不能開純音訊的檔案,AAB利用特殊的技巧辦到)
.播放速度、框架率的操控
.可達到後期的Avisynth功能加載
.不論是載入至壓製或播放軟體皆可達到90%以上之無誤操作
.結合至 "Windows檔案總管" 可使用 "滑鼠右鍵->傳送到->Mplayerc For Avisynth" 做開啟動作
.視窗操作介面之 "由...開啟腳本" 加入壓製之關連,可將腳本直接送往
VirtualDubMod、VirtualDub、RealProducer 而啟動壓製之,
RealProducer是调用producer.exe(DOS 提示字元之指令介面程式,可於RealProducer Plus目錄下發現)

繼承了以下特性/功能:
.RM、RMVB、AVI、MKV影音不同步解套(非重製式方法)
.簡單教學(2)-用VirtualDub開啟 rm/rmvb
.影音剪輯及延時校正(AVS腳本)
.120fps的avi壓制
.RM RMVB外掛字幕法

如果網友能看的懂
相信 AVS 的寫作技巧 95%以上都難不倒你
只是個人對特校filter的使用不在行,所以再次強调純就 "AVS 的寫作技巧" 而非 "filter的使用"

级别: 精灵王
注册时间:
2002-04-29
在线时间:
320小时
发帖:
423
只看该作者 14楼 发表于: 2005-04-01
恩,了解。早知道是一很强的软件了,所以过来提问,想一窥全貌。



就是这个档案菜单里的“传送...”不知道什么用处。点了也没有什么反应.

永远的一刻,永恒的爱
快速回复

限150 字节
上一个 下一个