在ffmpeg中串联时获取“缓冲区队列溢出,删除”

时间:2020-08-19 09:45:16

标签: ffmpeg

我有一个python脚本,可以生成FFmpeg命令来连接视频片段。 这是脚本:

        ffmpeg 
        -i /tmp/media/import-2020-Aug-19-Wednesday-08-08-26/temp_eba59811-bb5c-4e36-aa7d-b1731e70432c.mp4 
        -i /tmp/media/import-2020-Aug-19-Wednesday-08-08-26/temp_2a6d7907-7cad-4f38-ae82-4b475546d3e0.mp4 
        -i /tmp/media/import-2020-Aug-19-Wednesday-08-08-26/temp_d7371ecb-01df-4199-951f-336fa475998f.mp4 
        -i /tmp/media/import-2020-Aug-19-Wednesday-08-08-26/temp_cc5de0f1-84b4-47bc-b390-45b5f8711914.mp4 
        -i /tmp/media/import-2020-Aug-19-Wednesday-08-08-26/temp_bf796e0d-135f-40fd-ab8e-4780da6973fd.mp4  
        -filter_complex 
        "[0:v]trim=start=0:end=8.032,setpts=PTS-STARTPTS[clip0];
        [1:v]trim=start=2:end=13.047,setpts=PTS-STARTPTS[clip1];
        [2:v]trim=start=2:end=13.558,setpts=PTS-STARTPTS[clip2];
        [3:v]trim=start=2:end=13.186,setpts=PTS-STARTPTS[clip3];
        [4:v]trim=start=2,setpts=PTS-STARTPTS[clip4];
        [0:v]trim=start=9.032:end=10.032,setpts=PTS-STARTPTS[out0];
        [1:v]trim=start=14.047:end=15.047,setpts=PTS-STARTPTS[out1];
        [2:v]trim=start=14.558:end=15.558,setpts=PTS-STARTPTS[out2];
        [3:v]trim=start=14.186:end=15.186,setpts=PTS-STARTPTS[out3];
        [1:v]trim=start=0:end=2,setpts=PTS-STARTPTS[in1];
        [2:v]trim=start=0:end=2,setpts=PTS-STARTPTS[in2];
        [3:v]trim=start=0:end=2,setpts=PTS-STARTPTS[in3];
        [4:v]trim=start=0:end=2,setpts=PTS-STARTPTS[in4];
        [in1]format=pix_fmts=yuva420p,fade=t=in:st=0:d=2:alpha=1[fadein1];
        [in2]format=pix_fmts=yuva420p,fade=t=in:st=0:d=2:alpha=1[fadein2];
        [in3]format=pix_fmts=yuva420p,fade=t=in:st=0:d=2:alpha=1[fadein3];
        [in4]format=pix_fmts=yuva420p,fade=t=in:st=0:d=2:alpha=1[fadein4];
        [out0]format=pix_fmts=yuva420p,fade=t=out:st=0:d=2:alpha=1[fadeout0];
        [out1]format=pix_fmts=yuva420p,fade=t=out:st=0:d=2:alpha=1[fadeout1];
        [out2]format=pix_fmts=yuva420p,fade=t=out:st=0:d=2:alpha=1[fadeout2];
        [out3]format=pix_fmts=yuva420p,fade=t=out:st=0:d=2:alpha=1[fadeout3];
        [fadein1]fifo[fadein1fifo];
        [fadein2]fifo[fadein2fifo];
        [fadein3]fifo[fadein3fifo];
        [fadein4]fifo[fadein4fifo];
        [fadeout0]fifo[fadeout0fifo];
        [fadeout1]fifo[fadeout1fifo];
        [fadeout2]fifo[fadeout2fifo];
        [fadeout3]fifo[fadeout3fifo];
        [fadeout0fifo][fadein1fifo]overlay[crossfade0];
        [fadeout1fifo][fadein2fifo]overlay[crossfade1];
        [fadeout2fifo][fadein3fifo]overlay[crossfade2];
        [fadeout3fifo][fadein4fifo]overlay[crossfade3];
        [clip0][crossfade0][clip1][crossfade1][clip2][crossfade2][clip3][crossfade3][clip4]concat=n=9[output];
         [0:a][1:a]acrossfade=d=10:c1=tri:c2=tri[A1];
         [A1][2:a]acrossfade=d=10:c1=tri:c2=tri[A2];
         [A2][3:a]acrossfade=d=10:c1=tri:c2=tri[A3];
         [A3][4:a]acrossfade=d=10:c1=tri:c2=tri[audio] " -map "[output]" -map "[audio]" /tmp/media/final/some_filename_587463a2-e3ca-436a-874b-a72e295e46ac.mp4

但是出现以下错误:Buffer queue overflow, dropping。 我读到要解决此问题,我需要使用fifo,但我不知道应该将其放置在哪里。另外,似乎fifo仅适用于视频流。 我将不胜感激!

0 个答案:

没有答案