ffmepg学习——常用流程解析(转)

转码一般过程

 _______              ______________
|       |            |              |
| input |  demuxer   | encoded data |   decoder
| file  | ---------> | packets      | -----+
|_______|            |______________|      |
                                           v
                                       _________
                                      |         |
                                      | decoded |
                                      | frames  |
                                      |_________|
 ________             ______________       |
|        |           |              |      |
| output | <-------- | encoded data | <----+
| file   |   muxer   | packets      |   encoder
|________|           |______________|

简单图像过滤

 _________                        ______________
|         |                      |              |
| decoded |                      | encoded data |
| frames  |\                   _ | packets      |
|_________| \                  /||______________|
             \   __________   /
  simple     _\||          | /  encoder
  filtergraph   | filtered |/
                | frames   |
                |__________|

 _______        _____________        _______        ________
|       |      |             |      |       |      |        |
| input | ---> | deinterlace | ---> | scale | ---> | output |
|_______|      |_____________|      |_______|      |________|

基本的音频转码参数

-ar <value> 设置output文件的采样率,一般设置22050, 44100, 48000 Hz.
-ac <value> 设置音频通道数量.
-ab <value> audio bitrate value,音频文件的码率. 
    e.g. -ab 128k. 数值越高,音质越好。但前提是源文件质量要高。(国内有些音乐软件资源有SQ,HQ的标识,其实质量并不高)
-an disable audio
-acodec 选择音频编码器 e.g. libmp3lame

ffmpeg -i input.wav output.mp3
ffmpeg -i input.mp3 -b 128k output.ogg #可选参数"-acodec vorbis",以防无法正常使用

基本的视频转码参数

-b <value> 码率
    ffmpeg -i input.avi -b 200k output.avi
-r <value> 帧速率
    ffmpeg -i input.mp4 -r 24 output.mp4
-s <resolution> 分辨率
    ffmpeg -i input.avi -s 1920x1080 output.avi
-aspect <ratio> 长宽比
    ffmpeg -i input.avi -aspect 16:9 output.avi
-vn disable video

输出视频的质量和输入视频一样

ffmpeg -i input.avi -sameq output.mpg

预设值格式的文件格式

ffmpeg -i input.avi -target dvd output.mpg

预设格式有:vcd, svcd, dvd, dv, dv50, pal-vcd, ntsc-svcd...etc

持续输出一段时间(x秒)至output.fmt2

ffmpeg -i input.fmt1 -t x output.fmt2

webm格式转为mp4

ffmpeg -fflags +genpts -i 1.webm -r 24 1.mp4 //转换格式的同时更新了时间戳/帧速率

posted @ 2015-11-02 17:01  Samaritan  阅读(216)  评论(0)    收藏  举报