Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Conversion failed. 2 frames left in the queue on closing ffmpeg

My simplified ffmpeg command (the longer one has over 300 files) is the following.

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

The video encoding is working but then breaks and the output file seems to be truncated. The output files are nearly of the size as they should be but they can't be read.

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. Does the error have anything to do with the audio part of .mp4 since aac @ ...?
  2. What does the Qavg mean in the error message?
  3. What is the difference in the video stream between the codec_time_base and the time_base (see the differences in the video attributes frequencies below)?

Below are the frequencies of the video attributes for all videos that have more than 1 distinct value. It's of the form [(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)]

The same for the audio attributes in all those video files.

codec_time_base --- [('1/48000', 386), ('1/44100', 6)]
sample_rate --- [('48000', 386), ('44100', 6)]
time_base --- [('1/48000', 386), ('1/44100', 6)]
  1. Is it possible that something is not right with some of the video files here that causes the breakdown of the encoding?
like image 330
AlexZheda Avatar asked Feb 24 '20 00:02

AlexZheda


1 Answers

I had videos that 'start' at 0:08 and can't be seeked any farther back, although 0:08 is the starting time I roughly wanted.

What fixed my error was adding the parameter:

-max_muxing_queue_size 9999

This also fixed my error for Too many packets buffered for output stream 0:1.

It appears to be a framerate issue from initial audio and video desync (either weird framerate or time oddities), and that adjusting the -r value also fixes it.

The thread I got the answer from has a more technical breakdowns for why this occurs and alternative solutions for this 3+ year bug report https://trac.ffmpeg.org/ticket/6375

Good luck!

like image 164
ednixon Avatar answered Nov 12 '22 09:11

ednixon