Video commands

  • Here are some commands to get informations about the nature of a video:
    mplayer -frames 0 -identify ./video.avi
    tcprobe -i ./video.avi
    ffmpeg -i ./video.avi
    file ./video.avi
    

Mplayer / Mencoder

  • Change the aspect ratio of a film for the playback. Standard aspect ratio are : 1.33 (4:3), 1.66 (1.66:1), 1.77 (16:9) and 2.35 (2.35:1):
    mplayer -aspect 2:1 ./video.avi
    
  • Play the video with subtitles:
    mplayer -sub ./subtitle_file.txt ./video.avi
    
  • This will extract audio track no. 128, downmix the AC3 sound to PCM and write the results to file.wav:
    mplayer -vo null -hardframedrop -aid 128 -ao pcm -aofile file.wav dvd://1
    
  • This will extract the audio, convert it to PCM and write the resulting wave file to audio.wav:
    mplayer -vo null -hardframedrop -ao pcm:file=audio.wav myvideo.avi
    
  • Show all subtitles streams:
    mplayer -vo null -ao null -frames 0 -v 2 dvd://1 >&1 | grep sid
    
  • Create a rotated copy of the file.avi video (rotate=1 : clockwise ; rotate=2 : anti-clockwise):
    mencoder -vop rotate=2 -oac pcm -ovc lavc ./source.avi -o ./dest.avi
    
  • Preview a video composed of all jpeg files from the current folder at 15fps (mplayer only support jpeg, png, tga and sgi formats):
    mplayer "mf://*.jpg" -mf fps=15
    
  • Create a 15fps video from all jpeg files of the current folder:
    mencoder "mf://*.jpg" -mf fps=15 -ovc lavc -o ./dest.avi
    
  • Encode a SVCD to AVI file:
    mencoder -oac lavc -ovc lavc vcd://1 -o ./svcd.avi
    
  • Transcode video to raw format (be carefull: usually the output video got annoying audio delay):
    mencoder -oac pcm -ovc raw -ofps 25 -noskip ./video.wmv -o ./video.avi
    
  • Encode a video using the default mpeg4 codec at 400 kbps for video and mp3 codec at constant 32 kbps bitrate for audio:
    mencoder -oac mp3lame -lameopts cbr:preset=32 -ovc lavc -lavcopts vbitrate=400 in.avi -o out.avi
    
  • Enhance the sharpness of the video:
    mplayer video.avi -vf smartblur=.6:-.5:0,unsharp=l5x5:.8:c5x5:.4
    
  • Cut a video to keep the first 5.4 seconds:
    mencoder big-file.avi -ss 0 -endpos 5.4 -ovc copy -oac copy -o cutted.avi
    
  • Cut a video to keep everything exept the first 5.4 seconds:
    mencoder big-file.avi -ss 5.4 -ovc copy -oac copy -o cutted.avi
    
  • Show all mplayer filter list:
    mplayer -vf help
    
  • Get help of a particular filter (eq2 in this example):
    mplayer -vf eq2=help
    
  • Here is the filter I use to light up a video taken in the dark with my cheap camera. Of course it add noise but thanks to this we can distinguish shapes in the dark.
    mencoder -vf eq2=1.61:1.95:0.54:2.43 -oac pcm -ovc lavc video.avi -o bright-vid.avi
    
  • And this is the command to preview the result of the filter used above:
    mplayer video.avi -vf eq2=1.61:1.95:0.54:2.43
    
  • This is how I convert raw videos taken with my digital camera into ISO standard MPEG-4 (DivX 5, XVID compatible) videos [to encode in grayscale, add :gray option to -lavcopts]:
    mencoder source.avi -ovc lavc -oac lavc -ffourcc DX50 -lavcopts vcodec=mpeg4:vbitrate=400:v4mv:mbd=2:trell:autoaspect:dia=2:acodec=mp3:abitrate=32:vpass=1 -vf hqdn3d -o output.avi
    mencoder source.avi -ovc lavc -oac lavc -ffourcc DX50 -lavcopts vcodec=mpeg4:vbitrate=400:v4mv:mbd=2:trell:autoaspect:dia=2:acodec=mp3:abitrate=32:vpass=2 -vf hqdn3d -o output.avi
    
  • Play all videos of the current folder fullscreen at 4x speed with 50% more brightness:
    mplayer -speed 4 -brightness 50 -fs ./*.avi
    
  • Extract audio stream from a video:
    mplayer -dumpaudio -dumpfile audio.ac3 video_source.mpg
    

FFmpeg

  • Concatenate a series of videos and transcode the audio output to a flac file. This only works with certain multimedia container (MPEG-1, MPEG-2 PS, DV):
    cat M2U01802.MPG M2U01803.MPG M2U01804.MPG | ffmpeg -i - -acodec flac output.flac
    
  • Remove the first 16 seconds of video and change container to Matroska:
    ffmpeg -ss 16 -i ./MVI_8763.MOV -vcodec copy -acodec copy ./MVI_8763.mkv
    
  • Extract the first frame of a video (great to generate image preview):
    ffmpeg -i video.mov -r 1  -t 00:00:01 -f image2 images%05d.png
    
  • Transcode the video stream to the lossless HuffYUV codec:
    ffmpeg -i ./MVI_1714.MOV -vcodec huffyuv -sameq ./MVI_1714-lossless.avi
    

Transcode

  • Merge multiple video into one:
    avimerge -i part1.avi part2.avi -o big-file.avi
    
  • Extract the raw subtitle stream. The -a 0x21 option correspond to the subtitle stream’s hexadecimal number (= 0×20 + id of the stream):
    tccat -i /space/st-tng/dic1/ -T 1 -L | tcextract -x ps1 -t vob -a 0x22 > subs-en
    

VLC

  • Transcode the first video stream found in a m3u playlist to a 384 kbps MPEG-2 video and 48 kHz Vorbis audio, and serve the resulting stream ina Ogg container to http://localhost:8888. To save bandwisth we reduce by two the size of the video:
    vlc -vvv http://mafreebox.freebox.fr/freeboxtv/playlist.m3u --sout '#transcode{vcodec=mp2v,vb=384,scale=0.5,acodec=vorbis,ab=48,channels=1}:standard{access=http,mux=ogg,url=:8888}' -I ncurses 2> /dev/null
    

Others

  • Extract to chapter.txt the chapter file of the track n°1 of the DVD:
    dvdxchap -t 1 /mnt/cdrom > chapter.txt
    
  • Test XV video driver output via gstreamer v0.10:
    gst-launch-0.10 videotestsrc ! xvimagesink
    

12 thoughts on “Video commands

  1. To extract MP3 audio from an AVI or video file:

    ffmpeg -i video.avi extracted_mp3.mp3
    
  2. I’d like to convert a set of png and a single mp3 file into an movie file (avi, mpeg or other) is there a way to do this?

    Could I bother you to email me the response at
    menco.20.zdux0012 (at) xoxy.net ?

    Thanks for your time!!

  3. I want to change aspect ratio of video in Linux .. How to do so ????

  4. Pingback: bonq.net/flipp » Blog Archive » daily del.icio.us [2007-12-13]

    • Taking screenshots:
      mplayer -vf screenshot t.mpg
      

      Take screenshots: s = one shot, S = start taking shots

    • Save streamed internet video:
      mplayer -dumpstream -playlist stream.ram
      
    • Also the tovid suite of programs to convert files to convert to dvd format and author dvd.
  5. Pingback: Conocimiento libre » Varios modificación audio/video

  6. Thanks a lot for your great website !!!

    I am working on this for several nights with no answer :(

    I am trying to convert mov(audio+text subtitle) to 3gp (video)

    I am using this command ( I compiled the ffmpeg, libamr-nb, libamr-wb, libfaac packages):

    ffmpeg -i input.mov -s qcif -r 12 -ac 1 -ar 8000 -b 30  -ab 12.2k  -t 60  -scodec copy output_sub.3gp
    

    but I cannot see the subtitles , not in the PC and not in the mobile.

    Maybe I need to convert the mov to 3gp movie stream ( how do i do it ? )? If you could please help me – i will be more than grateful !!! Thanks u so much !!! I am desperate !!!

    Jor

    =====================================
    Input file
    =====================================
    [user@comuter big_samples]$ ffmpeg -i  input.mov
    FFmpeg version 0.5, Copyright (c) 2000-2009 Fabrice Bellard, et al.
      configuration: --enable-libamr-nb --enable-libamr-wb --enable-libfaac --enable-decoder=h263 --enable-encoder=h263 --enable-gpl --enable-nonfree
      libavutil     49.15. 0 / 49.15. 0
      libavcodec    52.20. 0 / 52.20. 0
      libavformat   52.31. 0 / 52.31. 0
      libavdevice   52. 1. 0 / 52. 1. 0
      built on May 19 2009 06:11:19, gcc: 4.1.2 20070925 (Red Hat 4.1.2-33)
    [mov,mp4,m4a,3gp,3g2,mj2 @ 0x8920290]multiple edit list entries, a/v desync might occur, patch welcome
    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from input.mov':
      Duration: 00:04:37.07, start: 0.000000, bitrate: 1412 kb/s
        Stream #0.0(eng): Audio: pcm_s16be, 44100 Hz, stereo, s16, 1411 kb/s
        Stream #0.1(eng): Subtitle: text / 0x74786574
    At least one output file must be specified
    =====================================
    Output file
    =====================================
    [user@comuter big_samples]$ ffmpeg -i  output_sub.3gp
    FFmpeg version 0.5, Copyright (c) 2000-2009 Fabrice Bellard, et al.
      configuration: --enable-libamr-nb --enable-libamr-wb --enable-libfaac --enable-decoder=h263 --enable-encoder=h263 --enable-gpl --enable-nonfree
      libavutil     49.15. 0 / 49.15. 0
      libavcodec    52.20. 0 / 52.20. 0
      libavformat   52.31. 0 / 52.31. 0
      libavdevice   52. 1. 0 / 52. 1. 0
      built on May 19 2009 06:11:19, gcc: 4.1.2 20070925 (Red Hat 4.1.2-33)
    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'output_sub.3gp':
      Duration: 00:01:01.66, start: 0.000000, bitrate: 15 kb/s
        Stream #0.0(eng): Audio: libamr_nb, 8000 Hz, mono, s16
        Stream #0.1(eng): Subtitle: tx3g / 0x67337874
    At least one output file must be specified
    =====================================
    Other 3gp video example that works on my mobile
    =====================================
    [user@comuter big_samples]$ ffmpeg -i  myphone.3gp
    FFmpeg version 0.5, Copyright (c) 2000-2009 Fabrice Bellard, et al.
      configuration: --enable-libamr-nb --enable-libamr-wb --enable-libfaac --enable-decoder=h263 --enable-encoder=h263 --enable-gpl --enable-nonfree
      libavutil     49.15. 0 / 49.15. 0
      libavcodec    52.20. 0 / 52.20. 0
      libavformat   52.31. 0 / 52.31. 0
      libavdevice   52. 1. 0 / 52. 1. 0
      built on May 19 2009 06:11:19, gcc: 4.1.2 20070925 (Red Hat 4.1.2-33)
    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'myphone.3gp':
      Duration: 00:00:06.80, start: 0.000000, bitrate: 77 kb/s
        Stream #0.0(eng): Video: h263, yuv420p, 176x144 [PAR 12:11 DAR 4:3], 29.97 tbr, 15750 tbn, 29.97 tbc
        Stream #0.1(eng): Audio: libamr_nb, 8000 Hz, mono, s16
    At least one output file must be specified
    
  7. Merge multiple video into one with Mencoder:

    mencoder -ovc copy -oac copy -idx -o videocomplete.avi part1.avi part2.avi
    
  8. Pingback: Cool Cavemen live at Gayant Expo, part II. | Kev's blog

  9. Pingback: All my command lines | Kevin Deldycke

Leave a Reply

Your email address will not be published.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Notify me of followup comments via e-mail. You can also subscribe without commenting.