Re: [Mlt-devel] Frame in melt generated mov files missing audio
Brought to you by:
ddennedy,
lilo_booter
From: Dan D. <da...@de...> - 2010-09-10 06:49:48
|
On Thu, Sep 9, 2010 at 4:30 PM, Kevin MacPhail <kma...@gm...> wrote: > Hi folks, > > I'm trying to use the melt binary included with the mlt package for Fedora > 13 64bit (MLT mlt-melt 0.5.4) to compile a single mov file from several > smaller mov files created with ffmpeg. The compiled mov file looks and > sounds perfect except the last frame contributed from each of the smaller > files is missing audio. > > This might be overkill, but I wrote a little batch script that generates a > file named missing_audio.mov (and a few intermediate files) that reproduces > the problem. Even if you don't run it it should explain my process. I reproduced this in a way that I can see exactly what you mean (my technique requires git beyond last release). I also figured out why. There is a piece of code in the avformat producer that checks to see if there are enough decoded/retrieved samples (normally after having decoded enough) for the requested number, and returns silence otherwise. On the last frame, I get 1317 samples available but 1333 requested, and those valid samples are not returned by silence instead. > #!/bin/bash > for file in `seq -f test.%04g.png 1 24`; > do > convert -size 960x540 xc:red $file; > done > sox "|sox -n -p synth 1 sine 180" test.wav > ffmpeg -y -r 24 -b 4000K -i test.%04d.png -i test.wav -acodec pcm_s16le > test.mov > printf "description=VGA > FILM\nframe_rate_num=24\nframe_rate_den=1\nwidth=960\nheight=540\nprogressive=1\nsample_aspect_num=1\nsample_aspect_den=1\ndisplay_aspect_num=16\ndisplay_aspect_den=9\n" >> test.profile > mlt-melt test.mov -consumer avformat:missing_audio.mov profile=test.profile > b=40000000 r=24 threads=3 ab=128k acodec=pcm_s16le > > Your suggestions and advice are appreciated. I have to make a bug fix, but 0.5.8 is being released Sunday, and it is required by the new kdenlive scheduled for Monday. Therefore, rpmfusion.org should get it fairly soon. -- +-DRD-+ |