使用 VLC 库的 RTSP 客户端

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

我应该使用VLC库用C编程编写RTSP客户端,我对此有一些疑问:

  1. 我在VLC库中没有找到任何发送RTSP SETUP的功能 请求,我应该从头开始写吗?
  2. 当我发送 RTSP SETUP 请求时,我必须为 RTP 打开 2 个套接字 和RTCP将其端口号发送到live555媒体服务器接收 通过这些端口传输数据,是否需要另外开一个socket UDP接收RTSP SETUP/PLAY/PAUSE/STOP请求的响应 控制传输数据过程?
  3. 当我想在应用程序中暂停传输数据过程时 层,我应该向服务器发送 RTSP PAUSE 请求并发送 PAUSE 请求播放器暂时停止传输数据过程,但我不知道VLC库中的哪些函数用于此目的 目的,你能告诉我这些功能是什么吗?

谢谢你。

c vlc libvlc rtsp-client
2个回答
1
投票

正如 Feepk 在评论中所述,您不需要手动进行任何 RTSP 设置,因为 VLC 使用 live555 库为您完成此操作。您可以使用 libvlc_media_new_location 函数打开 RTSP 连接,然后传递到您的媒体播放器实例。

例如:

// You must create an instance of the VLC Library
libvlc_instance_t * vlc;
// You need a player to play media
libvlc_media_player_t *mediaPlayer;
// Media object to play.
libvlc_media_t *media;

// Configure options for this instance of VLC (global settings).
// See VLC command line documentation for options.
std::vector<const char*> options;
std::vector<const char*>::iterator option;
// Load the VLC engine
vlc = libvlc_new (int(options.size()), options.data());

// Create a media item from URL
media = libvlc_media_new_location (vlc, "RTSP_URL_HERE");
mediaPlayer = libvlc_media_player_new_from_media (media);

0
投票

在我的项目中,我需要获取 esp32-wroom-32 的 rtsp 客户端库,现在我必须为我的 esp32-wroom-32 创建一个 rtsp 客户端库,但我没有这方面的经验。 如果有任何独立于外部源的 rtsp 客户端库,那么它将有很大的帮助,但我没有找到这样的库。

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