Aug 10

FFmpeg - Convert any audio/video format in Linux

Scribbled on Sunday, August 10th, 2008

Converting an audio or video file from one format to another format is a question that every newbie asks about.

Problem:

  • How do I convert flv files downloaded from Youtube ?
  • How do I convert rm to mp3 ?
  • How do I extract audio from a video ?
  • How do I convert that friggin quicktime video to avi ?
  • How do I rescale the aspect or change frame rates or audio/video bit-rate of a media file ?

So here am rolling the dice to show you a cool all in one option. Yes you don’t need to download any GUI or any bloat software. Just one command and a simple syntax to get things rolling.

Solution:

Download FFmpeg

Ubuntu users

sudo apt-get install ffmpeg

Arch Linux users

pacman -S ffmpeg

Now once its installed, use this simple syntax:

ffmpeg -i inputfilename outputfilename

Here -i is used to specify inputfile (inputfilename) and after that comes the outputfile (outputfilename)

For first case (flv to avi):

ffmpeg -i inputfilename.flv outputfilename.avi

you can also convert it to any other video format.


For second case (rm to mp3)

ffmpeg -i inputfilename.rm outputfile.mp3

now if you wanted that rm file as ogg format, then

ffmpeg -i inputfilename.em outputfile.ogg

For third case (extracting audio from video)

suppose the video file is in avi format, then

ffmpeg -i inputfilename.avi outputfilename.mp3

yeah there you extracted audio too, isn’t it simple :)
For the fourth case (quicktime to avi):

its simple

ffmpeg -i inputfilename.mov outputfilename.avi

For fifth case :

Video options-

First I would like to change the resolution, so

ffmpeg -i inputfilename.avi -s svga outputfilename.avi

-s option sets the resolution, here are some other values you may find useful

sqcif 128×96

qcif 176×144

cif 352×288

4cif 704×576

qqvga 160×120

qvga 320×240

vga 640×480

svga 800×600

xga 1024×768

uxga 1600×1200

qxga 2048×1536

sxga 1280×1024

qsxga 2560×2048

hsxga 5120×4096

wvga 852×480

wxga 1366×768

wsxga 1600×1024

wuxga 1920×1200

woxga 2560×1600

wqsxga 3200×2048

wquxga 3840×2400

whsxga 6400×4096

whuxga 7680×4800

cga 320×200

ega 640×350

hd480 852×480

hd720 1280×720

hd1080 1920×1080

Next sub-case is to change the aspect ratio to widescreen 16:9

ffmpeg -i inputfilename.avi -aspect 16:9 outputfilename.avi

Other value is 4:3, alternatively you can use 1.3333 and 1.7777 too

Now the time to change bit-rate (lets say to 400Kb/s)

ffmpeg -i inputfilename.avi -b 400k outputfilename.avi

yep !

This time lets change the fps (not First Person Shooter) Frames per second:

ffmpeg -i inputfilename.avi -r 4 outputfilename.avi

I changed frame rate to choppy 4 fps from 25 fps. Remember the option starts with r and not f.

Lets now see some options to cropping the video or apply padding:

-croptop size
Set top crop band size (in pixels).

-cropbottom size
Set bottom crop band size (in pixels).

-cropleft size
Set left crop band size (in pixels).

-cropright size
Set right crop band size (in pixels).

-padtop size
Set top pad band size (in pixels).

-padbottom size
Set bottom pad band size (in pixels).

-padleft size
Set left pad band size (in pixels).

-padright size
Set right pad band size (in pixels).

Audio Options-

Set the sampling rate (to 60000Hz):

ffmpeg -i inputfilename.mp3 -ar 60000 outputfilename.mp3

Now comes the audio bitrate setting part (setting it to 196kb/s)

ffmpeg -i inputfilename.mp3 -ab 192k  outputfilename.mp3

If you like to have only one audio channel:

ffmpeg -i inputfilename.avi -ac 1 outputfilename.mp3

List of format supported by FFmpeg

