我如何使用libvlc播放RTSP流
问题描述:
我试图使用libvlc播放RTSP流。这里是我的代码:我如何使用libvlc播放RTSP流
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
const char* fileName = "rtsp://184.72.239.149/vod/mp4://BigBuckBunny_175k.mov";
int windId = this->winId();
libvlc_instance_t *instance = libvlc_new(0, NULL);
libvlc_media_t *vlcMedia = libvlc_media_new_location(instance, fileName);
libvlc_media_player_t* player = libvlc_media_player_new_from_media(vlcMedia);
libvlc_media_player_set_xwindow(player, windId);
libvlc_media_player_play(player);
}
而问题是,libvlc将发送SETUP命令,像这样的服务器:
SETUP rtsp://184.72.239.149:554/vod/mp4://bigbuckbunny_175k.mov RTSP/1.0
这是从VLC播放器completelty不同。 vlc播放器发送的内容是:
SETUP rtsp://184.72.239.149:554/vod/mp4://bigbuckbunny_175k.mov/trackID=0
SETUP rtsp://184.72.239.149:554/vod/mp4://bigbuckbunny_175k.mov/trackID=1
答
libvlc中有多个RTSP访问插件。 确保您使用live555而不是realrtsp。