一、安装

GitHub

FFmpeg官网

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输出文件名与格式(不要写数字,顺序容易出错)

二、使用

  1. 查看安装信息 ffmpeg
  2. 查看支持容器 ffmpeg -formats
  3. 查看支持编码格式 ffmpeg -codecs
  4. 查看已安装编码器 ffmpeg -encoders

hls协议基本规则

  1. 视频的封装格式是TS。
  2. 视频的编码格式为H264,音频编码格式为MP3、AAC或者AC-3。
  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

其他

  1. 视频源地址不要加中文,在解码的时候可能有某种未知的问题
  2. 视频源放在服务器上,需要FTP的访问(nginx在某些情况可能无法播放,因不能做中反向请求至服务器)
  3. 请求头需要配置跨域访问,宝塔在网站配置文件中24行添加以下代码:
    add_header 'Access-Control-Allow-Origin' '*';
    add_header 'Access-Control-Allow-Credentials' 'true';
    add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
最后修改:2021 年 06 月 03 日 09 : 57 PM