Преобразование не удалось. 2 кадра осталось в очереди при закрытии ffmpeg - PullRequest
1 голос
/ 24 февраля 2020

Моя упрощенная команда 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")
  1. Имеет ли ошибка какое-либо отношение к звуковой части .mp4, поскольку aac @ ... ?
  2. Что означает Qavg в сообщении об ошибке?
  3. Какая разница в видеопотоке между 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)]
Возможно ли, что с некоторыми из видеофайлов здесь что-то не так, что приводит к нарушению кодировки?
...