缘起
由于项目需要,监控相机需要在客户端显示,但是这个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文件。如图:
修改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一下才会生效。
- 关键的一步在这里
这个qt+vlc的库虽然很牛,但是里面的include版本根本和例程对应不起来。双击打开ui文件。
看这里:
带vlc的那三个控件,是正常的widget升级过来的。升级的过程可以找其他资料。这里是升级好的,但是需要修改这个promotion的内容。点击VlcSeekWidget右键,点击promoted widgets… 菜单。(图片显示是我修改好的)。
修改其中的内容为下图显示。
改完后关闭即可。 - 把运行模式改为realease模式,debug是不工作的。
- Run,就可以看到希望的界面了。
建议
不建议使用qt5,这个会让时间都浪费的莫名其妙的问题上。
其他版本有待调试使用。
需要的资料,这里有网盘链接http://pan.baidu.com/s/1o8ricZK