0%

HLS下 ffmpeg命令详解

FFMPEG下命令繁多,特此记录关于HLS的相关命令,以备不时之需

如果看到有需要的命令,然后在来更新




  • 通过m3u8下载视频,并合成mp4
ffmpeg -i  -c copy <保存路径>
# 例如: ffmpeg -i 'https://xxx.com/aaa.m3u8' -c copy '/home/ll/aaa.mp4'
# 不改变视频流的码率,直接合成mp4 这是最快的一种下载视频的方法



  • 添加headers到 命令中下载视频
ffmpeg -headers $'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36\r\nHost: xxx.com' -i 'xxx.m3u8' -c copy 'xxx.mp4'
# 这种就是简单的直接将 headers 请求头文件加如hls请求中去,然后获取数据



  • ffmpeg 添加 headers 详解中高级方法
ffmpeg -headers 'Origin: https://xxx.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36\r\nReferer: https://xxx.com' -threads 0 -i '地址' -c copy -y -f mpegts '文件名.ts' -v trace

# >>> 使用-headers’头一\r\n头二’添加header
# 注意顺序 ,放在命令行最后面无法生效困扰了半天..
# 后来输出了一下信息才发现问题
# -v trace 用于输出当前的header信息方便调试
# 在Linux终端下正常使用,Windows下应该大同小异。
# 设置UA可以使用单独的-user-agent指令
# 在输出文件名前使用-fs 1024K限制为1024K



  • ffmpeg 添加 headers 转码 线程 高级方法
ffmpeg -headers 'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36\r\nHost: xxx.net\r\nReferer: https://xxx.com/\r\n' -i 'https://xxx.m3u8' -threads 5 -preset ultrafast -y -c:v libx264 -strict -2 '测试2.mp4'


# >>> 使用-headers’头一\r\n头二’添加header
# >>> 需要注意的是 在添加 headers 的时候 , 在headers 结束时 需要添加\r\n 来结束,否则会收到错误
# >>> No trailing CRLF found in HTTP header. Adding it 当然这是错误提示,不是报错,并不影响程序运行, ffmpeg 会主动添加 \r\n来结束headers
# 注意顺序 ,放在命令行最后面无法生效困扰了半天..
# threads 5 线程转码
# -y -c:v libx264 -strict -2 转换h264 编码视频
# 后来输出了一下信息才发现问题
# -v trace 用于输出当前的header信息方便调试
# 在Linux终端下正常使用,Windows下应该大同小异。
# 设置UA可以使用单独的-user-agent指令
# 在输出文件名前使用-fs 1024K限制为1024K