【发布时间】:2020-02-24 00:17:14
【问题描述】:
我的简化 ffmpeg 命令(较长的有 300 多个文件)如下。
ffmpeg -i "v1.mp4" -i "v2.mp4" -i "v3.mp4"
-filter_complex "[0:v:0][1:v:0][2:v:0]concat=n=3:v=1:a=0,fps=fps=30[cv1];
[0:a:0][1:a:0][2:a:0]concat=n=3:v=0:a=1,asetpts=N/SR/TB[ca1];
[cv1]setpts=0.25*PTS[v4];
[ca1]atempo=4,asetpts=N/SR/TB[a4]"
-c:v h264_nvenc -map "[v4]" -map "[a4]" x4_output_0.mp4
视频编码正常,但随后中断,输出文件似乎被截断。输出文件的大小接近应有的大小,但无法读取。
Video encoding failed\r\n
[aac @ 00000248a7856840] Qavg: 325.600\r\n
[aac @ 00000248a7856840] 2 frames left in the queue on closing\r\n
[aac @ 00000248a78595c0] Qavg: 236.279\r\n[aac @ 00000248a78595c0]
2 frames left in the queue on closing\r\n
[aac @ 00000248a7855140] Qavg: 2729.299\r\n
[aac @ 00000248a7855140] 2 frames left in the queue on closing\r\n
[aac @ 00000248a785bec0] Qavg: 1158.664\r\n
[aac @ 00000248a785bec0] 2 frames left in the queue on closing\r\n
Conversion failed!\r\n")
- 自
aac @ ...以来,该错误是否与.mp4 的音频部分有关? - 错误消息中的
Qavg是什么意思? -
codec_time_base和time_base之间的视频流有什么区别(请参阅下面视频属性频率的区别)?
以下是具有超过 1 个不同值的所有视频的视频属性频率。格式为[(value, frequency), (value, frequency),...]。
codec_time_base --- [('1/60', 384), ('1001/60000', 7), ('50/2997', 1)]
has_b_frames --- [(0, 336), (2, 56)]
level --- [(31, 336), (30, 56)]
r_frame_rate --- [('30/1', 384), ('30000/1001', 7), ('2997/100', 1)]
avg_frame_rate --- [('30/1', 384), ('30000/1001', 7), ('2997/100', 1)]
time_base --- [('1/30', 383), ('1/30000', 7), ('1/2997', 1), ('1/15360', 1)]
所有这些视频文件中的音频属性都相同。
codec_time_base --- [('1/48000', 386), ('1/44100', 6)]
sample_rate --- [('48000', 386), ('44100', 6)]
time_base --- [('1/48000', 386), ('1/44100', 6)]
- 是否有可能是这里的某些视频文件有问题导致编码崩溃?
【问题讨论】:
-
codec_time_base 在这里不涉及 - 它通常与 time_base 不同。显示完整日志。
标签: video ffmpeg video-processing