我有一个 mkv 文件,里面有(软)字幕。视频大约 30 分钟长,但我想将其缩短到 6 分钟(例如,从 19:00 到 25:00)。但是,我想保留软字幕。
我尝试在 VLC 中使用录制功能,但即使显示了字幕,它们也没有被捕获到输出中。
然后我尝试了 Avidemux,但输出仍然缺少子项。
我想这个答案可能会有帮助(使用 mkvextract),但提取的字幕是整个字幕,现在我不确定如何编辑它并重新添加它们并将它们同步到修剪后的视频文件。
我可能有些天真,但我认为应该有一个选项可以修剪视频,保留软字幕。
我的第一选择就是这样做:剪辑视频,同时保留软字幕。
将字幕转换为硬字幕是一种选择,但并不理想,因为字幕会与屏幕上的一些重要信息重叠。
答案1
尝试使用ffmpeg
:
ffmpeg -i inputfile.mkv -c copy -ss 00:19:00 -t 00:06:00 -async 1 outputfile.mkv
标志
- 该
-c copy
标志(简称-codec copy
)将使所有编解码器操作复制视频、音频、字幕、数据和附件(如果有)。这将大大减少修剪视频所需的时间。 - 该
-ss
标志是开始时间偏移 - 如果您希望视频从 19:00 开始,则应将其设置为00:19:00
- 标志
-t
是持续时间 - 如果您希望视频从 19:00 开始并在 25:00 结束,则为 6 分钟 -00:06:00
在我的测试中,软字幕被保留了下来。
答案2
最近我延长了视频剪辑支持字幕:
它会剪掉您不喜欢的部分,并支持支持字幕的容器中的字幕。基于 ffmpeg 库,它不会重新编码这些部分,因此不会造成质量损失。