avconv -y -i input.avi -b 915k -an -f mp4 -ar 44100 -f s16le -ac 2 -i /dev/zero -acodec libfaac -ab 128k -strict experimental -shortest -vcodec libx264 output.mp4 -loglevel fatal
1 Answers
First of all, this seems to be an old version of avconv, since the command line has changed since then (but not too much).
So, let's break it down:
-y
This answers 'yes' to questions like "do you want to overwrite the output file".
-i input.avi
This gives the program the file input.avi as an input
-b 915k
This asks to change the bitrate to 915 Kibibytes per second
-an
This removes all the audio from the output.
-f mp4
Sets up MP4 as the format of the output file
-ar 44100
This sets audio sampling rate of the following input file.
-f s16le
This sets the format of the audio of the following input file.
-ac 2
This sets number of channels of audio to two.
-i /dev/zero
This adds another input file that consists entirely of zero input
-acodec libfaac
This reencodes the audio (silence most likely) with libfaac
-ab 128k
Setting the audio bitrate to 128 Kbps
-strict experimental
Allows avconv to use nonstandard approaches while encoding.
-shortest
Ends encoding when the shortest of the inputs has ended. This is needed because /dev/zero will never end.
-vcodec libx264
This sets the library to do the video encoding. The codec will be (unfortunately) h264
output.mp4
This is the name of the output file
-loglevel fatal
Fatal messages will be written as the log, and that's it.
In the future you may find man avconv
to be your friend.

- 5,296
- 7
- 28
- 48
-
Thanks! Any idea why someone would disable audio with the flag, then set a bunch of audio settings? (I'm trying to reverse engineer a program that may or may not make sense.) – Dr. Chocolate Apr 22 '15 at 17:41
-
Because a person wanted an audio track that was silent... for whatever reason. Basically the sound from the input file is substituted with /dev/zero. What was this needed? Who knows. – v010dya Apr 22 '15 at 19:38