我目前正在使用一个框架,在这个框架中,我必须将视频(最初使用 HEVC 视频和 AAC 音频编码)拆分成多个部分,然后分别处理它们。然后通过组合每个部分来获得最终结果(目前使用 concat 解复用器完成)。要进行拆分,我使用:
ffmpeg -i test.mkv -c copy -map 0 -segment_time 00:03:00 -reset_timestamps 1 -f segment split/split_%02d.mkv
然而,当仔细检查这些片段时,会发现有些片段出现了奇怪的行为。例如,在播放某些片段时,视频进度条会显示还有 3-4 秒,但视频会突然结束。
这只发生在少数片段上。然而,在后续步骤中将它们组合在一起时,这会导致最终视频在恢复播放之前冻结 3-4 秒,这看起来很糟糕。我该如何解决这个问题(最好不要重新编码)?
我尝试过其他方法,但都无济于事
-c copy
在-c:v libx265
上面的命令中交换- 使用
-force_key_frames 'expr:gte(t,n_forced*20)'
- 使用带有 for 循环和多个命令的 bash 脚本
-ss <initial_time> -t <duration>
和-c copy