VLC多媒体播放器(最初命名为VideoLAN客户端)是VideoLAN计划的多媒体播放器。它支持众多音频与视频解码器及文件格式,并支持DVD影音光盘,VCD影音光盘及各类流式协议。它也能作为unicast或 multicast的流式服务器在IPv4或 IPv6的高速网络连接下使用。它融合了FFmpeg计划的解码器与libdvdcss程序库使其有播放多媒体文件及加密DVD影碟的功能。
在Qtav播放网络流视频的部分情况下,会出现播放不出来的问题。在VLC官方release版本上,可以正常播放,所以采用了VLC播放器。
m_inst = libvlc_new(0, NULL);
QString t = "C://Users//user//Desktop//1.mp4";
QString path = QString("file:///%1").arg(t); //注意文件格式的 file:///
m_media = libvlc_media_new_location(m_inst, path.toUtf8().data());
m_media_player = libvlc_media_player_new_from_media(m_media); //创建播放器引擎
//libvlc_media_parse(m_media);
libvlc_media_player_play(m_media_player);
libvlc_media_player_set_hwnd(m_media_player, (void*)ui.player->winId()); //绑定视频到播放窗口
遇到的问题:
在VS中connect的时候,遇到了C2664问题,实际发现是ui.play成了QWidget* , 因为多个工程之间的ui.h文件混淆了,工程一定要内聚。