如何为TSDuick的tsp工具HLS输入添加令牌认证自定义请求头?
为TSduck的tsp工具HLS输入传递自定义请求头
解决方案
TSduck的tsp工具的HLS输入模块支持两种方式传递自定义HTTP请求头,解决令牌认证问题:
1. 命令行参数直接指定
使用--http-header参数(可重复使用以添加多个头),将认证令牌作为请求头传入:
tsp -I hls --http-header "x-affiliate-auth-key:{token}" https://{url}/index.m3u8 -O file /tmp/test.mp4
如果需要添加多个请求头,重复--http-header选项即可:
tsp -I hls --http-header "x-affiliate-auth-key:{token}" --http-header "Content-Type:application/vnd.apple.mpegurl" https://{url}/index.m3u8 -O file /tmp/test.mp4
2. 环境变量全局设置
通过TSDUCK_HTTP_HEADERS环境变量设置全局HTTP头,格式为分号分隔的键值对:
# Linux/macOS export TSDUCK_HTTP_HEADERS="x-affiliate-auth-key:{token}" tsp -I hls https://{url}/index.m3u8 -O file /tmp/test.mp4 # Windows(PowerShell) $env:TSDUCK_HTTP_HEADERS="x-affiliate-auth-key:{token}" tsp -I hls https://{url}/index.m3u8 -O file /tmp/test.mp4
原理说明
TSduck的HLS输入插件基于其内置的HTTP客户端实现,该客户端原生支持自定义HTTP请求头传递。通过上述方式添加认证头后,tsp就能正确获取经过令牌认证的HLS清单,避免因未授权返回HTTP错误导致的解析失败。
内容的提问来源于stack exchange,提问作者geekydel
相关产品推荐
相关产品推荐

