首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我能用ffmpeg从多播流到一个客户端吗?

我能用ffmpeg从多播流到一个客户端吗?
EN

Unix & Linux用户
提问于 2018-04-23 15:53:35
回答 2查看 7.2K关注 0票数 3

我正在尝试从一个源(在此源rtp://@X.X:y中以多播方式传输的电视盒)到Internet (例如我的移动电话或局域网内的另一个设备)进行流传输,但我无法实现。我使用的命令是这样的

代码语言:javascript
运行
复制
ffmpeg -i rtp://@X.X.X.X:Y -vcodec copy -f mpegts udp://127.0.0.1:1234

但是它不像我预期的那样工作,我的意思是,我能够打开vlc,在我正在运行的同一台机器上播放流,但不能在同一局域网中的另一台机器上播放。有人能帮我吗?

谢谢!

编辑:最后,我解决了安装一个名为"udpxy“的软件,该软件将多播内容转发给客户端。我安装了一个覆盆子,这是完美的工作为此目的。

谢谢你的解释。它帮助我理解我想做什么,以及我使用转码器的局限性。我想我也可以用ffmpeg对udpxy做同样的事情,但是我可以直接发布TV Box I。

EN

回答 2

Unix & Linux用户

发布于 2018-04-23 16:11:42

对于给定的命令,127.0.0.1localhost,该命令在计算机上运行。当然,您只能打开vlc并在同一台机器上播放流。

要转发到同一局域网上的另一台计算机,至少需要此机器在局域网上的IP地址。

您不能流到“互联网”,因为这个命令运行的计算机和移动电话都不会有固定的公共IP。两者都将落后NAT (网络地址翻译),也。所以你不能这么做。

如果您在局域网中,是什么阻止您直接从“其他机器”使用多播流(毕竟,它是多播的,这正是组播的目的.)?把一个好的RTP多播流转换成容易出错的单地址UDP数据包对我来说并不是理想的解决方案。

票数 0
EN

Unix & Linux用户

发布于 2018-04-23 17:45:04

我将使用这个解答点来帮助解决问题.

电视盒(多播)-客户端VLC?(rx mpegts)

假设:

视频流不会退出本地局域网。

接收MPEG传输流的客户端不能加入或接收多播流。

电视盒不能传输MPEG传输流。

就像迪尔克特说的。“将一个好的RTP多播流转换为容易出错的单地址UDP数据包对我来说似乎不是理想的解决方案.”

是否可以将UDP更改为TCP,并从本地主机更改为客户端地址?

ffmpeg -i rtp://@X.X.X.X:Y -vcodec copy -f mpegts tcp://192.168.1.100:1234

tcp://192.168.1.100:1234 --接收mpegts流的客户端PC

rtp://@X.X.X.X:Y --电视盒传输的广播流(224.0.0.0 - 239.255.255.255)。

理想情况下,人们会想要改变电视盒传输到mpegts,或者改变客户端从mpegts接收到广播删除中间ffmpeg翻译。

词汇:

米格茨 -- MPEG传输流。将音频、视频、其他错误校正和同步模式包装起来.

IP组播 --一台源PC和多台目标PC。IPv4地址范围: 224.0.0.0 - 239.255.255.255.其中一些被排除在路由、网关等。一个“客户端”将加入一个多播“流”。一对多。信息可能会丢失或无法正常传递.

票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/439521

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档