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

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

楼层直达
级别: 新手上路
注册时间:
2008-08-17
在线时间:
0小时
发帖:
10
这样。。有2个视频。为A.MP4B.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。结果同样的提示。失败。我在想是不是有一个主要的语句没写呢。。

还有就是~是不是需要吧音频都抽出来呢?单独加载呢。如果是这样的话会很麻烦。。。请教一下有什么好的解决方案。。
级别: 骑士
注册时间:
2007-01-31
在线时间:
62小时
发帖:
896
只看该作者 1楼 发表于: 2008-08-23
最好视频和音频分开处理吧
然后第一个AVS最后加一句
return video
试试看
还有应该不需要加convertfps=true
级别: 新手上路
注册时间:
2008-08-17
在线时间:
0小时
发帖:
10
只看该作者 2楼 发表于: 2008-08-23
谢谢264768502朋友~加了“return video”后解决。。呵呵。。真是奇怪。请问能解释一下原因吗。谢谢

另~convertfps=true应该是通过复制画面和改变速率的方法来强制改变FPS的吧。这2个默认的FPS不同。一个24 一个30的。。。不需要加么。。一般什么情况才需要用到呢?
级别: 骑士
注册时间:
2007-01-31
在线时间:
62小时
发帖:
896
只看该作者 3楼 发表于: 2008-08-23
我想一般都是vfr的片子压成rmvb用的吧
既然已经使用了changefps,那么convertfps=true我觉得就没有使用的必要了
级别: 新手上路
注册时间:
2005-04-05
在线时间:
3小时
发帖:
216
只看该作者 4楼 发表于: 2008-08-23
其实。。。直接
v1+v2+v3
就可以了。。。




级别: 新手上路
注册时间:
2008-08-17
在线时间:
0小时
发帖:
10
只看该作者 5楼 发表于: 2008-08-24
谢谢LS的关注。不过直接V1+V2+V3是不行了。。呵呵。加了return video才成功。。
级别: 骑士
注册时间:
2007-01-31
在线时间:
62小时
发帖:
896
只看该作者 6楼 发表于: 2008-08-24
LLS的意思是说
直接DirectShowSource+DirectShowSource+DirectShowSource
这样应该会成功的吧
级别: 新手上路
注册时间:
2005-04-05
在线时间:
3小时
发帖:
216
只看该作者 7楼 发表于: 2008-08-24
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

这样。。。




快速回复

限150 字节
上一个 下一个