Page 1 of 5 123 ... LastLast
Results 1 to 10 of 48

Thread: 9.10, VLC, streaming and AAC codec missing for ffmpeg

  1. #1
    Join Date
    Aug 2005
    Beans
    5

    9.10, VLC, streaming and AAC codec missing for ffmpeg

    Hi guys,

    I have problem with VLC not being able to stream via RTP protocol. I want to encode stream to mp3, h264 and AAC audio. While encoding video is just fine, VLC shouts at me that my FFMPEG installation is "crippled" . I guess ffmpeg package doesn't have AAC suport compiled in.

    My command line is:
    Code:
    vlc -vvv -I rc v4l2:// :v4l2-adev=/dev/dsp :input-slave=oss:// --sout "#transcode{venc=x264{keyint=60},vcodec=x264,vb=50,scale=1,width=160,height=140,acodec=aac,ab=32,channels=2,samplerate=22050}:rtp{dst=XXX.XXX.XXX.XXX,port=5432,sdp=http://0.0.0.0:5050/vlc.sdp}"
    And error message printed out by VLC is:

    Code:
    [0x22afce8] avcodec encoder debug: libavcodec initialized (interface 0x341400)
    [0x22afce8] avcodec encoder error: cannot find encoder MPEG AAC Audio
    *** Your FFMPEG installation is crippled.   ***
    *** Please check with your FFMPEG packager. ***
    *** This is NOT a VLC media player issue.   ***
    [0x22afce8] main encoder error: Streaming / Transcoding failed
    [0x22afce8] main encoder error: It seems your FFMPEG (libavcodec) installation lacks the following encoder:
    MPEG AAC Audio.
    If you don't know how to fix this, ask for support from your distribution.
    
    This is not an error inside VLC media player.
    Do not contact the VideoLAN project about this issue.
    FFMPEG says it was compiled with options:
    Code:
    FFmpeg version SVN-r19352-4:0.5+svn20090706-2ubuntu1, Copyright (c) 2000-2009 Fabrice Bellard, et al.
      configuration: --extra-version=4:0.5+svn20090706-2ubuntu1 --prefix=/usr --enable-avfilter --enable-avfilter-lavf --enable-vdpau --enable-bzlib --enable-libgsm --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-pthreads --enable-zlib --disable-stripping --disable-vhook --enable-gpl --enable-postproc --enable-swscale --enable-x11grab --enable-libdc1394 --extra-cflags=-I/build/buildd/ffmpeg-0.5+svn20090706/debian/include --enable-shared --disable-static
      libavutil     49.15. 0 / 49.15. 0
      libavcodec    52.20. 0 / 52.20. 0
      libavformat   52.31. 0 / 52.31. 0
      libavdevice   52. 1. 0 / 52. 1. 0
      libavfilter    0. 4. 0 /  0. 4. 0
      libswscale     0. 7. 1 /  0. 7. 1
      libpostproc   51. 2. 0 / 51. 2. 0
      built on Aug 26 2009 09:45:20, gcc: 4.4.1
    At least one output file must be specified
    Any ideas?

  2. #2
    Join Date
    Aug 2005
    Beans
    5

    Re: 9.10, VLC, streaming and AAC codec missing for ffmpeg

    Ugh, I have spent whole day trying to do it and now when I came back it was 15 mins enough to do so... need to take break more often.

    Here is what I did to enable VLC AAC output (and ffmpeg AAC in general) in plain Ubuntu 9.10 install:

    Get building tools if you don't have yet:
    Code:
    sudo apt-get install build-essential fakeroot dpkg-dev
    Get build dependencies for ffmpeg:
    Code:
    apt-get build-dep ffmpeg
    Get ffmpeg's deb sources:
    Code:
    apt-get source ffmpeg
    Get faac codec for AAC:
    Code:
    apt-get install faac libfaac0 libfaac-dev
    Do something (extract?) sources:
    Code:
    dpkg-source -x ffmpeg_0.5+svn20090706-2ubuntu1.dsc
    Compile ffmpeg:
    Code:
    cd ffmpeg_0.5+svn20090706 && DEB_BUILD_OPTIONS="--enable-faac" fakeroot debian/rules binary
    Install ffmpeg and it's libraries that were packaged separately.
    Code:
    cd .. && dpkg -i *.deb
    Proper VLC command for streaming MP4 with AAC is:

    Code:
    vlc -vvv -I rc v4l2:// :v4l2-adev=/dev/dsp :input-slave=oss:// --sout "#transcode{venc=x264{keyint=60},vcodec=x264,vb=50,scale=1,width=160,height=140,acodec=mp4a,ab=32,channels=2,samplerate=22050}:rtp{dst=XXX.XXX.XXX.XXX,port=5432,sdp=http://0.0.0.0:5050/vlc.sdp}"
    Voila!

  3. #3
    Join Date
    Sep 2006
    Beans
    3,442

    Re: 9.10, VLC, streaming and AAC codec missing for ffmpeg

    I wish I would have seen your first post earlier because I could have saved you some time:

    HOWTO: Easily enable MP3, MPEG4, AAC, and other restricted encoding in FFmpeg

  4. #4
    Join Date
    Jun 2007
    Beans
    12,728

    Re: 9.10, VLC, streaming and AAC codec missing for ffmpeg

    I don't believe the 'extra' versions of ffmpeg (libavcodec- in karmic have acc encoding enabled
    In which case you'd need to build a new ffmpeg w/ shared libs for vlc to use.

  5. #5
    Join Date
    Sep 2006
    Beans
    3,442

    Re: 9.10, VLC, streaming and AAC codec missing for ffmpeg

    Quote Originally Posted by mc4man View Post
    I don't believe the 'extra' versions of ffmpeg (libavcodec- in karmic have acc encoding enabled
    In which case you'd need to build a new ffmpeg w/ shared libs for vlc to use.
    Karmic. Oops. My mind went into Jaunty mode. I seem to do that too often. Anyway, I have yet to do any Karmic testing. Maybe I should get to work on that.

  6. #6
    Join Date
    Jun 2007
    Beans
    12,728

    Re: 9.10, VLC, streaming and AAC codec missing for ffmpeg

    I'm not really sure what the deal with faac is in karmic,

    I have 2 installs, one I'm using where i've replaced the repo ffmpeg with my own packages.

    On the testing one everything is straightup, looking at the .diff 1 of the lines for faac is still there
    +confflags += $(call cond_enable_nf,/usr/include/faac.h,libfaac)
    but it's not enabled in the build
    (what the difference is between decoding with faad and encoding with faac is beyond me

    (overall karmic is excellent and what's not provided can be added one way or the other


    from the repo one (greping aac, faac, faad

    built on Aug 26 2009 09:45:50, gcc: 4.4.1
    D aac raw ADTS AAC
    D A aac Advanced Audio Coding
    D A libfaad libfaad AAC (Advanced Audio Codec)g
    nothing for libfaac
    Last edited by mc4man; October 1st, 2009 at 12:31 AM.

  7. #7
    Join Date
    Dec 2006
    Beans
    6,817

    Re: 9.10, VLC, streaming and AAC codec missing for ffmpeg

    Hi mc4man,

    Quote Originally Posted by mc4man View Post
    I don't believe the 'extra' versions of ffmpeg (libavcodec- in karmic have aac encoding enabled
    In which case you'd need to build a new ffmpeg w/ shared libs for vlc to use.
    So no aac encoding from any version of the official FFmpeg variants under Karmic? Looks like FakeOutdoorsman's guides will be very popular under the new Karmic Koala .

    Andrew
    You think that's air you're breathing now?

  8. #8
    Join Date
    Jun 2007
    Beans
    12,728

    Re: 9.10, VLC, streaming and AAC codec missing for ffmpeg

    Double checking on the install with the repo "extra" version it doesn't appear so

    Ffmpeg will gladly decode .m4a but won't encode to it.

    That and seeing also it's still using the non-free amr when the opensource is enabled in the -r of ffmpeg it's using, wierd
    ( as far as the amr, - maybe it can't enable version 3

  9. #9
    Join Date
    Dec 2006
    Beans
    6,817

    Re: 9.10, VLC, streaming and AAC codec missing for ffmpeg

    Hi mc4man,

    Quote Originally Posted by mc4man View Post
    Double checking on the install with the repo "extra" version it doesn't appear so
    Looks like the answer is in the changelog:

    Code:
    ffmpeg-debian (4:0.5+svn20090609-1ubuntu3) karmic; urgency=low
    
      * do not forcefully enable objenjpeg, it is not avaiable in this build
        anyway
      * don't build against faac in any case, it is deemed non-free
    
     -- Reinhard Tartler <sire[....]re.de>  Sat, 25 Jul 2009 09:15:12 +0200
    Unless I am misinterpreting this somehow?

    Andrew
    You think that's air you're breathing now?

  10. #10
    Join Date
    Sep 2006
    Beans
    3,442

    Re: 9.10, VLC, streaming and AAC codec missing for ffmpeg

    mc4man,

    With libavcodec-extra-52 (the new name for libavcodec-unstripped-52 I suppose) installed what do you get with:
    Code:
    ffmpeg -formats | grep aac
    If Ubuntu is using a new enough FFmpeg then native AAC encoding is available if it shows:
    Code:
    DEA aac Advanced Audio Coding
    That would be nice, although last I heard it is not as versatile as libfaac and doesn't match it's quality either, however that was months ago. I haven't personally made any quality comparisons yet.

Page 1 of 5 123 ... LastLast

Tags for this Thread

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •