Video ffmpeg在单个命令中剪切视频并刻录字幕

Video ffmpeg在单个命令中剪切视频并刻录字幕,video,ffmpeg,cut,subtitle,Video,Ffmpeg,Cut,Subtitle,我想从一段视频中剪下一段,然后把字幕烧掉 我可以通过3个步骤完成此操作: 剪切视频 ffmpeg-ss 25:00-to 26:00-i vid.mp4-c copy out.mp4 剪掉副标题 ffmpeg-i sub.srt-ss 25:00-26:00 out.srt 在视频片段中刻录字幕 ffmpeg-i out.mp4-vf subtitles=out.srt-c:a copy-y final.mp4 但是我想在一个ffmpeg命令中实现这一点 如果我这样做 ffmpeg-ss 25:

我想从一段视频中剪下一段,然后把字幕烧掉

我可以通过3个步骤完成此操作:

  • 剪切视频
    ffmpeg-ss 25:00-to 26:00-i vid.mp4-c copy out.mp4

  • 剪掉副标题
    ffmpeg-i sub.srt-ss 25:00-26:00 out.srt

  • 在视频片段中刻录字幕
    ffmpeg-i out.mp4-vf subtitles=out.srt-c:a copy-y final.mp4

  • 但是我想在一个ffmpeg命令中实现这一点

    如果我这样做
    ffmpeg-ss 25:00-to 26:00-i vid.mp4-vf subtitles=sub.srt-c:a copy-y final.mp4

    视频被剪切,但没有字幕被刻录。
    这很快

    如果我这样做
    ffmpeg-i vid.mp4-ss 25:00-26:00-vf subtitles=sub.srt-c:a copy-y final.mp4

    视频已剪切,字幕已正确刻录,但在开始编写最终.mp4时出现延迟。
    我认为ffmpeg从一开始就在处理vid.mp4,直到它到达
    -ss
    时间(并删除该部分) 然后继续处理并将其写入final.mp4

    有没有一种方法可以在一个ffmpeg命令中快速执行此操作?
    就像ffmpeg直接进入
    -ss
    时间,然后削减它,处理它,烧掉其中的字幕


    谢谢

    是的,字幕过滤器在内部打开字幕文件,并且不知道视频的搜索点,因为ffmpeg在搜索后重置时间戳

    因此,保留源时间戳,然后重置它们,即

    ffmpeg -ss 25:00 -to 26:00 -copyts -i vid.mp4 -vf subtitles=sub.srt  -c:a copy -ss 25:00 -y final.mp4