[FFmpeg-user] questions about audio filter "atempo"
pkoshevoy at gmail.com
Wed Jul 18 08:33:19 CEST 2012
On 7/17/2012 11:35 PM, Pavel Koshevoy wrote:
> On 7/17/2012 9:58 PM, 韩瑞松 wrote:
>> Why did I get a "Segmentation fault"?
>> I used this command line:
>> ffmpeg -y -i youku.mp4 -analyzeduration 2G -vcodec libx264 -b 512k -r
>> 25 -s 576x312 -aspect 576:312 -psnr -acodec libfaac -ab 64k -ar 44100
>> -ac 2 -vf
>> "movie=2.jpg,scale=100:100[logo];[in][logo]overlay=5:5[out]" -af
>> atempo=2 -f flv -map_chapters -1 -g 50 youku.mp4.flv
>> it's output:
> A stack trace would be helpful.
> When you set atempo=2 you double the audio playback rate and cut down
> the soundtrack duration in half. However, this does not affect the
> video track. You need to adjust the video track rate to match the
> audio track.
> I haven't tried this myself, but you probably need to use setpts
> filter for the video track (try setpts=0.5*PTS).
I tried and could not reproduce the segfault with zeranoe 32-bit static
ffmpeg build from 20120716.
I tried without setpts first: ffmpeg -y -i test2.avi -vcodec libx264 -b
512k -r 25 -s 576x312 -aspect 576:312 -psnr -acodec libvorbis -ab 64k
-ar 44100 -ac 2 -af atempo=2 test2.mkv
This did not crash, but I could see the memory footprint of ffmpeg climb
from 94MB to 146MB. Without setpts audio/video were out of sync,
obviously. I suspect the muxer buffers up frames to compensate for
mismatched audio/video PTS rates. If the video is long and the frames
are large this could cause and out-of-memory error. In my test the
source file was 24min 30sec long.
Anyway, when I added -vf "setpts=0.5*PTS" I did not see the crash
either, audio/video came out in sync, and ffmpeg memory footprint stayed
pretty flat at 94-95MB.
More information about the ffmpeg-user