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

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


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.

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