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.

No related posts.

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

  1. 7 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

  8. 7

    You R The man

    thanks Alot :))

    By Mr.Xprt on Sat 18th Jul, 2009

Post a Comment

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