FFmpeg supports most of the popular formats, we don’t need to worry a lot about that. Formats supported by FFmpeg include MPEG, MPEG-4 (Divx), ASF, AVI, Real Audio/Video and Quicktime. To see a list of all the codecs/formats supported by FFmpeg, run the following command:
ffmpeg -formats
1. X11 grabbing
FFmpeg can grab the X11 display.ffmpeg -f x11grab -s cif -i :0.0 /tmp/out.mpg
ffmpeg -f x11grab -s cif -i :0.0+10,20 /tmp/out.mpg
ffmpeg -f x11grab -r 25 -s 800x600 -i :0.0 /tmp/outputFile.mpg
2. Convert Pictures To Movie
First, rename your pictures to follow a numerical sequence. For example, img1.jpg, img2.jpg, img3.jpg,… Then you may run:ffmpeg -f image2 -i img%d.jpg /tmp/a.mpg
`img%03d.jpg' means the sequence `img001.jpg', `img002.jpg', etc…
If you have large number of pictures to rename, you can use the following command to ease the burden. The command, using the bourne shell syntax, symbolically links all files in the current directory that match
*jpg
to the `/tmp' directory in the sequence of `img001.jpg', `img002.jpg' and so on.x=1; for i in *jpg; do counter=$(printf %03d $x); ln "$i" /tmp/img"$counter".jpg; x=$(($x+1)); done
$(ls -r -t *jpg)
in place of *jpg
.Then run:
ffmpeg -f image2 -i /tmp/img%03d.jpg /tmp/a.mpg
3. Video Conversions
Quick and dirty convert to flvffmpeg -i inputfile.mp4 outputfile.flv
Convert .flv to .3gp
ffmpeg -i file.flv -r 15 -b 128k -s qcif -acodec amr_nb -ar 8000 -ac 1 -ab 13 -f 3gp -y out.3gp
Convert AVI to iPhone MP4
ffmpeg -i [source].avi -f mp4 -vcodec mpeg4 -b 250000 -s 480?320 -acodec aac -ar 24000 -ab 64 -ac 2 [destination].mp4
ffmpeg -i source-xvid.avi -s 480x320 -aspect 4:3 -b 768k -ab 64k -ar 22050 -r 30000/1001 OUT.mp4
ffmpeg -i source-xvid.avi -s 480x320 -aspect 16:9 -b 768k -ab 64k -ar 22050 -r 30000/1001 OUT.mp4
ffmpeg -i mymovie.mpg -ar 22050 -acodec libmp3lame -ab 32K -r 25 -s 320x240 -vcodec flv mytarget.flv
The -r 25 sets the frame rate for PAL, for NTSC use 29.97
4. Audio Conversion
Convert RM file to mp3ffmpeg -i input.rm -acodec libmp3lame -ab 96k output.mp3
Converting WMV to MP3 using FFMPEG
ffmpeg -i audio1.wmv audio1.mp3
Converting WMV to FLV using FFMPEG
ffmpeg -i audio1.wmv audio1.flv
Converting AMR to MP3 using FFMPEG
ffmpeg -i audio1.amr -ar 22050 audio1.mp3
Converting aac to mp3 using FFMPEG
ffmpeg -i audio1.aac -ar 22050 -ab 32 audio1.mp3
Converting aac to mp3 using FFMPEG with MetaData
ffmpeg -i audio1.aac -ar 22050 -ab 32 -map_meta_data audio1.mp3:audio1.aac audio1.mp3
5. Audio Extraction
ffmpeg -i video.avi -f mp3 audio.mp3
ffmpeg -i input.flv -f mp3 -vn -acodec copy ouput.mp3
6. Record Audio and Video from webcam
To record video run ffmpeg with arguments such as these:ffmpeg -f video4linux2 -s 320x240 -i /dev/video0 out.mpg
ffmpeg -f oss -i /dev/dsp -f video4linux2 -s 320x240 -i /dev/video0 out.mpg
7. Copy Only A Part Of Video
Cut out a piece of film from a file. Choose an arbitrary length and starting time.ffmpeg -vcodec copy -acodec copy -i orginalfile -ss 00:01:30 -t 0:0:20 newfile
copy, you choose the video encoder that just copies the file.
-acodec, you choose what audio codec the new file should be encoded with.
copy, you choose the audio encoder that just copies the file.
-i originalfile, you provide the filename of the original file to ffmpeg
-ss 00:01:30, you choose the starting time on the original file in this case 1 min and 30 seconds into the film
-t 0:0:20, you choose the length of the new film
newfile, you choose the name of the file created.
Hence you may concatenate your multimedia files by first transcoding them to these privileged formats, then using the humble
Merge files
Merge and convert to avi
Notice that you should either use -sameq or set a reasonably high bitrate for your intermediate and output files, if you want to preserve video quality.
Also notice that you may avoid the huge intermediate files by taking advantage of named pipes, should your platform support it:
This assumes that there is a 10.2 sec delay between the video and the audio (delayed).
To extract the original video into a audio and video composites look at the command on extracting audio and video from a movie
Here is more information of how to use ffmpeg:
http://www.ffmpeg.org/ffmpeg-doc.html
REFERENCES
http://segfault.in/2010/10/ffmpeg-tricks-you-should-know-about/
-acodec, you choose what audio codec the new file should be encoded with.
copy, you choose the audio encoder that just copies the file.
-i originalfile, you provide the filename of the original file to ffmpeg
-ss 00:01:30, you choose the starting time on the original file in this case 1 min and 30 seconds into the film
-t 0:0:20, you choose the length of the new film
newfile, you choose the name of the file created.
8. Join Multiple Video Files
A few multimedia containers (MPEG-1, MPEG-2 PS, DV) allow to join video files by merely concatenating them.Hence you may concatenate your multimedia files by first transcoding them to these privileged formats, then using the humble
cat
command (or the equally humble copy
under Windows), and finally transcoding back to your format of choice.mkfifo orig1.mpg mkfifo orig2.mpg ffmpeg -i input1.avi -sameq -y orig1.mpg ffmpeg -i input2.avi -sameq -y orig2.mpg
cat orig1.mpg orig2.mpg | ffmpeg -f mpeg -i - -vcodec copy -acodec copy merged.mpg
cat orig1.mpg orig2.mpg | ffmpeg -f mpeg -i - -sameq -vcodec mpeg4 -acodec libmp3lame merged.avi
Also notice that you may avoid the huge intermediate files by taking advantage of named pipes, should your platform support it:
9. Removing Synchronization Problems Between Audio and Video
ffmpeg -i source_audio.mp3 -itsoffset 00:00:10.2 -i source_video.m2v target_video.flv
To extract the original video into a audio and video composites look at the command on extracting audio and video from a movie
Here is more information of how to use ffmpeg:
http://www.ffmpeg.org/ffmpeg-doc.html
REFERENCES
http://segfault.in/2010/10/ffmpeg-tricks-you-should-know-about/