Qt+VLC 实现的网络串流媒体播放

缘起
由于项目需要,监控相机需要在客户端显示,但是这个baslar相机BIP2-1300c-dn只支持网页查看,并没有传统工业相机一样的c++ demo。没办法,还需要这个功能,就自己写一个网络媒体播放器。
过程
工具为Qt + VLC,qt有较好的可控的交互界面,vlc之所以选择它是因为这个相机自带编解码就是这个写的,并且这个vlc也是跨平台的。
跳过的坑
网上能够搜索到类似的,但是无论怎么折腾都不工作。后来干脆从环境配置开始一点点来。
1. qt版本为4.8.4,qt-win-opensource-4.8.4-vs2010。
qt creator 版本为qt-creator-win-opensource-2.5.2。
vlc+qt的库来实现的,下载地址为这个https://github.com/vlc-qt/vlc-qt/releases
具体版本为VLC-Qt 0.8.0 下面的Windows MSVC2010 Qt4。当然我本机安装的是vs2010。
2. 安装好后qt后,当然要重启一下机器。就开始处理vlc+qt这个库。解压到一个目录,我的具体为C:\Qt\libvlc-qt,如果按照我的,会节省很多的时间。qt并不是很好驾驭的。
3. 打开C:\Qt\libvlc-qt\src\examples里面的demo-player。里面有一个demo-player.pro文件,用qtcreator打开。
4. 配置pro文件。
5. 文件目录结构有两个pro文件。如图:
Qt+VLC 实现的网络串流媒体播放_第1张图片
修改src.pro这个文件如下:

TARGET      = demo-player
TEMPLATE    = app

QT          += core gui

SOURCES     += main.cpp\
               DemoPlayer.cpp

HEADERS     += DemoPlayer.h

FORMS       += DemoPlayer.ui

LIBS      += -LC:/Qt/libvlc-qt/lib -lvlc-qt -lvlc-qt-widgets
INCLUDEPATH += C:/Qt/libvlc-qt/include

修改完,在工程上右键run qmake一下才会生效。

  1. 关键的一步在这里
    这个qt+vlc的库虽然很牛,但是里面的include版本根本和例程对应不起来。双击打开ui文件。
    看这里:
    Qt+VLC 实现的网络串流媒体播放_第2张图片
    带vlc的那三个控件,是正常的widget升级过来的。升级的过程可以找其他资料。这里是升级好的,但是需要修改这个promotion的内容。点击VlcSeekWidget右键,点击promoted widgets… 菜单。(图片显示是我修改好的)。
    修改其中的内容为下图显示。
    Qt+VLC 实现的网络串流媒体播放_第3张图片
    改完后关闭即可。
  2. 把运行模式改为realease模式,debug是不工作的。
  3. Run,就可以看到希望的界面了。
    Qt+VLC 实现的网络串流媒体播放_第4张图片
    建议
    不建议使用qt5,这个会让时间都浪费的莫名其妙的问题上。
    其他版本有待调试使用。
    需要的资料,这里有网盘链接http://pan.baidu.com/s/1o8ricZK

你可能感兴趣的:(code)