File formats:
E 3g2             3GP2 format
E 3gp             3GP format
D  4xm             4X Technologies format
D  IFF             IFF format
D  MTV             MTV format
DE RoQ             id RoQ format
D  aac             ADTS AAC
DE ac3             raw AC-3
E adts            ADTS AAC
DE aiff            Audio IFF
DE alaw            PCM A-law format
DE amr             3GPP AMR file format
D  apc             CRYO APC format
D  ape             Monkey’s Audio
DE asf             ASF format
E asf_stream      ASF format
DE au              SUN AU format
DE avi             AVI format
E avm2            Flash 9 (AVM2) format
D  avs             AVS format
D  bethsoftvid     Bethesda Softworks VID format
D  bfi             Brute Force & Ignorance
D  c93             Interplay C93
E crc             CRC testing format
D  daud            D-Cinema audio format
DE dirac           raw Dirac
D  dsicin          Delphine Software International CIN format
DE dts             raw DTS
DE dv              DV video format
D  dv1394          DV1394 A/V grab
E dvd             MPEG-2 PS format (DVD VOB)
D  dxa             DXA
D  ea              Electronic Arts Multimedia Format
D  ea_cdata        Electronic Arts cdata
DE ffm             ffm format
D  film_cpk        Sega FILM/CPK format
DE flac            raw FLAC
D  flic            FLI/FLC/FLX animation format
DE flv             FLV format
E framecrc        framecrc testing format
E gif             GIF Animation
D  gsm             GSM
DE gxf             GXF format
DE h261            raw H.261
DE h263            raw H.263
DE h264            raw H.264 video format
D  idcin           id CIN format
DE image2          image2 sequence
DE image2pipe      piped image2 sequence
D  ingenient       Ingenient MJPEG
D  ipmovie         Interplay MVE format
E ipod            iPod H.264 MP4 format
D  lmlm4           lmlm4 raw format
DE m4v             raw MPEG-4 video format
DE matroska        Matroska file format
DE mjpeg           MJPEG video
D  mlp             raw MLP
D  mm              American Laser Games MM format
DE mmf             mmf format
E mov             MOV format
D  mov,mp4,m4a,3gp,3g2,mj2 QuickTime/MPEG-4/Motion JPEG 2000 format
E mp2             MPEG audio layer 2
DE mp3             MPEG audio layer 3
E mp4             MP4 format
D  mpc             Musepack
D  mpc8            Musepack SV8
DE mpeg            MPEG-1 System format
E mpeg1video      MPEG video
E mpeg2video      MPEG-2 video
DE mpegts          MPEG-2 transport stream format
D  mpegtsraw       MPEG-2 raw transport stream format
D  mpegvideo       MPEG video
E mpjpeg          Mime multipart JPEG format
D  msnwctcp        MSN TCP Webcam stream
DE mulaw           PCM mu-law format
D  mvi             Motion Pixels MVI format
D  mxf             MXF format
D  nsv             NullSoft Video format
E null            null video format
DE nut             NUT format
D  nuv             NuppelVideo format
DE ogg             Ogg
D  oma             Sony OpenMG audio
DE oss             audio grab and output
E psp             PSP MP4 format
D  psxstr          Sony Playstation STR format
D  pva             TechnoTrend PVA file and stream format
DE rawvideo        raw video format
D  redir           Redirector format
D  rl2             rl2 format
DE rm              RM format
D  rpl             RPL/ARMovie format
E rtp             RTP output format
D  rtsp            RTSP input format
DE s16be           PCM signed 16 bit big-endian format
DE s16le           PCM signed 16 bit little-endian format
DE s8              PCM signed 8 bit format
D  sdp             SDP
D  shn             raw Shorten
D  siff            Beam Software SIFF
D  smk             Smacker video
D  sol             Sierra SOL format
E svcd            MPEG-2 PS format (VOB)
DE swf             Flash format
D  thp             THP
D  tiertexseq      Tiertex Limited SEQ format
D  tta             True Audio
D  txd             txd format
DE u16be           PCM unsigned 16 bit big-endian format
DE u16le           PCM unsigned 16 bit little-endian format
DE u8              PCM unsigned 8 bit format
D  vc1             raw VC-1
D  vc1test         VC-1 test bitstream format
E vcd             MPEG-1 System format (VCD)
D  video4linux     video grab
D  video4linux2    video grab
D  vmd             Sierra VMD format
E vob             MPEG-2 PS format (VOB)
DE voc             Creative Voice file format
DE wav             WAV format
D  wc3movie        Wing Commander III movie format
D  wsaud           Westwood Studios audio format
D  wsvqa           Westwood Studios VQA format
D  wv              WavPack
D  x11grab         X11grab
D  xa              Maxis XA File Format
DE yuv4mpegpipe    YUV4MPEG pipe format

