首先,OP 尝试破坏了引号:
"... "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:
$ ffmpeg -user_agent "using -user_agent UA" -headers 'User-Agent: using -headers UA'$'\r\n''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 -headers UA