ffmpeg我的常用命令

  1. 合并flv

    需求:我们的录播生成的是flv,中间可能会有中断这样录播需要拼接起来。
    做法: 
    flv不能直接合,所以比较好的方式是先合成mp4,再把mp4进行拼接:
    ffmpeg -i input0.flv -map 0 -c copy -f mpegts -bsf h264_mp4toannexb -y temp0
    ffmpeg -i input1.flv -map 0 -c copy -f mpegts -bsf h264_mp4toannexb -y temp1
    ffmpeg -f mpegts -i "concat:temp0|temp1" -c copy -absf aac_adtstoasc output.mp4
    
  2. 将mp4转为flv

    需求:mp4在播放时,会存在开播慢的问题,另外也想对mp4进行压缩后再上传到cdn,所以转flv是一个比较好的选择
    做法:ffmpeg.exe -i 20150415lijin.mp4 -ac 2 -vol 3000 -b 200 -acodec aac -r 15 -f flv -strict -2  output.flv
    注意一下这个acodec aac 和-strict -2 我试验的时候,没有加-acodec aac,默认是用mp3来编码音频的,这时音频会出现杂音,所以尽量用原来的aac来编码。然后-vol 进行声音大小的调高,200表示200位,我试了30倍的,还是有点效果的。回头看一下这个参数的含义。-b用200,我觉得录播有可能是够了的。
    

以下是命令参数

文件

-i "路径" 指定需要转换的文件路径 -i "C:\nba.wmv"

-y 覆盖输出文件,即如果nba.xxx文件已经存在的话,直接覆盖控制画面参数


视频

-bitexac 使用标准比特率

-vcodec xvid 使用xvid压缩

-s <宽高比> 指定分辨率大小 -s 320*240

-r <数值> 帧速率(非标准数值会导致音画不同步【标准值为15或29.97】) -r 15

-b <比特率> 指定压缩比特率 -b 1500

-qmin <数值> 设定最小质量 -qmin 10

-qmax <数值> 与-qmin相反,可以与-qmin同时使用 -qmax 30

-sameq 使用与源视频相同的质量


控制声音参数

-acodec aac 设定声音编码

-ac <数值> 设定声道数:1为单声道,2为立体声 -ac 2

-ar <采样率> 设定声音采样率(8000,11025,22050) -ar 22050

-ab <比特率> 设定声音比特率(-ac设为立体声时要以一半比特率来设置,比如192kbps的就设成96) - ab 96

-vol <百分比> 设定音量大小,比如设定200就会比原来的音量大2倍 -vol 200

comments powered by Disqus