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

[求助]求教关于拿到AVI容器以外的片源的处理问题

楼层直达
级别: 新手上路
注册时间:
2005-03-20
在线时间:
0小时
发帖:
14
假如片源为MKV或者WMV更甚至RMVB(RMVB除非必要一般不用),该如何处理?我试过用VDM处理,不过MKV用VDM处理麻烦,WMV更离谱,VDM因为版权保护。。。不接受WMV格式,MKV尝试用MKVextractGUI处理,虽然麻烦一点,但是。。应该能比较迅速的转为AVI进行处理,音频我分出来的为OGG音频,MKV似乎分离出来的都是OGG?但是WMV我就迷茫了,用软件转为AVI,比如视频转换大师,转换后效果不理想,我里面设置的是XVID编码,23.976FPS,640×480分辨率,用DIRECTSHOW读取吧感觉这个音频不分离出来不太放心,有时候会出现影音不同步,虽然用音频软件可以分离,但是如果这么麻烦我倒还是愿意直接用DIRECTSHOW去读,以上说的问题都可以解决,尽管方法比较笨:p 不过这个LOGO就麻烦了,关键祯怎么取?VDM不认WMV呀:( 请高手指导一下,先谢过:D
级别: 工作组
注册时间:
2003-08-26
在线时间:
13小时
发帖:
6600
只看该作者 20楼 发表于: 2005-08-16

催片请点此处: http://bbs.popgo.org/bbs/read.php?tid=502402&displayMode=1#19103164
级别: 新手上路
注册时间:
2005-03-20
在线时间:
0小时
发帖:
14
只看该作者 19楼 发表于: 2005-08-16
是严重偏题了。。能否麻烦你帮忙搞定一下。。苦恼中呢:D
级别: 新手上路
注册时间:
2005-03-20
在线时间:
0小时
发帖:
14
只看该作者 18楼 发表于: 2005-08-16
引用
最初由 MeteorRain 发布
v1 = c.trim(0, mid - 1).textsub("..\gene\megamiop.ass").textsub("..\gene\megamiop.logo.ass")『在C视频截取(0,MID-1)这一段加在字幕文件megamiop.ass,\megamiop.logo.ass,前面的..指路径』
..\是指上级目录……

1、这里的MID应该是特效开始前的第一帧
2、这里的ED应该是特效结束后的第一帧
3、megamiop.logo.ass是LOGO特效(废话,人家在里面打上了LOGO4字),megamied.ass这个到底是什么呢,我判断不了,不过很想知道呵呵,脑子里有很多种假设,就不写上去了
op是片头卡拉OK,logo是logo本身,还有24小时警告
MID是中隔的特效。自己去看看女神的中隔就知道了
ED……………………别和我说你连ED两个字都判断不了……orz


<加载文件>『应该是一些滤镜用到的.DLL动态链接库文件』
<前期处理>『对片源进行处理,挂上字幕,挂滤镜去噪等等』
加载文件是mpeg2source()
前期处理是做ivtc crop和resize
我记得和你说过我做的是dvdrip,所以肯定不会在这里挂字幕LOL


loadtx(18414, 32249)『调用AVS里面写好的脚本,对(18414,32249)这一段进行处理,18414以及32248也就是LOADTX.AVS里面的那两个0,一前一后』
不是。这两个是参数。c是指处理的对象片断。这里没有指定,所以是last。
另外两个参数mid和ed就是来自这里的两个参数值。以便确定中隔和片尾的具体帧号。



函数加载特效我1年多前就在用了,用到现在…………

我不知道你是DVDRIP的,我把你的当成TVRIP的话,应该就是这么解释的,DVDRIP我还在研究理论ING。。ED是片尾曲,OP片头曲我还是知道的,MID不知道,不过说了这么说那个WMV的问题还是没搞定YE,我刚开始学压制,应该是这个暑假的事了,目前很多字幕组的教程我都看过了,没有函数一说。。E文不是很好,官方网站找些程序还凑合。。去看E文教程还是等E文进步点再说吧,硬啃会“牙齿”受不了
级别: 工作组
注册时间:
2003-08-26
在线时间:
13小时
发帖:
6600
只看该作者 17楼 发表于: 2005-08-16
另外,这贴严重PT了

催片请点此处: http://bbs.popgo.org/bbs/read.php?tid=502402&displayMode=1#19103164
级别: 工作组
注册时间:
2003-08-26
在线时间:
13小时
发帖:
6600
只看该作者 16楼 发表于: 2005-08-16
v1 = c.trim(0, mid - 1).textsub("..\gene\megamiop.ass").textsub("..\gene\megamiop.logo.ass")『在C视频截取(0,MID-1)这一段加在字幕文件megamiop.ass,\megamiop.logo.ass,前面的..指路径』
..\是指上级目录……

1、这里的MID应该是特效开始前的第一帧
2、这里的ED应该是特效结束后的第一帧
3、megamiop.logo.ass是LOGO特效(废话,人家在里面打上了LOGO4字),megamied.ass这个到底是什么呢,我判断不了,不过很想知道呵呵,脑子里有很多种假设,就不写上去了
op是片头卡拉OK,logo是logo本身,还有24小时警告
MID是中隔的特效。自己去看看女神的中隔就知道了
ED……………………别和我说你连ED两个字都判断不了……orz


<加载文件>『应该是一些滤镜用到的.DLL动态链接库文件』
<前期处理>『对片源进行处理,挂上字幕,挂滤镜去噪等等』
加载文件是mpeg2source()
前期处理是做ivtc crop和resize
我记得和你说过我做的是dvdrip,所以肯定不会在这里挂字幕LOL


loadtx(18414, 32249)『调用AVS里面写好的脚本,对(18414,32249)这一段进行处理,18414以及32248也就是LOADTX.AVS里面的那两个0,一前一后』
不是。这两个是参数。c是指处理的对象片断。这里没有指定,所以是last。
另外两个参数mid和ed就是来自这里的两个参数值。以便确定中隔和片尾的具体帧号。



函数加载特效我1年多前就在用了,用到现在…………

催片请点此处: http://bbs.popgo.org/bbs/read.php?tid=502402&displayMode=1#19103164
级别: 新手上路
注册时间:
2005-03-20
在线时间:
0小时
发帖:
14
只看该作者 15楼 发表于: 2005-08-16
引用
最初由 MeteorRain 发布
给你看个我压女神的特效挂载文件好了。

多简单…………

编程,和数学一样,是一种艺术…………
用得好,做出来的东西漂亮,又简洁……

呵呵,漫游果然人才济济,第一次见到建立AVS函数来达到加在特效的,受教了呵呵
:D 我在这里解释一下你的脚本的意思,方便不懂的朋友,不正确的地方请更正
『』内的是说明文字

引用

loadtx.avs『建立的AVS文件名』
function loadtx(clip c, int mid, int ed)『C是指主AVS里调用LOADTX截取的那一段』
{
loadplugin("g:\vsfilter.dll")『加在字幕插件』
v1 = c.trim(0, mid - 1).textsub("..\gene\megamiop.ass").textsub("..\gene\megamiop.logo.ass")『在C视频截取(0,MID-1)这一段加在字幕文件megamiop.ass,\megamiop.logo.ass,前面的..指路径』
v2 = c.trim(mid, ed - 1).textsub("..\gene\megamimid.ass")『在C视频中截取(MID,ED-1)这一段,挂载字幕文件megamimid.ass』
v3 = c.trim(ed, 0).textsub("..\gene\megamied.ass")『在C视频中截取ED到末尾的视频,加在字幕megamied.ass』
return v1+v2+v3『处理后的视频文件V1,V2,V3按V1,V2,V3的顺序合并』
PS:
1、这里的MID应该是特效开始前的第一帧
2、这里的ED应该是特效结束后的第一帧
3、megamiop.logo.ass是LOGO特效(废话,人家在里面打上了LOGO4字),megamied.ass这个到底是什么呢,我判断不了,不过很想知道呵呵,脑子里有很多种假设,就不写上去了:D

引用

03\main.avs『主AVS文件名及其路径』
<加载文件>『应该是一些滤镜用到的.DLL动态链接库文件』
<前期处理>『对片源进行处理,挂上字幕,挂滤镜去噪等等』
import("..\loadtx.avs")『加载前面写好的AVS』
loadtx(18414, 32249)『调用AVS里面写好的脚本,对(18414,32249)这一段进行处理,18414以及32248也就是LOADTX.AVS里面的那两个0,一前一后』
级别: 工作组
注册时间:
2003-08-26
在线时间:
13小时
发帖:
6600
只看该作者 14楼 发表于: 2005-08-16
给你看个我压女神的特效挂载文件好了。
引用
loadtx.avs
function loadtx(clip c, int mid, int ed)
{
loadplugin("g:\vsfilter.dll")
v1 = c.trim(0, mid - 1).textsub("..\gene\megamiop.ass").textsub("..\gene\megamiop.logo.ass")
v2 = c.trim(mid, ed - 1).textsub("..\gene\megamimid.ass")
v3 = c.trim(ed, 0).textsub("..\gene\megamied.ass")
return v1+v2+v3
}
引用
03\main.avs
<加载文件>
<前期处理>
import("..\loadtx.avs")
loadtx(18414, 32249)

多简单…………

编程,和数学一样,是一种艺术…………
用得好,做出来的东西漂亮,又简洁……

催片请点此处: http://bbs.popgo.org/bbs/read.php?tid=502402&displayMode=1#19103164
级别: 新手上路
注册时间:
2005-03-20
在线时间:
0小时
发帖:
14
只看该作者 13楼 发表于: 2005-08-16
引用
最初由 MeteorRain 发布

1、你说的logo,我们没有人会理解成AE做的特效。用熟VDM的人都知道VDM里有logo滤镜。
2、ass的特效每次用subresync调是自己没事找事做。写一个函数,用trim截出一小段,挂ass特效,再合并回去。然后把这个函数存在avs里。以后压片子的时候,每次都import这个avs,然后调用函数,填上关键帧地址就可以了,快捷高效。绝对不会因为0.042s以内的误差而出现瑕疵--除非源就有问题。
3、这个dss是新版里准备加上的功能。是一日本神样修改的。能因为片源的fps的改变而自动加上或者删去帧,使片子自动同步。关于这个问题,avs官方网站的wiki上有专题(VFR MKV的处理部分)
4、关键帧可以用图片对比。不一定要死吊在key frame这一棵树上。要是这样,压dvdrip怎么办?你敢拿vdm直接开vob么?LOL

后PS一个:AE也是可以不带背景输出的。这样输出以后,可以用layer函数覆盖在主画面上。只要特效上没有做明显的透明,就可以这样做。而且效果很好。另外,公认的是AE特效比ass特效难搞。特别是做dvdrip的时候,你会恨死ae特效的……

1。关于你说的第二点能否写个AVS实例?其实我觉得找一个高清晰的RAW截取出来加上特效就可以了,假定是TVRIP
2。关于你说的关键帧用图片对比,这样很容易产生偏差,不是动画的问题,而是用AVS加在WMV之后,看到的每一帧都是关键帧,差一帧,在源文件上的帧就不是关键帧了,在AVS里面图像的变化极其微小,不容易判断,虽然不用关键帧也可以,但是这样到了连接点会感觉播放速度明显减慢,我看到的是这样的效果,虽然效果影响不大,但是对看的人来说,看动画的兴致会有很大的波动,正像你在天空下晴空万里,来了几秒钟的乌云然后又消失了。。。
PS:VDM我主要还是用来RECODE的,至于滤镜在AVS里就挂上的好。。纯属个人观点呵呵,对于特效,如果是图片的话我还是比较喜欢写AVS挂呵呵
级别: 工作组
注册时间:
2003-08-26
在线时间:
13小时
发帖:
6600
只看该作者 12楼 发表于: 2005-08-16
引用
最初由 kira_ms_freedom 发布

LOGO没用过么,难道你拿到的都是ASS做的LOGO?AE 做的LOGO最终出来就是一段AVI,而合并AVI就要取关键祯来合并,结果不用我说了吧,如果不知道自己试着合并一下就知道了,我对你的“不明白什么加LOGO关键帧什么的,你需要在每个关键帧手动加一个logo么? ”很是不解,LOGO都不知道么,再者,ASS特效的LOGO也要看片子情况来的,如果片子LOGO前面的长度每集都不一样的话,那就很有必要弄一个高清晰的片断事先把LOGO加进去,压的时候合并就是了,去调原先做好的准确时间是很不理智的,一个不好,很小的时间差都会让效果变味
PS:不过这个DIRECTSHOWSOURCE还真没去研究它,我很少碰到AVI以外的格式,最近的事了,不过也算受教了,呵呵,对于这个CONVERFPS确实我没用过,而且似乎没有用,参数里面可以这样directshowsource("***.***",fps,audio=ture/false),不改变FPS的话里面的FPS那里不要填就是了,当然音频也类似,不关闭音频的话,省掉就是了,默认设定是源文件的FPS,打开音频

1、你说的logo,我们没有人会理解成AE做的特效。用熟VDM的人都知道VDM里有logo滤镜。
2、ass的特效每次用subresync调是自己没事找事做。写一个函数,用trim截出一小段,挂ass特效,再合并回去。然后把这个函数存在avs里。以后压片子的时候,每次都import这个avs,然后调用函数,填上关键帧地址就可以了,快捷高效。绝对不会因为0.042s以内的误差而出现瑕疵--除非源就有问题。
3、这个dss是新版里准备加上的功能。是一日本神样修改的。能因为片源的fps的改变而自动加上或者删去帧,使片子自动同步。关于这个问题,avs官方网站的wiki上有专题(VFR MKV的处理部分)
4、关键帧可以用图片对比。不一定要死吊在key frame这一棵树上。要是这样,压dvdrip怎么办?你敢拿vdm直接开vob么?LOL

后PS一个:AE也是可以不带背景输出的。这样输出以后,可以用layer函数覆盖在主画面上。只要特效上没有做明显的透明,就可以这样做。而且效果很好。另外,公认的是AE特效比ass特效难搞。特别是做dvdrip的时候,你会恨死ae特效的……

催片请点此处: http://bbs.popgo.org/bbs/read.php?tid=502402&displayMode=1#19103164
级别: 新手上路
注册时间:
2005-03-20
在线时间:
0小时
发帖:
14
只看该作者 11楼 发表于: 2005-08-16
引用
最初由 MeteorRain 发布
哈是啊。
如果只是要对齐关键帧加的话,你不会自己在vdm里拖,拖到找到关键帧的地方再加么……

AVS加在都是关键帧。。无法判断源文件的关键帧位置:( 因为VDM不认WMV。。。受MICROSOFT淫威之下。。。
级别: 新手上路
注册时间:
2005-03-20
在线时间:
0小时
发帖:
14
只看该作者 10楼 发表于: 2005-08-16
引用
最初由 曾半仙 发布
你那是函数,他那是参数,2码事.
DirectShowSource("xxxxx",convertFPS=true,fps=xxxx,audio=true)
VDM压片不需要加声音,那个流程不厚道的.
不明白什么加LOGO关键帧什么的,你需要在每个关键帧手动加一个logo么?

LOGO没用过么,难道你拿到的都是ASS做的LOGO?AE 做的LOGO最终出来就是一段AVI,而合并AVI就要取关键祯来合并,结果不用我说了吧,如果不知道自己试着合并一下就知道了,我对你的“不明白什么加LOGO关键帧什么的,你需要在每个关键帧手动加一个logo么? ”很是不解,LOGO都不知道么,再者,ASS特效的LOGO也要看片子情况来的,如果片子LOGO前面的长度每集都不一样的话,那就很有必要弄一个高清晰的片断事先把LOGO加进去,压的时候合并就是了,去调原先做好的准确时间是很不理智的,一个不好,很小的时间差都会让效果变味
PS:不过这个DIRECTSHOWSOURCE还真没去研究它,我很少碰到AVI以外的格式,最近的事了,不过也算受教了,呵呵,对于这个CONVERFPS确实我没用过,而且似乎没有用,参数里面可以这样directshowsource("***.***",fps,audio=ture/false),不改变FPS的话里面的FPS那里不要填就是了,当然音频也类似,不关闭音频的话,省掉就是了,默认设定是源文件的FPS,打开音频
级别: 工作组
注册时间:
2003-08-26
在线时间:
13小时
发帖:
6600
只看该作者 9楼 发表于: 2005-08-16
哈是啊。
如果只是要对齐关键帧加的话,你不会自己在vdm里拖,拖到找到关键帧的地方再加么……

催片请点此处: http://bbs.popgo.org/bbs/read.php?tid=502402&displayMode=1#19103164
级别: 骑士
注册时间:
2004-08-24
在线时间:
0小时
发帖:
852
只看该作者 8楼 发表于: 2005-08-16
你那是函数,他那是参数,2码事.
DirectShowSource("xxxxx",convertFPS=true,fps=xxxx,audio=true)
VDM压片不需要加声音,那个流程不厚道的.
不明白什么加LOGO关键帧什么的,你需要在每个关键帧手动加一个logo么?

[Hammer]azsd

弱字节3千,唔取1k
级别: 新手上路
注册时间:
2005-03-20
在线时间:
0小时
发帖:
14
只看该作者 7楼 发表于: 2005-08-16
想到一个笨方法,DIRECTSHOW读取片源,1PASS压制成AVI,然后挂LOGO,1PASS是一次全质量运算,画质比起2PASS似乎更好,不过还是要废一段较长的时间,希望高手能给出更好的方案
快速回复

限150 字节
上一个 下一个