如何在ffmpeg中设置useragent?。
我在媒体服务器中实施了SWF验证,并允许一些用户代理不检查SWF。但问题是,我无法在FFMPEG中设置useragent。因为我需要使用ffmpeg将我的一个低比特流重新存储到核心服务器。
FFMPEG Version : ffmpeg version 1.2.6-7:1.2.6-1~trusty1
SWF verification enabled in 172.20.1.10 server
尝试格式:
ffmpeg -re -i "rtmp://10.11.12.13/live/mystreams -c copy -f flv "rtmp://172.20.1.10/live/testnew -headers "UserAgent: 'FMLE/3.0 (compatible; FMSc/1.0)'"
ffmpeg -re -i "rtmp://10.11.12.13/live/mystreams -c copy -f flv "rtmp://172.20.1.10/live/testnew -user_agent 'FMLE/3.0 (compatible; FMSc/1.0)'"
ffmpeg -re -i "rtmp://10.11.12.13/live/mystreams -c copy -f flv "rtmp://172.20.1.10/live/testnew -user-agent 'FMLE/3.0 (compatible; FMSc/1.0)'"
答案 0 :(得分:2)
ffmpeg -user-agent "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3554.0 Safari/537.36" -headers "origin: https://glive.gaodun.com" -headers "referer: https://glive.gaodun.com/space.html?isV" -i https://vod.gaodun.com/13p9Wv580v1a!!fs/SD/1.m3u8 -c copy demo.mp4**My code**
答案 1 :(得分:2)
首先,OP尝试使用了引号:
IO
不推荐使用"... "rtmp://172.20.1.10/live/testnew -user_agent 'FMLE/3.0 (compatible; FMSc/1.0)'"
选项,它将显示警告:
-user-agent
您需要$ ffmpeg -user-agent "using -user-agent UA" -i 'https://example.com' -v trace |& grep -i user-agent
Reading option '-user-agent' ... matched as AVOption 'user-agent' with argument 'using -user_agent UA'.
[https @ 0x55df7b9dc320] the user-agent option is deprecated, please use user_agent option
User-Agent: using -user-agent UA
(即下划线-user_agent
,而不是破折号_
)
-
如果您添加了$ ffmpeg -user_agent "using -user_agent UA" -i 'https://example.com' -v trace |& grep -i user-agent
User-Agent: using -user_agent UA
,它将覆盖-headers 'User-Agent: '
:
-user_agent
但是,如果您在尝试添加多个标头时语法错误,那么$ ffmpeg -user_agent "using -user_agent UA" -headers 'User-Agent: using -headers UA' -i 'https://example.com' -v trace |& grep -i user-agent
Reading option '-headers' ... matched as AVOption 'headers' with argument 'User-Agent: using -headers UA'.
User-Agent: using -headers UA
将无法覆盖并仍使用默认的-headers
或Lavf/
:
-user_agent
仅当您对多个标头(即单个$ ffmpeg -user_agent "using -user_agent UA" -headers 'User-Agent: using -headers UA' -headers 'Accept: */*' -i 'https://example.com' -v trace |& grep -i user-agent
Reading option '-headers' ... matched as AVOption 'headers' with argument 'User-Agent: using -headers UA'.
User-Agent: using -user_agent UA
+ -headers
)使用正确的语法时,\r\n
才能覆盖默认的-headers 'User-Agent:
或Lavf/
:
-user_agent
答案 2 :(得分:0)
-headers 'User-Agent: "FMLE/3.0 (compatible; FMSc/1.0)"'
此外,您可能需要包含CRLF:
-headers $'User-Agent: "FMLE/3.0 (compatible; FMSc/1.0)"\r\n'
答案 3 :(得分:0)
这对我有用:
-user-agent "Mozilla/5.0 (compatible; Companybot/1.0; +http://www.Thecompany.com)"