Codecs:
D V    4xm             4X Movie
D V D  8bps            QuickTime 8BPS video
D A    8svx_exp        8SVX exponential
D A    8svx_fib        8SVX fibonacci
D V D  aasc            Autodesk RLE
EA    ac3             ATSC A/52 / AC-3
D A    adpcm_4xm       4X Movie ADPCM
DEA    adpcm_adx       SEGA CRI ADX
D A    adpcm_ct        Creative Technology ADPCM
D A    adpcm_ea        Electronic Arts ADPCM
D A    adpcm_ea_maxis_xa Electronic Arts Maxis CDROM XA ADPCM
D A    adpcm_ea_r1     Electronic Arts R1 ADPCM
D A    adpcm_ea_r2     Electronic Arts R2 ADPCM
D A    adpcm_ea_r3     Electronic Arts R3 ADPCM
D A    adpcm_ea_xas    Electronic Arts XAS ADPCM
D A    adpcm_ima_amv   IMA AMV ADPCM
D A    adpcm_ima_dk3   IMA Duck DK3 ADPCM
D A    adpcm_ima_dk4   IMA Duck DK4 ADPCM
D A    adpcm_ima_ea_eacs IMA Electronic Arts EACS ADPCM
D A    adpcm_ima_ea_sead IMA Electronic Arts SEAD ADPCM
DEA    adpcm_ima_qt    IMA QuickTime ADPCM
D A    adpcm_ima_smjpeg IMA Loki SDL MJPEG ADPCM
DEA    adpcm_ima_wav   IMA Wav ADPCM
D A    adpcm_ima_ws    IMA Westwood ADPCM
DEA    adpcm_ms        Microsoft ADPCM
D A    adpcm_sbpro_2   Sound Blaster Pro 2-bit ADPCM
D A    adpcm_sbpro_3   Sound Blaster Pro 2.6-bit ADPCM
D A    adpcm_sbpro_4   Sound Blaster Pro 4-bit ADPCM
DEA    adpcm_swf       Shockwave Flash ADPCM
D A    adpcm_thp       Nintendo Gamecube THP ADPCM
D A    adpcm_xa        CDROM XA ADPCM
DEA    adpcm_yamaha    Yamaha ADPCM
D A    alac            ALAC (Apple Lossless Audio Codec)
D V    amv             AMV Video
D A    ape             Monkey’s Audio
DEV D  asv1            ASUS V1
DEV D  asv2            ASUS V2
D A    atrac3          Atrac 3 (Adaptive TRansform Acoustic Coding 3)
D V D  avs             AVS (Audio Video Standard) video
D V    bethsoftvid     Bethesda VID video
D V    bfi             Brute Force & Ignorance
DEV    bmp             BMP image
D V D  c93             Interplay C93
D V D  camstudio       CamStudio
D V D  camtasia        TechSmith Screen Capture Codec
D V D  cavs            Chinese AVS video (AVS1-P2, JiZhun profile)
D V D  cinepak         Cinepak
D V D  cljr            Cirrus Logic AccuPak
D A    cook            COOK
D V D  cyuv            Creative YUV (CYUV)
D A    dca             DCA (DTS Coherent Acoustics)
DEV D  dnxhd           VC3/DNxHD
D A    dsicinaudio     Delphine Software International CIN audio
D V D  dsicinvideo     Delphine Software International CIN video
DES    dvbsub          DVB subtitles
DES    dvdsub          DVD subtitles
DEV D  dvvideo         DV (Digital Video)
D V    dxa             Feeble Files/ScummVM DXA
D V D  eacmv           Electronic Arts CMV Video
D V D  escape124       Escape 124
DEV D  ffv1            FFmpeg codec #1
DEVSD  ffvhuff         Huffyuv FFmpeg variant
DEA    flac            FLAC (Free Lossless Audio Codec)
DEV D  flashsv         Flash Screen Video
D V D  flic            Autodesk Animator Flic video
DEVSD  flv             Flash Video
D V D  fraps           Fraps
DEA    g726            G.726 ADPCM
DEV    gif             GIF (Graphics Interchange Format)
DEV D  h261            H.261
DEVSDT h263            H.263
D VSD  h263i           H.263i
EV    h263p           H.263+ / H.263 version 2
D V DT h264            H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10
DEVSD  huffyuv         Huffyuv / HuffYUV
D V D  idcinvideo      id Quake II CIN video
D A    imc             IMC (Intel Music Coder)
D V D  indeo2          Intel Indeo 2
D V    indeo3          Intel Indeo 3
D A    interplay_dpcm  Interplay DPCM
D V D  interplayvideo  Interplay MVE Video
DEV D  jpegls          JPEG-LS
D V    kmvc            Karl Morton’s video codec
D A    liba52          liba52 ATSC A/52 / AC-3
EA    libfaac         libfaac AAC (Advanced Audio Codec)
D A    libfaad         libfaad AAC (Advanced Audio Codec)
EA    libmp3lame      libmp3lame MP3 (MPEG audio layer 3)
EV    libtheora       libtheora Theora
EA    libvorbis       libvorbis Vorbis
EV    libx264         libx264 H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10
EV    libxvid         libxvidcore MPEG-4 part 2
EV    ljpeg           Lossless JPEG
D V D  loco            LOCO
D A    mace3           MACE (Macintosh Audio Compression/Expansion) 3:1
D A    mace6           MACE (Macintosh Audio Compression/Expansion) 6:1
D V D  mdec            Sony PlayStation MDEC (Motion DECoder)
D V D  mimic           Mimic
DEV D  mjpeg           MJPEG (Motion JPEG)
D V D  mjpegb          Apple MJPEG-B
D A    mlp             Meridian Lossless Packing
D V D  mmvideo         American Laser Games MM Video
D V D  motionpixels    Motion Pixels Video
DEA    mp2             MP2 (MPEG audio layer 2)
D A    mp3             MP3 (MPEG audio layer 3)
D A    mp3adu          ADU (Application Data Unit) MP3 (MPEG audio layer 3)
D A    mp3on4          MP3onMP4
D A    mpc7            Musepack SV7
D A    mpc8            Musepack SV8
DEVSDT mpeg1video      MPEG-1 video
DEVSDT mpeg2video      MPEG-2 video
DEVSDT mpeg4           MPEG-4 part 2
D A    mpeg4aac        libfaad AAC (Advanced Audio Codec)
D VSDT mpegvideo       MPEG-1 video
DEVSD  msmpeg4         MPEG-4 part 2 Microsoft variant version 3
DEVSD  msmpeg4v1       MPEG-4 part 2 Microsoft variant version 1
DEVSD  msmpeg4v2       MPEG-4 part 2 Microsoft variant version 2
D V D  msrle           Microsoft RLE
D V D  msvideo1        Microsoft Video 1
D V D  mszh            LCL (LossLess Codec Library) MSZH
D A    nellymoser      Nellymoser Asao
D V D  nuv             NuppelVideo
DEV    pam             PAM (Portable AnyMap) image
DEV    pbm             PBM (Portable BitMap) image
DEA    pcm_alaw        A-law PCM
D A    pcm_dvd         signed 16|20|24-bit big-endian PCM
DEA    pcm_mulaw       mu-law PCM
DEA    pcm_s16be       signed 16-bit big-endian PCM
DEA    pcm_s16le       signed 16-bit little-endian PCM
D A    pcm_s16le_planar 16-bit little-endian planar PCM
DEA    pcm_s24be       signed 24-bit big-endian PCM
DEA    pcm_s24daud     D-Cinema audio signed 24-bit PCM
DEA    pcm_s24le       signed 24-bit little-endian PCM
DEA    pcm_s32be       signed 32-bit big-endian PCM
DEA    pcm_s32le       signed 32-bit little-endian PCM
DEA    pcm_s8          signed 8-bit PCM
DEA    pcm_u16be       unsigned 16-bit big-endian PCM
DEA    pcm_u16le       unsigned 16-bit little-endian PCM
DEA    pcm_u24be       unsigned 24-bit big-endian PCM
DEA    pcm_u24le       unsigned 24-bit little-endian PCM
DEA    pcm_u32be       unsigned 32-bit big-endian PCM
DEA    pcm_u32le       unsigned 32-bit little-endian PCM
DEA    pcm_u8          unsigned 8-bit PCM
DEA    pcm_zork        Zork PCM
D V    pcx             PC Paintbrush PCX image
DEV    pgm             PGM (Portable GrayMap) image
DEV    pgmyuv          PGMYUV (Portable GrayMap YUV) image
DEV    png             PNG image
DEV    ppm             PPM (Portable PixelMap) image
D V    ptx             V.Flash PTX image
D A    qdm2            QDesign Music Codec 2
D V D  qdraw           Apple QuickDraw
D V D  qpeg            Q-team QPEG
DEV D  qtrle           QuickTime Animation (RLE) video
DEV    rawvideo        raw video
D A    real_144        RealAudio 1.0 (14.4K)
D A    real_288        RealAudio 2.0 (28.8K)
D V D  rl2             RL2 video
DEA    roq_dpcm        id RoQ DPCM
DEV D  roqvideo        id RoQ video
D V D  rpza            QuickTime video (RPZA)
DEV D  rv10            RealVideo 1.0
DEV D  rv20            RealVideo 2.0
DEV    sgi             SGI image
D A    shorten         Shorten
D A    smackaud        Smacker audio
D V    smackvid        Smacker video
D V D  smc             QuickTime Graphics (SMC)
DEV    snow            Snow
D A    sol_dpcm        Sol DPCM
DEA    sonic           Sonic
EA    sonicls         Sonic lossless
D V D  sp5x            Sunplus JPEG (SP5X)
D V    sunrast         Sun Rasterfile image
DEV D  svq1            Sorenson Vector Quantizer 1
D VSD  svq3            Sorenson Vector Quantizer 3
DEV    targa           Truevision Targa image
D V    theora          Theora
D V D  thp             Nintendo Gamecube THP video
D V D  tiertexseqvideo Tiertex Limited SEQ video
DEV    tiff            TIFF image
D V D  truemotion1     Duck TrueMotion 1.0
D V D  truemotion2     Duck TrueMotion 2.0
D A    truespeech      DSP Group TrueSpeech
D A    tta             True Audio
D V    txd             Renderware TXD (TeXture Dictionary) image
D V D  ultimotion      IBM UltiMotion
D V    vb              Beam Software VB
D V    vc1             SMPTE VC-1
D V D  vcr1            ATI VCR1
D A    vmdaudio        Sierra VMD audio
D V D  vmdvideo        Sierra VMD video
D V    vmnc            VMware Screen Codec / VMware Video
DEA    vorbis          Vorbis
D V    vp3             On2 VP3
D V D  vp5             On2 VP5
D V D  vp6             On2 VP6
D V D  vp6a            On2 VP6 (Flash version, with alpha channel)
D V D  vp6f            On2 VP6 (Flash version)
D V D  vqavideo        Westwood Studios VQA (Vector Quantized Animation) video
D A    wavpack         WavPack
DEA    wmav1           Windows Media Audio 1
DEA    wmav2           Windows Media Audio 2
DEVSD  wmv1            Windows Media Video 7
DEVSD  wmv2            Windows Media Video 8
D V    wmv3            Windows Media Video 9
D V D  wnv1            Winnov WNV1
D A    ws_snd1         Westwood Audio (SND1)
D A    xan_dpcm        Xan DPCM
D V D  xan_wc3         Wing Commander III / Xan
D V D  xl              Miro VideoXL
D S    xsub            XSUB
DEV D  zlib            LCL (LossLess Codec Library) ZLIB
DEV    zmbv            Zip Motion Blocks Video

