我使用 avconv 剪切视频并删除字幕。根据输出视频的长度,我会得到成功或错误。
输入视频包含以下信息:
avconv -i video.mkv
元数据:
持续时间:00:02:07.01,开始:0.000000,比特率:15559 kb/s
Stream #0.0(eng): Video: mpeg2video (Main), yuv420p, 720x576 [PAR 64:45 DAR 16:9], 15000 kb/s, 25 fps, 25 tbr, 1k tbn, 50 tbc (default) Stream #0.1(fre): Audio: mp2, 48000 Hz, stereo, s16, 192 kb/s (default) Stream #0.2(ger): Audio: mp2, 48000 Hz, stereo, s16, 112 kb/s (default) Stream #0.3(eng): Audio: mp2, 48000 Hz, stereo, s16, 128 kb/s (default) Stream #0.4(qaa): Audio: mp2, 48000 Hz, stereo, s16, 128 kb/s (default) Stream #0.5(fre): Subtitle: [0][0][0][0] / 0x0000 (default) Stream #0.6(fre): Subtitle: [0][0][0][0] / 0x0000 (default) Stream #0.7(ger): Subtitle: [0][0][0][0] / 0x0000 (default) Stream #0.8(ger): Subtitle: [0][0][0][0] / 0x0000 (default)
必须至少指定一个输出文件
对于持续时间为 40 秒的视频,此方法可以正常工作:
avconv -i video.mkv -vcodec copy -acodec copy -ss 00:02:30 -t 00:00:40 -sn test3.mkv
在 2 分钟 30 秒的持续时间内,会出现错误:
avconv -i video.mkv -vcodec copy -acodec copy -ss 00:02:30 -t 00:10:40 -sn test3.mkv
输出:
应用程序向流 0 中的复用器提供了无效的非单调递增 dt:308600 >= 308600 av_interleaved_write_frame():参数无效
有谁知道这个问题的原因吗?