如何使用ffmpeg将mp4转换为m3u8
摘要:
M3U8 是一种基于文本的播放列表格式,通常用于 HTTP Live Streaming(HLS)协议,该协议是由苹果公司开发的一种流媒体传输方式。M3U8 文件包含了指向媒体片段(如视频或音频)的 URL 链接,这些片段会被播放器逐个请求并拼接起来,以达到流畅播放的效果。
安装ffmpeg
下载
点击直接下载:https://www.gyan.dev/ffmpeg/builds/ffmpeg-git-full.7z
官网(仅源码):https://ffmpeg.org/download.html
gyan:https://www.gyan.dev/ffmpeg/builds/
github: https://github.com/BtbN/FFmpeg-Builds/releases
安装配置
- 安装步骤安装即可,记住安装位置
- 配置环境变量,方便后续使用

安装openssl
下载
地址:https://slproweb.com/products/Win32OpenSSL.html
滚动到下面,找到自己系统对应的版本,下载完整版(没有Light的)
安装配置
参考ffmpeg,安装后配置环境变量。
开始转换
加密
如果需要加密,准备好加密配置文件。
bash
# 生成key
openssl rand 16 > key.key
# 生成iv(非必须)
openssl rand -hex 16
创建一个key_info.txt
txt
密钥获取链接,(此配置会在m3u8的#EXT-X-KEY字段下,可以配置远程完整地址,也可以配置相对路径,加密时不使用,播放时使用,用于获取key)
密钥文件路径,(本地文件路径,用于加密)
IV (可选,16位16进制)
示例
txt
http://localhost:8080/key.key
key.key
f77471e0eab675665bd5a4276ec2f035
转换
bash
ffmpeg -y \n # 覆盖输出文件
-i test.mp4 \n # 入口文件
-profile:v baseline \n
-level 3.0 \n # 版本
-s 1920x1080 \n # 分辨率
-start_number 0 \n # 开始片段下标
-hls_time 10 \n # 每段时长
-hls_playlist_type vod \n # 输出的播放列表类型,vod 点播
-hls_key_info_file key.txt \n # 加密配置
-hls_segment_filename "test_%d.ts" \n # 每个片段的名字
-f hls \n # 输出格式
test.m3u8 # 出口文件
简单使用
bash
ffmpeg -i test.mp4 test.m3u8
评论
0条评论
暂无内容,去看看其他的吧~