neu*_*ont 4 video ffmpeg avconv
系统:Xubuntu 13.04 x64
我在这里的ffmpeg 中找到了此功能的用法
ffmpeg -i video.avi -vf subtitles=subtitle.srt out.avi
Run Code Online (Sandbox Code Playgroud)
但它不起作用。我收到一个错误
No such filter: 'subtitles'
Run Code Online (Sandbox Code Playgroud)
在那。如果我替换ffmpeg为avconv.
所以我尝试在这里下载libav源代码并编译。当我跑步时,我再次感到沮丧
./configure --enable-libass
Run Code Online (Sandbox Code Playgroud)
在源目录中,这次我得到了
Unknown option "--enable-libass"
Run Code Online (Sandbox Code Playgroud)
我想知道这是否是一个非常特殊的东西,avconv根本不支持。和
subtitles缺少过滤器Libav 倾向于忽略来自 FFmpeg 的功能,因此avconv它们的假冒“ ffmpeg”(从 14.04 删除)不支持 libass,因此不支持许多其他过滤subtitles器中的视频过滤器。
您有多种选择可以ffmpeg从 FFmpeg 中获取真实内容:
ffmpeg二进制文件- 最简单的选择。这会将字幕“刻录”到视频中,但当然需要重新编码视频:
ffmpeg -i video.mkv -vf subtitles=subtitle.srt -codec:a copy output.mkv
Run Code Online (Sandbox Code Playgroud)
过滤器需要重新编码。有关编码建议,请参阅FFmpeg H.264 编码指南。
由于您可能不想重新编码音频,因此此示例仅流式传输副本(重新复用)。
由混入文件的字幕流组成。任何值得使用的播放器都允许您打开和关闭字幕,并从可能存在的其他字幕流中进行选择。不需要任何重新编码。
ffmpeg -i video.mkv -i subtitle.srt -codec copy -map 0 output.mkv
Run Code Online (Sandbox Code Playgroud)
ffmpeg与 不完全相同avconv。见这大约与燃烧的字幕avconv。
还有另一种选择,更简单且带有 GUI:Avidemux。安装它:
sudo apt-get install avidemux
Run Code Online (Sandbox Code Playgroud)
打开一个视频文件,然后转到Video,选择一个视频编码器(除了Copy),Filters然后Subtitles。选择Subtitler过滤器:
