读这篇文章大约需要1.2分钟。
字幕是什么?
相信看电影的人都不默认。特别是外国电影,如果没有中文字幕,英语不足的你很难坚持看。
有人可能会问,直接下载字幕不就可以了吗? 是的,下载的字幕文件在播放时,经过播放器选择加载是可以,这种字幕叫「 软字幕 」,就是说如果去掉这个字幕文件,你的视频播放时还是没有字幕的。
MP4 内嵌字幕
MP4 格式的容器,是不带字幕流的,不像MKV 这种容器的视频格式中,会带有一个字幕流,可以在播放中,控制字幕的显示与切换,也可以通过工具或命令,将字幕从视频中分离出来。
所以如果要将字幕集中进去,就需要将字幕文件烧进视频中去,烧进去的字幕不能再分离出来,也不能控制字幕显示与否。这种字幕可理解为「 硬字幕 」。
如下图:字幕流中无字幕,视频显示有字幕,那么这个是怎么做出来的呢?
ffmpeg 大显身手
ffmpeg 可以说是音视频领域的「 瑞士军刀 」,采用LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案。简单、小巧、好用。
你只需一行命令就可将字幕文件集成进视频当中:
ffmpeg -i org.mp4 -vf subtitles=org.srt mod.mp4参数解释:
-i org.mp4: 制定输入给ffmpeg 的视频文件 -vf subtitles=org.srt: 指定字幕文件 mod.mp4 : 制定输出的文件名当运行上述命令后,ffmpeg 就会将字幕文件集成进MP4视频当中, 最终生成的mod.mp4 可以直接用任何播放器打开而无需加载字幕文件了。
那些视频格式转换软件的背后
其实,那些形形色色的视频转换做的事情也是调用 ffmpeg, 不信? 请看下图,这里以格式工厂为例,视频在处理的背后调用的就是ffmpeg :-)
如果你觉得我的文章对你有帮助,或解答了你的疑惑,欢迎关注、点赞、转发或收藏!你的支持是我持续输出的动力!