![mkvmerge 添加流(例如字幕)而不复制整个文件/就地合并](https://linux22.com/image/1579521/mkvmerge%20%E6%B7%BB%E5%8A%A0%E6%B5%81%EF%BC%88%E4%BE%8B%E5%A6%82%E5%AD%97%E5%B9%95%EF%BC%89%E8%80%8C%E4%B8%8D%E5%A4%8D%E5%88%B6%E6%95%B4%E4%B8%AA%E6%96%87%E4%BB%B6%2F%E5%B0%B1%E5%9C%B0%E5%90%88%E5%B9%B6.png)
标题说明了一切。我经常将字幕.srt
文件添加到.mkv
文件中,每次使用 mkvtoolnix / mkvmerge 时,整个输入.mkv
都会复制到输出文件中。有没有办法进行就地合并,即将.srt
文件写入现有文件中的附加流?
答案1
不,没有。添加新流会增加文件的大小,即使是像字幕这样的小文件也是如此。这必须通过对文件进行多路复用/解复用来完成(即打开 mkv 容器并在添加流后关闭它)。它还有许多其他原因,其中一些是容错和缓冲区优化(在添加流后优化文件大小)。
无论元数据是否存在,您都可以在 mkv 容器为其分配/消耗空间时就地添加/更改元数据。
一般来说,没有工具可以满足您的要求,因为它违反了 mkv 容器规范。