[Libav-user] FFmpeg components needed to extract audio/video metadata

William Seemann wseemann at gmail.com
Tue Oct 23 04:21:40 CEST 2012


Thanks Carl, that was a very helpful response. I ended up using the 
following compiler flags:

FLAGS="$FLAGS --enable-shared --disable-symver"
FLAGS="$FLAGS --enable-small --optimization-flags=-O2"
FLAGS="$FLAGS --disable-doc"
FLAGS="$FLAGS --disable-ffmpeg"
FLAGS="$FLAGS --disable-ffplay"
FLAGS="$FLAGS --disable-ffprobe"
FLAGS="$FLAGS --disable-ffserver"
FLAGS="$FLAGS --disable-avdevice"
FLAGS="$FLAGS --disable-swresample"
FLAGS="$FLAGS --disable-swscale"
FLAGS="$FLAGS --disable-postproc"
FLAGS="$FLAGS --disable-avfilter"
FLAGS="$FLAGS --disable-everything"
FLAGS="$FLAGS --disable-gpl"
FLAGS="$FLAGS 
--enable-demuxer=acc,flac,h263,h264,m4v,matroska,mp3,mpegvideo,ogg,pcm_alaw,pcm_f32be,pcm_f32le,pcm_f64be,pcm_f64le,pcm_mulaw,pcm_s16be,pcm_s16le,pcm_s24be" 

FLAGS="$FLAGS 
--enable-demuxer=pcm_s24le,pcm_s32be,pcm_s32le,pcm_s8,pcm_u16be,pcm_u16le,pcm_u24be,pcm_u24le,pcm_u32be,pcm_u32le,pcm_u8,rtp,rtsp,sdp,wav" 

FLAGS="$FLAGS 
--enable-parser=aac,aac_latm,flac,h263,h264,mpeg4video,mpegaudio,mpegvideo,vorbis,vp8" 

FLAGS="$FLAGS --enable-decoder=mp3"
FLAGS="$FLAGS --enable-protocol=http,https,mmsh,mmst"
FLAGS="$FLAGS --disable-debug"


Interestingly enough, if I leave off "--enable-decoder=mp3" then I'm 
unable to extract metadata from mp3 files. It would appear the decoder 
is also required even though I enabled the demuxer and parser. Any 
thoughts? I'm still trying to understand how these components work together.

On 10/11/2012 09:42 AM, Carl Eugen Hoyos wrote:
> William Seemann <wseemann at ...> writes:
>
>>       FLAGS="$FLAGS --enable-shared --disable-symver"
> (You could add --disable-debug although it is not
> default for shared anyway iirc.)
>
>>       FLAGS="$FLAGS --enable-small --optimization-flags=-O2"
> There are two possibilities:
> Either "-O2" is good (be it for all use cases, or only for
> --enable-small), then it should be made default (either in
> all cases, or if --enable-small was selected) = please
> report that it should be made default (and why), so other
> users profit from your experience!
> Or it is bad, then don't use it ;-)
>
>>       FLAGS="$FLAGS --disable-doc"
>>       FLAGS="$FLAGS --disable-ffmpeg"
>>       FLAGS="$FLAGS --disable-ffplay"
>>       FLAGS="$FLAGS --disable-ffprobe"
>>       FLAGS="$FLAGS --disable-ffserver"
>>       FLAGS="$FLAGS --disable-avdevice"
>>       FLAGS="$FLAGS --disable-swresample"
>>       FLAGS="$FLAGS --disable-swscale"
>>       FLAGS="$FLAGS --disable-postproc"
>>       FLAGS="$FLAGS --disable-avfilter"
>>       FLAGS="$FLAGS --disable-everything"
> Doesn't --disable-everything make the others
> unneeded (at least some of them)?
>
>>       FLAGS="$FLAGS --disable-gpl"
> This is unneded (disable-gpl is the default).
>
>>       FLAGS="$FLAGS --enable-parsers"
> I suspect this enables a very large part of the
> software you disabled above. Try to enable
> only the parsers you need.
>
>>       FLAGS="$FLAGS --enable-protocol=http"
>>       FLAGS="$FLAGS --enable-demuxers"
>>
>> For instance, if I only need to extract metadata
>> for mp3, ogg, and flac what specifically needs to
>> be enabled?
> Did you try --enable-demuxer=mp3,ogg,flac instead of
> --enable-demuxers?
>
> Carl Eugen
>
> _______________________________________________
> Libav-user mailing list
> Libav-user at ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/libav-user



More information about the Libav-user mailing list