[FFmpeg-user] [Bulk] Re: Using -filter_complex instead of lavfi with amerge hangs.

Tim Nicholson nichot20 at yahoo.com
Tue Jun 26 16:52:26 CEST 2012


On 26/06/12 15:42, Tim Nicholson wrote:
> On 26/06/12 15:17, Nicolas George wrote:
>> Le nonidi 9 messidor, an CCXX, Tim Nicholson a écrit :
>>> On 26/06/12 11:54, Nicolas George wrote:
>>>> [..]
>>>> I need to add examples for amerge with -filter_complex. The syntax should be
>>>> something like that:
>>>>
>>>> -i LTA01631701.mxf -filter_complex '[0.1] [0.2] amerge [audio]' \
>>>>   -map 0.0 -map '[audio]'
>>>>
>>>
>>> Hmmm. something is still not right.
>>>
>>> ffmpeg -i LTA01631701.mxf -filter_complex "
>>> [0:1] [0:2] amerge [audio]" \
>>> -map 0:0 -map '[audio]' \
>>> -c:v dvvideo -pix_fmt yuv420p \
>>> -c:a pcm_s16le -ar 48k -ac 2 \
>>> -t 10 -y ./LTA01631701-4-1.mov
>>>
>>> leads to:-
>>>
>>> Stream mapping:
>>>   Stream #0:1 (pcm_s24le) -> amerge: (graph 0)
>>>   Stream #0:2 (pcm_s24le) -> amerge: (graph 0)
>>>   Stream #0:0 -> #0:0 (rawvideo -> dvvideo)
>>>   amerge (graph 0) -> Stream #0:1 (pcm_s16le)
>>>
>>>
>>> and now immediately gives me the progress line which runs at the
>>> expected speed....
>>>
>>> frame=  250 fps= 28 q=0.0 Lsize=   37035kB time=00:00:10.00
>>> bitrate=30339.1kbits/s
>>>
>>> but then hangs after the last frame and eventually returns a:-
>>>
>>> 8424 Killed                  ffmpeg -i.......
>>>
>>> In the meantime kernel CPU goes through the roof, as does swap usage.
>>
>> This shows that frames are accumulating in the graph, probably in its
>> inputs. You can avoid swap usage by limiting the total address space ffmpeg
>> is allowed to use.
>>
>> That is part of the problem that needs fixing. Can you check that
>> all streams of your input video have the same length?
>>
> 
> Not sure about that as the original file is huge, *but* all streams were
> definitely longer than the 10 seconds I was asking it to encode.
> 

..and yes all streams in the original file are reported by ffprobe as
being the same length..

> However doing a first pass to make a 10 second 4 track mov from the
> original file, and then using the above syntax completed successfully.
> 
> So is it that the streams are of different length (unlikely since I
> wasn't taking the whole file) or the -t 10, or something to do with the
> interleave on the original file?
> 
> 
>>> [..]
> 


-- 
Tim




More information about the ffmpeg-user mailing list