『漫游』酷论坛>『影音数码技术学习交流』>[请教]菜鸟请教。关于 ..

[请教]菜鸟请教。关于一个AVS的问题。

小小茉莉@2008-08-23 05:10

这样。。有2个视频。为A.MP4 B.MKV 我想把B.MKV其中的一个一个10秒的片段插入A.MP4(包括该段的音频)。于是我这样写了一个AVS


loadplugin("D:AvS plugins\DirectShowSource.dll")

V1 = DirectShowSource("A.mp4",fps=23.976,convertfps=true).ChangeFPS
(23.976).trim(0,5957).LanczosResize(848,480)

V2 = DirectShowSource("B.mkv",fps=23.976,convertfps=true).ChangeFPS(23.976).trim
(5656,5980).LanczosResize(848,480)

V3 = DirectShowSource("A.mp4",fps=23.976,convertfps=true).ChangeFPS
(23.976).trim(5958,0).LanczosResize(848,480)

Video = V1 + V2 + V3


单纯这样的话打开这个AVS是错误的。提示:

the scropt's return value was not a viden clip

后来我也试过把

DirectShowSource("B.mkv",fps=23.976,convertfps=true).ChangeFPS(23.976).trim
(5656,5980).LanczosResize(848,480)

这个压出来。作为单独的一个视频文件合并入A.MP4。结果同样的提示。失败。我在想是不是有一个主要的语句没写呢。。

还有就是~是不是需要吧音频都抽出来呢?单独加载呢。如果是这样的话会很麻烦。。。请教一下有什么好的解决方案。。
引用

264768502@2008-08-23 06:35

最好视频和音频分开处理吧
然后第一个AVS最后加一句
return video
试试看
还有应该不需要加convertfps=true
引用

小小茉莉@2008-08-23 06:58

谢谢264768502朋友~加了“return video”后解决。。呵呵。。真是奇怪。请问能解释一下原因吗。谢谢

另~convertfps=true应该是通过复制画面和改变速率的方法来强制改变FPS的吧。这2个默认的FPS不同。一个24 一个30的。。。不需要加么。。一般什么情况才需要用到呢?
引用

264768502@2008-08-23 07:08

我想一般都是vfr的片子压成rmvb用的吧
既然已经使用了changefps,那么convertfps=true我觉得就没有使用的必要了
引用

SAPikachu@2008-08-23 09:05

其实。。。直接
v1+v2+v3
就可以了。。。
引用

小小茉莉@2008-08-24 06:29

谢谢LS的关注。不过直接V1+V2+V3是不行了。。呵呵。加了return video才成功。。
引用

264768502@2008-08-24 06:58

LLS的意思是说
直接DirectShowSource+DirectShowSource+DirectShowSource
这样应该会成功的吧
引用

SAPikachu@2008-08-24 15:17

loadplugin("D:AvS plugins\DirectShowSource.dll")

V1 = DirectShowSource("A.mp4",fps=23.976,convertfps=true).ChangeFPS
(23.976).trim(0,5957).LanczosResize(848,480)

V2 = DirectShowSource("B.mkv",fps=23.976,convertfps=true).ChangeFPS(23.976).trim
(5656,5980).LanczosResize(848,480)

V3 = DirectShowSource("A.mp4",fps=23.976,convertfps=true).ChangeFPS
(23.976).trim(5958,0).LanczosResize(848,480)

V1 + V2 + V3

这样。。。
引用

| TOP