RTSP客户端使用VLC库

时间:2015-05-04 16:11:43

标签: c vlc libvlc rtsp-client

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

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

1 个答案:

答案 0 :(得分:0)

正如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);
相关问题