1

我的问题是当我尝试使用此命令从远程服务器转发远程 iptv 频道 .ts 文件时

本地窗口:

ffmpeg -i http://ip_tv_server.com:_port_/live/user/user/ts_file.ts -vcodec libx264 -vb 500k -vprofile baseline -level 2.1 -acodec aac -ab 64000 -ar 48000 -ac 2 -strict experimental -f flv rtmp://my_rtmp_server:1935/live/myStream -tune zerolatency

它工作正常并开始将流发送到我的服务器(red5-server)。

但是当我在我的 linux vps(Ubuntu 14.04)中使用相同的命令时,我从 ffmpeg 收到此错误:

http://ip_tv_server.com:_port_/live/user/user/ts_file.ts: Server returned 401 Unauthorized (authorization failed)

我需要使用自定义 http 标头吗?

以及为什么它在我的本地窗口上运行而不是在 vps (ubuntu 14.04-x64) 上运行?

4

1 回答 1

3

该错误消息通常意味着您正在尝试访问某些内容或在服务器上执行某些操作,并且该服务器要求您登录或获得授权才能执行此操作。

通常,这将与 HTTP 请求以及用户名和密码和/或用户会话相关联。授权甚至可以像检查本地计算机上的 cookie 一样简单。这是授权可能在一台机器上工作但在另一台机器上工作的一个示例。

授权机制也可能涉及更多或使用一些完全不同的逻辑 - 例如,服务器可能具有 GEO 阻塞机制,并且您的本地计算机位于它认为可以的网络上,而 VPS 则不是。

服务器甚至可能有一种机制来限制并发设备或并发流,并且从两个设备访问相同的流可能会触发这种情况。

于 2017-11-15T12:20:25.990 回答