是五月呀!

ffmpeg常用操作

在做直播相关工作的过程中,经常会使用ffmpeg这一音视频处理工具,它能够帮助我们完成很多有趣的任务。

1. 提取mp3

1
ffmpeg -i av.flv -f mp3 av.mp3

2. 将点播文件转推

1
ffmpeg -timeout 3000000 -re -i $fileUrl -c copy -f flv $pushUrl

这里简单的使用-c copy模式,即音视频按照原始码率推出去。如果是mp4格式,需要h264编码。
如果需要转码,那么可以使用

1
ffmpeg -timeout 3000000 -re -i $fileUrl -acodec copy -vcodec libx264 -s 1280x720 -b:v 1000k -f flv $pushUrl

3. 拉流转推

一般拉流地址有两种,一种是常用的rtmp协议,那么命令为:

1
ffmpeg -i "$outerUrl" -c copy -f flv "$pushUrl"

第二种是flv格式的http协议流,那么命令为:

1
ffmpeg -i "$outerUrl live=1" -c copy -f flv "$pushUrl"

这里live=1表示实时拉流。

4. 拉流截图

1
ffmpeg -timeout 3000000 -v error -i "$pullUrl" -vframes 1 -f image2 -y $outputFile

5. 视频转gif

1
ffmpeg -ss 25 -t 10 -i xxx.mp4 -f gif -r 15 -s 540x300 xxx.gif

-ss 指定从第25秒开始
-t 指定播放10秒
-f 指定输出格式为gif
-r 指定帧率为15fps
-s 指定分辨率为540x300