Linux下ffmpeg视频转码的几个例子

最近做了一个并行视频转码的小软件,其中要用到ffmpeg这个工具,不同格式之间的转换,对于新手来说,参数也够头疼的,一下是我使用的几个实例。
1. mpeg转换到mp4
#!/bin/bash
if [ $# -lt 1 ];then
        echo "$0 inputfile [outputfile]"
        exit 1
fi
ifile=$1
ofile=${ifile}.mp4
ffmpeg -y -i $ifile  -ab 56 -ar 22050 -b 500000 -r 15 -s 320x240  -f mp4   $ofile
2. mkv转换到avi
         #!/bin/bash
        if [ $# -lt 1 ];then
              echo "$0 inputfile [outputfile]"
              exit 1
        fi
        ifile=$1
        ofile=${ifile}.avi
       # ffmpeg -ss $start -t $last  -i $ifile -ab 56 -ar 22050 -b 500000 -r 15 -s 320x240 -y $ofile
        ffmpeg -ss $start -t $last -i $inputf -target vcd  -y $outputf
3. avi转换到flv
      #!/bin/bash
if [ $# -lt 1 ];then
        echo "$0 inputfile [outputfile]"
        exit 1
fi
ifile=$1
ofile=${ifile}.flv
ffmpeg -ss $start -t $last  -i $ifile -ab 56 -ar 22050 -b 500000 -r 15 -s 320x240 -y $ofile
4. avi转换为mpg
     time ffmpeg -ss 0 -t 20 -i Avatar.avi -target pal-dvd Avatar.mpg
     注意:其中pal-dvd也可以换成pal-vcd,清晰度会减低
以上只是例子而已,具体的数值可以参考man文档或者根据应用需求来调整。-ss和-t可以省略,就是转换全部。

附:19个ffmpeg常用命令。
ffmpeg is a multiplatform, open-source library for video and audio files. I have compiled 19 useful and amazing commands covering almost all needs: video conversion, sound extraction, encoding file for iPod or PSP, and more.
Getting infos from a video file
ffmpeg -i video.avi 
Turn X images to a video sequence
ffmpeg -f image2 -i image%d.jpg video.mpg 

This command will transform all the images from the current directory (named image1.jpg, image2.jpg, etc…) to a video file named video.mpg.

Turn a video to X images
ffmpeg -i video.mpg image%d.jpg 

This command will generate the files named image1.jpg, image2.jpg, …

The following image formats are also availables : PGM, PPM, PAM, PGMYUV, JPEG, GIF, PNG, TIFF, SGI.

Encode a video sequence for the iPpod/iPhone
ffmpeg -i source_video.avi input -acodec aac -ab 128kb -vcodec mpeg4 -b 1200kb -mbd 2 -flags +4mv+trell
-aic 2 -cmp 2 -subcmp 2 -s 320x180 -title X final_video.mp4

Explanations :

  • Source : source_video.avi
  • Audio codec : aac
  • Audio bitrate : 128kb/s
  • Video codec : mpeg4
  • Video bitrate : 1200kb/s
  • Video size : 320px par 180px
  • Generated video : final_video.mp4
Encode video for the PSP
ffmpeg -i source_video.avi -b 300 -s 320x240 -vcodec xvid -ab 32 -ar 24000 -acodec aac final_video.mp4 

Explanations :

  • Source : source_video.avi
  • Audio codec : aac
  • Audio bitrate : 32kb/s
  • Video codec : xvid
  • Video bitrate : 1200kb/s
  • Video size : 320px par 180px
  • Generated video : final_video.mp4
Extracting sound from a video, and save it as Mp3
ffmpeg -i source_video.avi -vn -ar 44100 -ac 2 -ab 192 -f mp3 sound.mp3 

Explanations :

  • Source video : source_video.avi
  • Audio bitrate : 192kb/s
  • output format : mp3
  • Generated sound : sound.mp3
Convert a wav file to Mp3
ffmpeg -i son_origine.avi -vn -ar 44100 -ac 2 -ab 192 -f mp3 son_final.mp3 
Convert .avi video to .mpg
ffmpeg -i video_origine.avi video_finale.mpg 
Convert .mpg to .avi
ffmpeg -i video_origine.mpg video_finale.avi 
Convert .avi to animated gif(uncompressed)
ffmpeg -i video_origine.avi gif_anime.gif 
Mix a video with a sound file
ffmpeg -i son.wav -i video_origine.avi video_finale.mpg 
Convert .avi to .flv
ffmpeg -i video_origine.avi -ab 56 -ar 44100 -b 200 -r 15 -s 320x240 -f flv video_finale.flv 
Convert .avi to dv
ffmpeg -i video_origine.avi -s pal -r pal -aspect 4:3 -ar 48000 -ac 2 video_finale.dv 

Or:

ffmpeg -i video_origine.avi -target pal-dv video_finale.dv 
Convert .avi to mpeg for dvd players
ffmpeg -i source_video.avi -target pal-dvd -ps 2000000000 -aspect 16:9 finale_video.mpeg 

Explanations :

  • target pal-dvd : Output format
  • ps 2000000000 maximum size for the output file, in bits (here, 2 Gb)
  • aspect 16:9 : Widescreen
Compress .avi to divx
ffmpeg -i video_origine.avi -s 320x240 -vcodec msmpeg4v2 video_finale.avi 
Compress Ogg Theora to Mpeg dvd
ffmpeg -i film_sortie_cinelerra.ogm -s 720x576 -vcodec mpeg2video -acodec mp3 film_termin??e.mpg 
Compress .avi to SVCD mpeg2

NTSC format:

ffmpeg -i video_origine.avi -target ntsc-svcd video_finale.mpg 

PAL format:

ffmpeg -i video_origine.avi -target pal-svcd video_finale.mpg 
Compress .avi to VCD mpeg2

NTSC format:

ffmpeg -i video_origine.avi -target ntsc-vcd video_finale.mpg 

PAL format:

ffmpeg -i video_origine.avi -target pal-vcd video_finale.mpg 
Multi-pass encoding with ffmpeg
ffmpeg -i fichierentree -pass 2 -passlogfile ffmpeg2pass fichiersortie-2 
Find a webhost with ffmpeg enabled

Cirtex Hosting got web hosting plans starting at $2.99.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值