ffmpeg 使用方法

 1、Convert mpg file to flv file:

ffmpeg -i test.mpg -ab 56 -ar 22050 -b 500 -r 15 -s 320x240 test.flv

In the command above,we convert the test.mpg to test.flv which size is 320*240,frame rate is 15p/s and other parameters are set.

2、Render Images from Video

ffmpeg -an -y -t 0:0:0.001 -i test.flv -f image2 test%d.jpg

We get just one image test1.jpg from the video and the image is at the time 0:0:0.001of test.flv.

3、Encode Single Images to Video

First,rename your images to follow a numerical sequence.

For example, img1.jpg,img2.jpg,img3.jpg...

Then run the following command:

ffmpeg -f image2 -i img%d.jpg /tmp/a.mpg

Notice the symbol '%d' is replaced by the image number.For example '%03d' means the file sequence:img001.jpg,img002.jpg,img003.jpg...

4、Encode video to pictures:

Use:
  ffmpeg -i movie.mpg movie%d.jpg

The {movie.mpg} used as input will be converted to
{movie1.jpg}, {movie2.jpg}, etc...

Instead of relying on file format self-recognition, you may also use
-vcodec ppm
 -vcodec png
-vcodec mjpeg
to force the encoding.

Applying that to the previous example:
  ffmpeg -i movie.mpg -f image2 -vcodec mjpeg menu%d.jpg

Beware that there is no "jpeg" codec. Use "mjpeg" instead.

 5、Join 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.


ffmpeg -i input1.avi -sameq intermediate1.mpg
ffmpeg -i input2.avi -sameq intermediate2.mpg
cat intermediate1.mpg intermediate2.mpg > intermediate_all.mpg
ffmpeg -i intermediate_all.mpg -sameq output.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:


mkfifo intermediate1.mpg
mkfifo intermediate2.mpg
ffmpeg -i input1.avi -sameq -y intermediate1.mpg < /dev/null &
ffmpeg -i input2.avi -sameq -y intermediate2.mpg < /dev/null &
cat intermediate1.mpg intermediate2.mpg |/
ffmpeg -f mpeg -i - -sameq -vcodec mpeg4 -acodec libmp3lame output.avi

Similarly, the yuv4mpegpipe format, and the raw video, raw audio codecs also
allow concatenation, and the transcoding step is almost lossless.

For example, let's say we want to join two FLV files into an output.flv file:


mkfifo temp1.a
mkfifo temp1.v
mkfifo temp2.a
mkfifo temp2.v
mkfifo all.a
mkfifo all.v
ffmpeg -i input1.flv -vn -f u16le -acodec pcm_s16le -ac 2 -ar 44100 - > temp1.a < /dev/null &
ffmpeg -i input2.flv -vn -f u16le -acodec pcm_s16le -ac 2 -ar 44100 - > temp2.a < /dev/null &
ffmpeg -i input1.flv -an -f yuv4mpegpipe - > temp1.v < /dev/null &
ffmpeg -i input2.flv -an -f yuv4mpegpipe - > temp2.v < /dev/null &
cat temp1.a temp2.a > all.a &
cat temp1.v temp2.v > all.v &
ffmpeg -f u16le -acodec pcm_s16le -ac 2 -ar 44100 -i all.a /
       -f yuv4mpegpipe -i all.v /
       -sameq -y output.flv
rm temp[12].[av] all.[av]



评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值