无法在两个VLC播放器中播放视频流。

问题描述 投票:0回答:1

我们在Linux应用程序中使用libvlc来播放来自IP摄像机的RTP MJPEG流。我们希望有两个libvlc_media_players播放视频,一个在GtkDrawingArea中播放完整的图像,另一个在另一个GtkDrawingArea中播放一个裁剪过的视频部分(伪缩放)。似乎无论哪个实例先连接,都会阻止第二个实例绑定到端口。

我们需要一个方法将流量复制到两个端口,可能是或任何其他建议?

libvlc
1个回答
0
投票

你至少有两种方法来实现你想要的东西,这取决于你需要的确切结果。

虽然你只能调用 libvlc_new 一次,所以只有1 libvlc 在你的应用程序中,你可以在你的应用程序中创建任意多的媒体播放器,你可以在你的应用程序中创建任意多的媒体播放器。libvlc. 他们将是独立的,虽然,所以如果你需要精确的同步,这是不是你想使用。

另一种方式是复制视频输出,例如使用

Clone video filter (clone)
 Duplicate your video to multiple windows and/or video output modules
      --clone-count=<integer>    Number of clones
          Number of video windows in which to clone the video.
      --clone-vout-list=<string> Video output modules
          You can use specific video output modules for the clones. Use a
          comma-separated list of modules.

https:/wiki.videolan.orgVLC_command-line_help。

libvlc_media_add_option (取代 --: 当使用该函数时)。)

您也可以使用 --sout#duplicate 也是。https:/wiki.videolan.orgDocumentation:Streaming_HowToCommand_Line_Examples。

根据你选择的方式,VLC可能会自己创建一个新的窗口,你可能必须抓取并纳入你的应用程序中。

© www.soinside.com 2019 - 2024. All rights reserved.