一、安装
FFmpeg第三方 点击Download Build
下载,也可以选择其他不同的版本
重命名为ffmpeg
文件夹
在环境变量添加(控制面板\所有控制面板项\系统
--> 高级系统设置 --> 环境变量 -->选择Path
变量点击编辑)C:\ffmpeg\bin
路径
参数 | 说明 |
---|---|
-y | 直接覆盖已经存在的输出文件 |
-i | 输入视频绝对路径 |
-c | 指定输入与输出解码编码器(-c:a为输入参数、-c:v为输出参数;acc音频、libx264视频编码器) |
-f | 强制设置输入输出的文件格式,默认情况下ffmpeg会根据文件后缀名判断文件格式 |
-hls_time | 指定生成 ts 视频切片的时间长度s |
-hls_list_size 0 | 索引播放列表的最大列数(默认5,0 为不限制) |
-hls_playlist_type vod | 表示当前的视频流并不是一个直播流,而是点播流 |
strict -2 -f hls | 输出绝对路径 |
-hls_segment_filename | 输出ts与m3u8文件路径 |
.m3u8 | 输出文件名与格式(不要写数字,顺序容易出错) |
二、使用
- 查看安装信息
ffmpeg
- 查看支持容器
ffmpeg -formats
- 查看支持编码格式
ffmpeg -codecs
- 查看已安装编码器
ffmpeg -encoders
hls协议基本规则
- 视频的封装格式是TS。
- 视频的编码格式为H264,音频编码格式为MP3、AAC或者AC-3。
- 除了TS视频文件本身,还定义了用来控制播放的m3u8文件(文本文件)。
无加密切片
ffmpeg -i C:\输入视频.mp4 -c:v libx264 -c:a aac -hls_time 8 -hls_list_size 0 -strict -2 -f hls -hls_playlist_type vod C:\输入视频.m3u8
其他
- 视频源地址不要加中文,在解码的时候可能有某种未知的问题
- 视频源放在服务器上,需要FTP的访问(nginx在某些情况可能无法播放,因不能做中反向请求至服务器)
- 请求头需要配置跨域访问,宝塔在
网站配置文件
中24行添加以下代码:
add_header 'Access-Control-Allow-Origin' '*';
add_header 'Access-Control-Allow-Credentials' 'true';
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';