如何使用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

安装配置

  1. 安装步骤安装即可,记住安装位置
  2. 配置环境变量,方便后续使用

安装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条评论

logo

暂无内容,去看看其他的吧~