Note that there are some explanatory texts on larger screens.

plurals
  1. POAudio object type 3 is not supported
    text
    copied!<p>I am running into an issue with a custom-built ffmpeg. Basically, its a vanilla ffmpeg with x264 and fdk-aac libs enabled. I am feeding an SDP file through ffmpeg API and get the following error while passing the info to <code>avcodec_open2</code>: </p> <blockquote> <p>Audio object type 3 is not supported</p> </blockquote> <p>My SDP file:</p> <pre><code>v=0 o=- 0 0 IN IP4 127.0.0.1 s=Unnamed i=N/A c=IN IP4 192.168.1.1 t=0 0 a=recvonly m=audio 8204 RTP/AVP 96 a=rtpmap:96 mpeg4-generic/32000 a=fmtp:96 streamtype=5; profile-level-id=15; mode=AAC-hbr; config=1a88; SizeLength=13; IndexLength=3; IndexDeltaLength=3; a=control:trackID=0 m=video 8202 RTP/AVP 96 a=rtpmap:96 H264/90000 a=fmtp:96 packetization-mode=1;profile-level-id=428028;sprop-parameter-sets=Z0KAKJWgKA9E,aM48gA==; a=control:trackID=1 m=application 8206 RTP/AVP 96 a=rtpmap:96 smpte336m/10 a=control:trackID=2 </code></pre> <p>The following is the output I get from ffmpeg as I open the input, dump its format, and try to open input streams:</p> <blockquote> <p>Format sdp probed with size=2048 and score=50<br> audio codec set to: aac<br> audio samplerate set to: 32000<br> audio channels set to: 1<br> video codec set to: h264<br> RTP Packetization Mode: 1<br> RTP Profile IDC: 42 Profile IOP: 80 Level: 28<br> Extradata set to 0xc8d3dc0 (size: 21)!<br> File position before avformat_find_stream_info() is 522<br> Audio object type 3 is not supported.<br> Could not find codec parameters for stream 1 (Video: h264): unspecified size<br> Consider increasing the value for the 'analyzeduration' and 'probesize' options<br> File position after avformat_find_stream_info() is 522<br> Dumping input AV format<br> Input #0, sdp, from 'conf/test.sdp': </p> <p>Metadata:<br> title :Unnamed<br> comment :N/A </p> <p>Duration:N/A, bitrate:N/A </p> <pre><code>Stream #0:0, 0, 1/32000: Audio: aac, 32000 Hz, 1 channels, fltp Stream #0:1, 0, 1/90000: Video: h264, 90k tbr, 90k tbn, 180k tbc Stream #0:2, 0, 1/90000: Data: none, 0/1 </code></pre> <p>Audio object type 3 is not supported. </p> </blockquote> <p>I also see the error reported for not finding codec parameters for stream 1:</p> <blockquote> <p>Could not find codec parameters for stream 1 (Video: h264): unspecified size Consider increasing the value for the 'analyzeduration' and 'probesize' options </p> </blockquote> <p>However, I think that is due to me not running an actual rtp at the moment of the test.</p> <p>In any case, what may be the reason for getting <strong>audio object type 3 not supported</strong> exception?</p> <p><strong>UPDATE - Oct 02, 2013</strong></p> <p>Static ffmpeg build gives the following flags:</p> <p>Static ffmpeg 2.0.1 build flag output:</p> <pre><code>ffmpeg version 2.0.1 Copyright (c) 2000-2013 the FFmpeg developers built on Sep 30 2013 22:24:00 with gcc 4.1.2 (GCC) 20080704 (Red Hat 4.1.2-54) configuration: --enable-gpl --enable-nonfree --enable-shared configuration: --prefix=/usr --libdir=/usr/lib64 --shlibdir=/usr/lib64 --mandir=/usr/share/man --enable-shared --enable-runtime-cpudetect --enable-gpl --enable-version3 --enable-nonfree --enable-postproc --enable-avfilter --enable-pthreads --enable-x11grab --enable-vdpau --disable-avisynth --enable-libdc1394 --enable-libfaac --enable-libgsm --enable-libmp3lame --enable-libnut --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librtmp --enable-libx264 --enable-libxavs --enable-libxvid --extra-cflags='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -fPIC' --disable-stripping </code></pre> <p>My build is from ffmpeg 2.0.1 snapshot with the following flags:</p> <pre><code>--enable-static --disable-shared --enable-gpl --enable-nonfree --enable-libfdk-aac --enable-libfaac --enable-libmp3lame --enable-libx264 --disable-symver --disable-doc --disable-ffplay --enable-ffmpeg --disable-ffprobe --disable-ffserver --disable-avdevice --disable-avfilter --disable-filters --disable-devices --disable-everything --enable-avformat --enable-avcodec --enable-muxers --enable-protocols --enable-parsers --enable-demuxers --enable-decoders --enable-encoders --enable-bsfs --enable-network --enable-swscale --disable-demuxer=sbg --disable-demuxer=dts --disable-parser=dca --disable-decoder=dca --enable-asm --enable-pthreads --enable-version3 </code></pre> <p>The fdk-aac library version I'm using:</p> <blockquote> <p>fdk-aac - 0.1.2</p> </blockquote> <p>So it seems that the same .sdp file causes <strong><em>Audio object type 3</em></strong> error with my build but not with static but I really do not see what causes it (granted I am not an expert with ffmpeg API and may simply miss important details).</p> <p>Simplified code for opening .sdp file that doesn't include error checks and logic separation:</p> <pre><code>AVFormatContext *inputContext = NULL; av_register_all(); avformat_network_init(); avformat_open_input(&amp;inputContext, "test.sdp", NULL, NULL); avformat_find_stream_info(inputContext, NULL); int inAudioStreamIdx = av_find_best_stream(inputContext, AVMEDIA_TYPE_AUDIO, -1, -1, NULL, 0); AVStream *st = inputContext-&gt;streams[inAudioStreamIdx]; AVCodecContext *dec_ctx = st-&gt;codec; AVCodec *dec = avcodec_find_decoder(dec_ctx-&gt;codec_id); avcodec_open2(dec_ctx, dec, NULL); // Fails here with Audio object type 3 </code></pre> <p>Am I opening the sdp input improperly?</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload