FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。采用LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案。它包含了非常先进的音频/视频编解码库libavcodec,为了保证高可移植性和编解码质量,libavcodec里很多code都是从头开发的。百度百科告诉我们ffmppeg是用来编转码的。接下来介绍几个常用命令吧。
其命令的主要格式为
ffmpeg mainarguments sourcePath otherarguments outputPath
有些情况下我们会用ffmpeg进行视频推流或者转发,所以源地址和目的地址的设定也会让这种操作更加方便了,接下来我们介绍ffmpeg的主要参数
主要参数:
-i 设置资源路径
-f 设置输出格式
-ss 开始时间
-b 设置视频流量
-r 设定速率
视频参数:
-r rate 设定帧速率(赫兹值,分数或缩写)
-s size 设定的帧大小(分辩率或缩写)
-aspect aspect 设置纵横比(4:3,16:9或1.3333、1.7777)
-bits_per_raw_sample number 设置每个原始样本的比特数
-vn 抽离视频
-vcodec codec 指定视频编解码器
-timecode hh:mm:ss[:;.] 设置初始时间码值
-pass n 精确的控制码率
-vf filter_graph 设置视频过滤器
-ab bitrate 音频比特率
-b bitrate 视频比特率
-dn 禁用数据
-vframes number 视频帧数输出
音频参数:
-aframes number 设置音频帧数
-aq quality 设置音频质量
-ar rate 设置音频码率(HZ)
-ac channels 设置音道数
-an 禁用音频
-acodec codec 设置指定音频解码器
-vol volume 改变音量 (256=normal)
-af filter_graph 设置音频过滤器
简单的推流栗子
ffmpeg -re -i xxx.mp4 -c copy -f flv rtmp://172.30.40.110/live/123456
由于rtmp协议是不支持mp4流的,所以有些mp4要用ffmpeg进行转码
ffmpeg -re -i src.mp4 -c:a aac -c:v h264_qsv -f flv rtmp://172.16.0.1
- - 就到这吧