2015-05-04 193 views
0

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

  1. 我没有发现任何在VLC库已经函数来发送RTSP SETUP 请求,我应该从头开始写吗?
  2. 当我发送RTSP SETUP请求,我必须打开2个插槽用于RTP 和RTCP到它的端口号发送到LIVE555媒体服务器通过这些端口接收 的数据,你需要打开另一个插座 UDP协议接收RTSP SETUP/PLAY/PAUSE/STOP请求对 控制传输数据过程的响应?
  3. 当我想要暂停应用程序 层上的传输数据过程时,我应该向服务器发送RTSP暂停请求,并向播放机发送暂停请求给暂停传输数据过程的暂停,但我不知道VLC中有哪些功能图书馆用于这个 的目的,你能告诉我这些功能是什么?

谢谢。

+1

VLC没有实现RTSP本身。它为此部署了liblive555和各自的live555访问模块。基于libvlc的RTSP客户端应用程序是绝对可行的,应该不需要任何修改即可使用。 – feepk

回答

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);