我有很多AviSynth 脚本 (.avs)它创建了文本图片和视频的蒙太奇,但直到昨天我还没有在“wine”中运行 AviSynth 脚本。
我读到了一个名为“Windows”的程序AVS2YUV其中,根据葡萄酒总部, 是铂并且“旨在在 Wine 下用于 Avisynth 和基于 Linux 的视频工具之间的接口”。
我有过部分的成功与几个很简单脚本,但“部分”意味着我不知道如何正确使用它,或者 AviSynth-Avs2YUV 组合无法正常工作(或两者)。
下面是 2 个脚本:
第一个仅输出和保存视频(按预期),但我想知道是否可以将 Avs2YUV 的标准输出直接传输到 Linux 媒体播放器中...我尝试了一些选项,但似乎没有任何作用。另一方面,保存的 .264 文件确实可以播放,因此 AviSynth 和 Avs2YUV 正在这里做一些事情。 (快速发布前编辑:我刚刚纠正了一个拼写错误,我把 .avi 而不是 .264,我意识到我真的不知道 x264 是做什么的(我已经习惯了 avi 编码,但我有这种感觉,它可能是纯视频编码器??? ...所以我现在提一下,我对x246没有特别兴趣..这是我遵循的示例..我只想生成一个可播放的视频+音频..包装器和编解码器对我来说并不是特别重要..我对 avi 很满意..实际上我更喜欢它,因为它与 AviSynth 配合得很好..Catch-22...
第二个的行为与第一个非常相似,但它不产生音频;这是应该的。
AviSynth 脚本众所周知,并且许多玩家可以直接播放(在 Windows 中),但是由于需要使用 Avs2YUY,我有点处于未知领域......
我很感激关于这两个问题的一些指示,也许除了与 Avs2YUV 结合使用之外,在 wine 中使用 AviSynth 还有一种完全不同的方式……或者在 Linux 中使用 AviSynth 的想法只是一个神话?
以下是脚本:
# Script-1: The saved file plays fine (the source has no audio),
# but how can I play it directly
#
cd $HOME/.wine/drive_c
echo 'version()' > version.avs
wine avs2yuv.exe version.avs - \
| x264 --stdin y4m --output version.264 -
mplayer version.264
#
# Script-2: The saved file has no audio, but it should.
# ...and like Script-1, how can I play it directly
cd $HOME/.wine/drive_c
echo 'avisource("video.avi")' > video.avs
wine avs2yuv.exe video.avs - \
| x264 --stdin y4m --output video.264 -
mplayer video.264
答案1
我找到了一个合理的工作解决方案,允许在 AviSynth 脚本的(正常)单次传递中处理音频和视频......
它有一些限制,例如不能很好地处理 DirectShowSource()...DirectShowSource 很方便,因为它自动检测视频/音频的类型,但通常还有其他方法可以解决这个问题。
我做了一些小测试,它渲染了两个文本面板的蒙太奇(使用 unicode 中的 .AAS 字幕格式)和另一个带字幕图片的面板。它似乎可以毫无问题地处理简单的视频...我不得不调整一些小事情,但它似乎是可以管理的...它的功能确实足够,我将继续使用它,以发现它的怪癖:)
两者avsproxy
都有avidemux2
CLI 和 GUI 界面...如果我能让 CLI 协同工作,那么我就非常接近让 AviSynth 直接在媒体播放器中播放... avidemux2
可以设置为“复制”,并且结果视频输出可以直接传送到播放器(希望如此)...看起来不错...
答案2
我刚刚问了自己(和谷歌)同样的问题(如何直接播放 avisynth 的输出而不先经过编码过程),谷歌提出的是这个漂亮的包装器,它有一个内置的例程:
http://jeanbruenn.info/2010/12/24/avisynth-and-linux/
(你必须向下滚动一点)