我正在努力寻找一行命令来合并新字幕并从视频文件中删除现有字幕。
例子:
test1.mkv(已经包含软编码的子文件,不需要它们)
test1.srt(仅我想要在视频上显示的字幕)
在 ubuntu 服务器 18.04 LTS 64 位下工作
有什么帮助吗?
解决方案更新;
mkvmerge -o 输出.mkv -S 1.mkv --语言 0:hrv --子字符集 0:utf-8 1.srt
这将完成工作
答案1
您必须映射新字幕并仅映射原始文件中的其他流。
例如
ffmpeg -i test1.mkv -i test1.srt -c copy -map 0 -map -0:s -map 1 new.mkv
-map 0
映射原始文件中的所有流,包括字幕。-map -0:s
删除字幕映射。-map 1
映射来自第二个输入 (test1.srt) 的所有流。所有映射的流都复制到 new.mkv
答案2
我会推荐使用mkvtoolnix
ubuntu 的包退出https://packages.ubuntu.com/bionic/mkvtoolnix
通过 和 的正确组合mkvextract
,mkvmerge
您可以做您想做的事。
您将使用它mkvinfo
来显示有关您的文件的信息。
安装 ...
apt-get install mkvtoolnix
查看命令列表
dpkg -L mkvtoolnix | grep bin
并阅读man mkvmerge
和man mkvextract