You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ffmpeg使用PUT作为输出方式时如何设置自定义HTTP头?

问题原因

该问题不是ffmpeg的已知问题,绝大多数场景下由参数配置顺序和转义错误导致。

ffmpeg的参数有严格的作用域划分,-headers、-method这类属于HTTP输出目标的专属配置参数,必须放在对应输出URL的前面,放在全局参数位置或者输入参数位置都不会生效。

你之前的两种配置写法都存在错误:

  • 使用-http_opts时多嵌套了一层引号,导致参数解析失败,正确的-http_opts写法应为 -http_opts "headers=AccessKey: mykey",不需要额外的嵌套引号。
  • 直接使用-headers的语法本身没有问题,失效原因大概率是参数位置放置错误,比如放在了输入文件或编码参数的前面,没有紧跟输出URL。
正确配置示例

完整的命令结构参考如下:

ffmpeg \
# 全局参数
-v trace \
# 输入参数+输入源
-i 你的输入文件/输入流地址 \
# 音视频编码参数(根据自身需求调整)
-c:v libx264 -crf 28 -c:a aac -b:a 128k \
# 输出格式参数
-f dash \
# HTTP输出专属参数,必须放在输出URL之前
-method PUT \
-headers "AccessKey: mykey" \
# 最后放置输出地址
https://storage/store/stream.mpd
附加说明
  • 如果需要传递多个请求头,用\r\n分隔不同的头即可,示例:-headers "AccessKey: mykey\r\nContent-Type: application/dash+xml"
  • 如果使用的ffmpeg版本低于4.0,建议升级到较新的稳定版,旧版本确实存在HTTP头配置不生效的已知兼容问题。

内容的提问来源于stack exchange,提问作者Nikki Heald

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 13:15:05