List of supported codecs and containers for command line

About encoding, codec settings, muxers and filter usage
Polyphem
Blank Cone
Blank Cone
Posts: 15
Joined: 14 Nov 2005 09:35

List of supported codecs and containers for command line

Postby Polyphem » 18 Nov 2005 14:09

On the streaming feature page there is an overview of supported codecs, containers and muxers, but these are of course not the values you have to use for command line input. Thus I started to gether the values in this thread:

vcodec
-------------
DivX 1 video = div1 (???)
DivX 2 video = div2 (???)
DivX 3 video = div3
MPEG-1 video = mp1v
MPEG-2 video = mp2v
MPEG-4 video = mp4v
MJPEG = ???
H263 = h263 (???)
H264 = h264
I263 = i263 (???)
WMV 1 = wmv1 (???)
WMV 2 = wmv2
Theora = ???

acodec
-------------
MPEG Audio = mpga
MP3 Audio = mp3
MPEG-4 audio (i.e. AAC) = mp4a
Vorbis = vorb
Speex = ???
Flac = ???
AAC = ???
A52 = ???

Muxer
-------------
??? = mp2t
MPEG2/TS = ts
MPEG2/PS = ps
MPEG 1 = mpeg1
Ogg = ogg
Microsoft AVI = avi
Multipart Jpeg = mpjpeg
RAW = raw
Microsoft ASF = asf
Microsoft ASF for MMSH streaming = asfh
MP4 (???) = mp4

Items marked with (???) are just plain guesses or not quiet clear to me.

I extracted all above mentioned values from samples, thus one or the other might be wrong, please post a correction in this thread.

For which Video/Audio/Muxer combinations are valid please also look up the mentioned feature-page
http://www.videolan.org/streaming/features.html
or this page in the docs:
http://www.videolan.org/doc/streaming-h ... /ch03.html

When finished, I'll transfer this thread to the Wiki.

Best Regards
Polyphem
Last edited by Polyphem on 23 Nov 2005 11:22, edited 3 times in total.

didi156
Blank Cone
Blank Cone
Posts: 12
Joined: 23 Nov 2005 10:01
Location: Vienna

Postby didi156 » 23 Nov 2005 10:15

That's what I'm also looking for.
I compiled vlc from CVS and found some tutorials with sample commands, but no complete overview. I think the way the command line gets constructed is very interesting (modules, options, parameters), but to use it, it would be necessary to have some docs/manual describing in detail which moduls exist, which parameters exist, which of them are optional...
I think mplayer did a very well job regarding this. For all important parameters like video output, codec,... one can ask with <param> help for possible options. That's very useful since it depends on the personal configuration, whic codecs... are available.

I guess for vlc the command line is not so comfortable and not so well documented, because there's quite a good GUI. But if there's a good point of information, I would also be happy to know it!

Polyphem
Blank Cone
Blank Cone
Posts: 15
Joined: 14 Nov 2005 09:35

Postby Polyphem » 23 Nov 2005 10:45

So than lets just start building our own documentation. Just post any additions or corrections in this thread and I'll summarize them in the first post.

didi156
Blank Cone
Blank Cone
Posts: 12
Joined: 23 Nov 2005 10:01
Location: Vienna

Postby didi156 » 23 Nov 2005 11:31

A way to find out cmd-line params is to start vlc with vlc -vvv and to let the GUI do what you want, e.g. File->Streaming Assistant->Transcoding,...
when you start the job, you get the constructed commandline on your console. Example:

Code: Select all

vlc /server/nfs/testfiles/encoding/mp4/canal+_mp3-audio_h.264-video.mp4 --sout '#transcode{vcodec=mp2v,vb=15000,acodec=a52,ab=192}:standard{mux=ts,url=/server/nfs/testfiles/encoding/ts/vlc.out,access=file}'
(edit: I just notice that I've altered the cmd constucted by the GUI, e.g. bitrate 15000 is not selectable in the GUI, but basically that's what the GUI constructs and what is written to the console.
From this cmd I also guess that the bitrates are an obligatory parameter when transcoding.)

It would be OK for me to use the GUI, but there are some important things missing. E.g. for video transcoding the maximum selectable bitrate is 3k. This is unusable for HD-resolutions.

To return to the issue of this thread:
In VLC-source directory is a file called "vlc-config".
There's a list of plugins. In the middle of the file one can see them sorted by category, e.g. codec, demux, mux,...
That may be a beginning, but it still doesn't tell the params for this modules.

Polyphem
Blank Cone
Blank Cone
Posts: 15
Joined: 14 Nov 2005 09:35

Postby Polyphem » 23 Nov 2005 12:00

Also looked up the source and found the file
https://trac.videolan.org/vlc/file/trun ... g/ffmpeg.c
with lots of Video and Audio codecs (Codec fourcc -> ffmpeg_id mapping), but as I read the file these are decoder codecs and not encoder. Anyone have an opinion on this one?

dionoea
Cone Master
Cone Master
Posts: 5157
Joined: 03 Dec 2003 23:09
Location: Paris, France

Postby dionoea » 23 Nov 2005 15:55

but as I read the file these are decoder codecs and not encoder.
encoder and decoder fourccs are the same. I suggest that you have a look at the fourcc list here : http://www.fourcc.org (click on "Video Codecs")

for the mux format, you should have a look at the modules/mux/ and modules/demux/ folders in VLC source code.

good luck !
Antoine Cellerier
dionoea
(Please do not use private messages for support questions)

Polyphem
Blank Cone
Blank Cone
Posts: 15
Joined: 14 Nov 2005 09:35

Postby Polyphem » 23 Nov 2005 16:39

encoder and decoder fourccs are the same. I suggest that you have a look at the fourcc list here : http://www.fourcc.org (click on "Video Codecs")
Thanks for the link, the principle is shortly described here:
http://en.wikipedia.org/wiki/FOURCC
But I guess what you wanted to say is, that encoding and decoding naming conventions for the fourcc's are the same, nevertheless as I interpret it, the fourcc's mentioned in the ffmpeg.c file are purly supported by VLC to decode files. I want to create a list of fourcc's which VLC supports for encoding (with the command line interface).
for the mux format, you should have a look at the modules/mux/ and modules/demux/ folders in VLC source code.
/mux for encoding, /demux for decoding, right? Thanks for the input.

dionoea
Cone Master
Cone Master
Posts: 5157
Joined: 03 Dec 2003 23:09
Location: Paris, France

Postby dionoea » 23 Nov 2005 17:12

ffmpeg is used for both encoding and decoding in VLC (well, some formats use other libraries), see modules/codec.

the ffmpeg.c file just maps the fourcc (VLC_FOURCC(?,?,?,?)) to the ffmpeg codec name. Some of those can only be decoded, others can be encoded and decoded by ffmpeg. You'll have to look at the ffmpeg source code for more info (in the libavcodec/ directory).

hope that helps
Antoine Cellerier
dionoea
(Please do not use private messages for support questions)


Return to “VLC stream-output (sout)”

Who is online

Users browsing this forum: No registered users and 11 guests