我应该使用VLC库在C编程中编写RTSP客户端,我对此有一些疑问:
- 我在VLC库中没有找到任何已函数来发送RTSP设置请求,我应该从头开始写吗?
- 当我发送RTSP设置请求时,我必须为RTP打开2个插座RTCP将其端口号发送到LIVE555媒体服务器以接收通过这些端口的数据,您是否需要为UDP接收RTSP设置/play/pause/stop请求的响应控制传输数据过程?
- 当我想在应用程序时暂停传输数据过程层,我应该将RTSP暂停请求发送到服务器并发送暂停要求玩家暂时停止传输数据过程,但我不知道VLC库中的哪些功能用于此功能目的,您能告诉我这些功能是什么吗?
谢谢。
如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);