There is a lot more you can do with ffmpeg, including grabbing X Window and audio/video grabbing. YUV conversions too.


Enjoyed this post? Subscribe to Full Feeds or by Email and receive free daily updates on this Blog.

Related posts:

  1. Arch Linux installation from ground up Updated on: 31 July, 2008 at 4:28 PM IST NOTE:...
  2. Arch Linux uses SuSe’s code ! Just open /etc/profile file and see. some sections taken from...
  3. Dropbox installation on Linux and a brief review ! Updated on: 14 Sep, 2008 at 2:16 PM IST Added...
  4. Look ! A virus in my Linux box :p We all live in together here. My Linux box doesn’t...
  5. Funny moments in Linux Here are some pretty funny moments captured in Linux :p...

Related posts brought to you by Yet Another Related Posts Plugin.

  1. 6 Responses to “FFmpeg - Convert any audio/video format in Linux”

  2. 1

    @T: how are you? Is everything ok? :)
    *wishing you a happy week*

    By Smallstar on Mon 11th Aug, 2008

  3. 2

    Hey man! u added fuel to my burning desire to ditch WinXP and switch to linux… i did it alright! but, my RAM wouldn’t budge. :( i’ve got only 256 MB and you must be knowing how things work in minimum req conditions… :( so, i’ve put off using Linux till i get some extra RAM. which may be within a week… Thnx for the extra support dude…

    By Su on Mon 11th Aug, 2008

  4. 3

    @Smallstar
    Me so fine

    @Su
    Try it at your leisure. No haste.

    By T on Mon 11th Aug, 2008

  5. 4

    @T: and me so happy for ya! :D

    By Smallstar on Thu 14th Aug, 2008

  6. 5

    @Smallstar
    rock on !

    By T on Thu 14th Aug, 2008

  7. 6

    YEEEAAAH MAN!! LOL

    By Smallstar on Thu 14th Aug, 2008

Post a Comment

August 2008
M T W T F S S
« Jul   Sep »
 123
45678910
11121314151617
18192021222324
25262728293031