Transcode to aac on Ubuntu 14.04 using vlc

I am trying to stream a dvb stream in VLC but transcoding the audio to aac format however it can't find the encoder. How do I install it?

VLC media player 2.1.4 Rincewind (revision 2.1.4-0-g2a072be)
[0x2535b58] main interface error: no suitable interface module
[0x2470118] main libvlc error: interface "globalhotkeys,none" initialization failed
[0x2535b58] dbus interface error: Failed to connect to the D-Bus session daemon:
Unable to autolaunch a dbus-daemon without a $DISPLAY for X11
[0x2535b58] main interface error: no suitable interface module
[0x2470118] main libvlc error: interface "dbus,none" initialization failed
[0x2470118] main libvlc: Running vlc with the default interface. Use 'cvlc' to use vlc without interface.
[0x2535b58] qt4 interface error: Could not connect to X server
[0x2535b58] skins2 interface error: cannot initialize OSFactory
[0x2535b58] [cli] lua interface: Listening on host "*console".
VLC media player 2.1.4 Rincewind
Command Line Interface initialized. Type `help' for help.
> [0x7f00c800bcf8] dtv access error: 514000 Hz carrier frequency is too low.
[0x7f00c800bcf8] dtv access: Assuming 514000000 Hz frequency instead.
[0x7f00c800bcf8] dtv access error: cannot enumerate frontend systems: Invalid argument
[0x7f00cc001138] avcodec encoder error: cannot open encoder
[0x7f00cc001138] main encoder error: Streaming / Transcoding failed
[0x7f00cc001138] main encoder error: VLC could not open the encoder.
[0x7f00c80097c8] stream_out_transcode stream out error: cannot find audio encoder (module:any fourcc:mp4a). Take a look few lines earlier to see possible reason.
[0x7f00c80097c8] stream_out_transcode stream out error: cannot create audio chain
[0x7f00c80a5438] main decoder error: cannot create packetizer output (mpga)
[0x7f00c80105b8] ts demux error: libdvbpsi (misc PSI): Bad CRC_32 table 0x73 !!! 

Edit to add the command I'm running

cvlc --ttl 12 --ts-es-id-pid --program=8261 dvb:// --dvb-adapter=3 \
--dvb-frequency=514000 --dvb-bandwidth=8 --sout #transcode{width=720,vcodec=h264,
venc=x264{aud,profile=baseline,level=30,keyint=30,ref=1},
acodec=mp4a}:std{access=livehttp{seglen=10,delsegs=true,
numsegs=10,index=/web/main/streaming/mystream.m3u8,
index-url=
mux=ts{use-key-frames},dst=/web/main/streaming/mystream-########.ts}'

The command is to stream a DVB adapter over HLS transcoding it to a format accepted by the client. The command works but will produce ts files that have no audio due to the missing encoder. If I chnage the encoder to "mp3" I get a file with MP3 audio but obviously not what I want.

2

3 Answers

You may indeed be missing some codecs, because they are separated out to some extra packages in ubuntu.

There are two conflicting variants of the packages, one ith -extra in the name.

Also, there are reports that installing the packages may mess up the package management; At least I have had to resolve conflicts manually a couple of times.

You need either libavcodec54 and libavutil52 or libavcodec-extra and libavutil-extra-52:
(I think I make no use of these packages myself, but I have installed them long ago, and ended up with the version without the -extra in the name. I do remember is was tricky, so do not expect installing them just works smoothly)

sudo apt-get install libavcodec54 libavutil52

If that does not help, uninstall it and try the other.

sudo apt-get install libavcodec-extra libavutil-extra-52

(Before you ask: I vaguely remember that the reason for the packaging and dependency mess is not only due to license issues, but had a significant component of, say, inter-project politics.)

7

If the symptoms look similar to the question, but the details with the codec seem to be different, it may be a messed up configuration of vlc - that seems to happen sometimes.

Here is what you can do:

To me, that looks like the error regarding the encoder is just following from other errors - why do you think the problem it the encoder?

It could be caused by a broken vlc configuration.

For a first test, try

vlc --ignore-config

You could move away or remove the configuration directory:

mv -i ~/.config/vlc ~/dot-config-vlc-old

or just reset the configuration with:

vlc --reset-config
2

Ok in the end I ended up removing all libavcodec* and libavutil* packages (this server has been upgraded multiple times so seemed to have some old ones).

I then used this guide to build libfdk-aac/ffmpeg/vlc

However my command doesn't work on vlc master or 2.2 branches - no .ts file is written. So I have used 2.1 branch from vlc git.

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

You Might Also Like