ffmpeg - 在视频流之间切换

标签 ffmpeg video-streaming vlc http-streaming sharpffmpeg

我正在努力在多个直播流之间切换。例如,我有五个实时流媒体服务器流式传输(HTTP 或 RTSP),我想在这(五个)流式传输源和目标之间放置一些代理,以便输出到目标将是一个视频流(稍后我可能会更改流式传输源再次使用开关)。 Broker扮演switcher的角色,我的问题是,有这样的开源“switcher”吗?或者这项技术是如何工作的?

这里是类似问题的链接,但我想要一些开源或一些关于如何实现它的简要指导:http://forums.creativecow.net/thread/117/858680

先感谢您

最佳答案

该答案可以成为研究人员的文件

第一个建议或解决方案(组播路由器)

您可以使用支持 IGMP 协议(protocol)的路由器或 L3 交换机。该路由器或 L3 交换机必须支持 IGMP 协议(protocol),您才能构建多播 IP 地址。您可以配置 L3 以切换所有流。多播 IP 地址在 224.0.0.0 到 239.255.255.255 范围内工作,并基于设备的 mac 地址工作。您可以为不同类型的交换场景创建不同的组播 IP 地址。完成路由器或 L3 交换机配置后,您只需更改 IP 地址即可将流切换到您的程序中。 (我没有提到广播。广播将数据发送到所有点。组播将数据发送到某些点。)

A sample of Multicast

第二个建议或解决方案(编程)

我正在使用 Vlc.Dotnet 用于使用 Vlc 和 libvlc 库的包装器。它是开源的。 RTSP 流基于 IP 地址和端口号。我不知道任何开源开关,但您可以使用 Vlc.dotnet 包装器为您编写其中一个。您构建 5 个流媒体服务器和 1 个控制服务器。 Streaming Server 的目的地应该是 Control Server 的 IP。您可以使用基本的开关程序控制来自控制服务器的所有数据。

5 个流媒体服务器:将数据发送到控制服务器
1个控制服务器:控制和切换数据

我更喜欢使用路由器或 L3 交换机来实现。因为它更容易。

关于ffmpeg - 在视频流之间切换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13729481/

相关文章:

FFMpeg 图像捕获 - 连续帧

android - ExoPlayer:如何播放http直播?

Android 直播视频流问题

audio - 如何使用 ffmpeg 在视频中添加新音频(不混合)?

ios - ffmpeg ios : Getting frame to UIImage, 在 YUV420 到 RGB 转换时失败

video-streaming - Playready 许可证的标准生命周期

c - fgets() 在 popen() 之后不起作用

tcp - 无法使用 Live555 代理服务器流式传输 RTSP

linux - 如何在交叉编译 Windows 版 vlc 时包含 QtNetwork

ffmpeg - 如何阻止其他 IP 使用我的 rtmp-ffmpeg 重流链接?