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

[求助]使用AVS播放WMV9动画的问题

楼层直达
级别: 侠客
注册时间:
2003-08-28
在线时间:
0小时
发帖:
300
我有一个动画,是用WMV9编码的,我用播放器可以直接放,只是由于是120FPS的,所以需要编写AVS脚本来压缩,可是无法用AVS脚本来播放,只能听到声音,没有图像,是需要有插件吗?
脚本文件如下:
AVISource("[POPGO][Last_Exile][DVDrip]05.avi").ChangeFPS(59.94)

我把FPS改为24,30也都没用,盼解答,谢谢~~
级别: 新手上路
注册时间:
2004-04-24
在线时间:
0小时
发帖:
132
只看该作者 15楼 发表于: 2004-07-11
正如`堕天地狱`所以说`
写分开音频来是为了避免VBR.MP3做成音视频不同步`
其实可以用`一句 EnsureVBRMP3Sync 来解决的`
至于用ChangeFPS还是`selectevery``看个人喜欢的``
我个人觉得用这2个都没多大的差别``(本人笨笨分辨不了有多大的差别)
级别: 骑士
注册时间:
2003-08-12
在线时间:
1小时
发帖:
957
只看该作者 14楼 发表于: 2004-07-11
skyccy 那種方法是針對120fps 外加音頻是vbr mp3的
级别: 工作组
注册时间:
2003-08-26
在线时间:
13小时
发帖:
6600
只看该作者 13楼 发表于: 2004-07-11
@skyccy
与其用那种方法,不如分开压视频和音频,然后用rma -j和-i来合并呢。

@skywalker
两个fps不同的片子组合?那只有可能是特效吧。如果仅仅为了接一个特效的话,那么可以用assumefps
其中,主篇用selectevery降到24以后,把特效段用assumefps将帧率改成一样,然后分别trim接合。虽然可能会出现0~1帧的帧偏移,但是至少不会不均衡删帧的现象……
PS:反正我从来没碰到过这种情况,再说楼主那种情况肯定用selectevery要合算得多。

催片请点此处: http://bbs.popgo.org/bbs/read.php?tid=502402&displayMode=1#19103164
级别: 版主
注册时间:
2001-11-21
在线时间:
0小时
发帖:
2803
只看该作者 12楼 发表于: 2004-07-10
引用
最初由 MeteorRain 发布
没有好。相反的,在这种情况下,容易出现不均衡删帧的情况
例如如果是/5出来是23.97602fps,那么用changefps(23.976)就容易出现多删帧的情况(强制到23.97600)
changefps只有在合并两个fps不同的流对象的时候用才比较恰当。
另外,我也有用warpsharp的auto24fps,可以用来转24fps


一般来说120fps的片子是由两个fps不同的片子组合起来的, 这时候只用一selectevery()就不太合适了, changefps()虽然不是最好的办法, 但是却是最省力的办法............

live id: liusu119@hotmail.com
email: liusu119@gmail.com
级别: 新手上路
注册时间:
2004-04-24
在线时间:
0小时
发帖:
132
只看该作者 11楼 发表于: 2004-07-10
我压了一个``纯情房东俏房客`情况一样`你装好WMV9插件以后按下面脚本写就一定没错的了`不会不同步`
LoadPlugin("VSFilter.dll")
filename="[POPGO][FREEWIND][LOVE_HINA][DVDRIP][WMV9_MP3][01].avi"
v=AVISource(filename,audio=false).ChangeFPS(23.976)
a=DirectShowSource(filename,video=false)
AudioDub(v,a)
textsub("XXX.ssa")
textsub("POPGO][FREEWIND][LOVE_HINA][DVDRIP][WMV9_MP3][01].scv2.ssa")
级别: 工作组
注册时间:
2003-08-26
在线时间:
13小时
发帖:
6600
只看该作者 10楼 发表于: 2004-07-09
引用
而changefps(23.976)的画质应该比selectevery(5,0)的好
没有好。相反的,在这种情况下,容易出现不均衡删帧的情况
例如如果是/5出来是23.97602fps,那么用changefps(23.976)就容易出现多删帧的情况(强制到23.97600)
changefps只有在合并两个fps不同的流对象的时候用才比较恰当。
另外,我也有用warpsharp的auto24fps,可以用来转24fps

催片请点此处: http://bbs.popgo.org/bbs/read.php?tid=502402&displayMode=1#19103164
级别: 侠客
注册时间:
2003-08-28
在线时间:
0小时
发帖:
300
只看该作者 9楼 发表于: 2004-07-09
引用
最初由 MeteorRain 发布
audiodub 合并视频流和音频流对象为一个视频音频流对象。
.selectevery(5,0)就是每5帧里抽出第1帧。
.changefps(23.976)则需要进行复杂一些的运算,算出一个能保证fps为23.976的抽帧方案来(例如xxxxxx帧里抽出23976帧……)
因为两个函数的算法复杂度不同,因此耗用的计算时间也完全不同。selectevery只要负责抽1帧等4帧再抽1帧再等4帧就行了,而changefps还要进行方案设计……


多谢解答

这样看来的话,压缩时selectevery(5,0)的速度应该比changefps(23.976)快,而changefps(23.976)的画质应该比selectevery(5,0)的好

我压缩时用的是changefps(59.94)
级别: 工作组
注册时间:
2003-08-26
在线时间:
13小时
发帖:
6600
只看该作者 8楼 发表于: 2004-07-09
audiodub 合并视频流和音频流对象为一个视频音频流对象。
.selectevery(5,0)就是每5帧里抽出第1帧。
.changefps(23.976)则需要进行复杂一些的运算,算出一个能保证fps为23.976的抽帧方案来(例如xxxxxx帧里抽出23976帧……)
因为两个函数的算法复杂度不同,因此耗用的计算时间也完全不同。selectevery只要负责抽1帧等4帧再抽1帧再等4帧就行了,而changefps还要进行方案设计……

催片请点此处: http://bbs.popgo.org/bbs/read.php?tid=502402&displayMode=1#19103164
级别: 侠客
注册时间:
2003-08-28
在线时间:
0小时
发帖:
300
只看该作者 7楼 发表于: 2004-07-09
引用
最初由 MeteorRain 发布
ywwq的方法感觉不是很好,速度会比较慢。
用wmv9vcm驱动肯定是王道。安装好以后只要
avisource("xxx.avi")就可以导入了。
另外,个人觉得用.selectevery(5,0)要比.changefps(23.976)要好。


wmv9vcm的驱动我装了N便也没用,难道我RP有WT?
ywwq的方法确实比较慢,24分钟的动画压了1个小时,别的动画只需45分钟

selectevery(5,0)和changefps(23.976)有什么区别,audiodub()这个函数是什么意思?盼解答
级别: 工作组
注册时间:
2003-08-26
在线时间:
13小时
发帖:
6600
只看该作者 6楼 发表于: 2004-07-09
ywwq的方法感觉不是很好,速度会比较慢。
用wmv9vcm驱动肯定是王道。安装好以后只要
avisource("xxx.avi")就可以导入了。
另外,个人觉得用.selectevery(5,0)要比.changefps(23.976)要好。

催片请点此处: http://bbs.popgo.org/bbs/read.php?tid=502402&displayMode=1#19103164
级别: 侠客
注册时间:
2003-08-28
在线时间:
0小时
发帖:
300
只看该作者 5楼 发表于: 2004-07-09
引用
最初由 ywwq 发布
avs这样写:
v=avisource("[POPGO][Last_Exile][DVDrip]05(6D3F3066).avi",false).changefPS(23.976)
a=directshowsource("[POPGO][Last_Exile][DVDrip]05(6D3F3066).avi")
audiodub(v,a)


大感激~:D 这样写果然就可以了
可以说一下原理吗?AVS这东西还真是复杂啊~~
级别: 骑士
注册时间:
2003-08-12
在线时间:
1小时
发帖:
957
只看该作者 4楼 发表于: 2004-07-09
重裝一下wmv9vcm解碼器
级别: 风云使者
注册时间:
2003-05-04
在线时间:
1小时
发帖:
6095
只看该作者 3楼 发表于: 2004-07-09
avs这样写:
v=avisource("[POPGO][Last_Exile][DVDrip]05(6D3F3066).avi",false).changefPS(23.976)
a=directshowsource("[POPGO][Last_Exile][DVDrip]05(6D3F3066).avi")
audiodub(v,a)
级别: 侠客
注册时间:
2003-08-28
在线时间:
0小时
发帖:
300
只看该作者 2楼 发表于: 2004-07-09
用directshowsource()虽然可以放,但是有很多问题
120变30的话,时间会增长4倍,影音也不同步
直接用120的话,又会严重掉帧
快速回复

限150 字节
上一个 下一个