为什么subtitles过滤器丢失

为什么subtitles过滤器丢失

系统:Xubuntu 13.04 x64

我发现这个功能在 ffmpeg 中有使用这里

ffmpeg -i video.avi -vf subtitles=subtitle.srt out.avi

但它不起作用。我收到错误

No such filter: 'subtitles'

上面的例子。如果我ffmpeg用替换,也会发生同样的事情avconv

所以我尝试下载源libav代码这里并编译。当我运行

./configure --enable-libass

在源目录中,这次我得到了

Unknown option "--enable-libass"

我想知道这是否是一个非常特殊的事情,avconv根本不支持。

答案1

为什么subtitles过滤器丢失

Libav 倾向于忽略 FFmpeg 的功能,因此avconv其仿冒版本“ ffmpeg”(已于 14.04 版移除)不支持 libass,因此不支持subtitles视频滤镜以及许多其他过滤器。


怎么修

您有多种方式可以从 FFmpeg 获取真实值ffmpeg


用法

硬字幕

这会将字幕“刻录”到视频中,但当然需要对视频重新编码:

ffmpeg -i video.mkv -vf subtitles=subtitle.srt -codec:a copy output.mkv
  • 过滤器需要重新编码。请参阅FFmpeg H.264 编码指南以获得编码建议。

  • 由于你可能不想重新编码音频,这个例子只是流复制(重新多路复用)它。

软字幕

由混入文件的字幕流组成。任何值得使用的播放器都允许您打开或关闭字幕,并从可能存在的其他字幕流中进行选择。无需重新编码。

ffmpeg -i video.mkv -i subtitle.srt -codec copy -map 0 output.mkv

答案2

ffmpeg并不完全等同于avconv。参见有关刻录字幕与avconv

还有另一种选择,更简单且带有 GUI:艾维德姆克斯. 使用以下命令安装:

sudo apt-get install avidemux

打开视频文件,然后转到Video,选择视频编码器(除 之外的任何编码器Copy),Filters然后Subtitles选择 。选择Subtitler过滤器:

在此处输入图片描述

相关内容