当下直播平台发展十分迅猛,依靠游戏内直播平台的发展带动游戏活跃提高收入,那么对于咱们开发来讲如何玩转视频呢?下面就来介绍一个音频、视频处理利器——FFmpeg。javascript
FFmpeg 是一套能够用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。采用 LGPL 或 GPL 许可证。它提供了录制、转换以及流化音视频的完整解决方案。java
# ffmpeg -i test.flv output.mp4
-i 表示输入文件ide
# ffmpeg -i test.flv -vn music.mp3
-vn 表示忽略视频编码
# ffmpeg -i test.flv -an video.flv
-an 表示忽略音频spa
# ffmpeg -i test.mp3 -ab 96 output.mp3
-ab 设置比特率,单位:bit/s视频
# ffmpeg -i test.flv -f image2 -ss 5 -t 0.01 -s 480x320 test.jpg
-f 强制选择格式token
-ss 搜索到指定时间,支持格式:[-]hh:mm:ss[.xxx],时间单位:秒游戏
-t 设置记录时间图片
-s 设置帧的大小ip
# ffmpeg -i test.flv 2>&1 | grep 'Duration' | cut -d ' ' -f 4 | sed s/,//
# ffmpeg -i test.flv -strict -2 -c:v libx264 -c:a aac -f hls output.m3u8
-strict 跟标准的严格性
将 mp4 文件转换成 ts 文件
# ffmpeg -i test.mp4 -c copy -bsf h264_mp4toannexb output.ts
将 ts 切片,而且生成 m3u8 文件
# ffmpeg -i output.ts -c copy -map 0 -f segment -segment_list 'list.m3u8' -segment_time 10 'output0d.ts'
ts 文件:传输流文件,视频编码主要格式 h264/mpeg4,音频为 acc/mp3。
m3u8 文件:用文本方式对媒体文件进行描述,由一系列标签组成。
以上是对 FFmpeg 功能的一些简单的介绍,它的功能远远不止这些,还十分强大,有兴趣的小伙伴能够后续一块儿研究探讨,充分利用好这一个强大的利器。