先看看效果:

vlc播放视频,要比QMediaPlayer实用的多,并且同时运行20个视频时不会出现卡顿。

这个Demo功能实现非常简单,简单的说一下vlc流程:

1、创建并初始化一个libvlc实例
LIBVLC_API libvlc_instance_t * libvlc_new( int argc , const char *const *argv );

2、根据给定的媒体对象创建一个播放器对象
LIBVLC_API libvlc_media_player_t * libvlc_media_player_new_from_media( libvlc_media_t *p_md );

3、解析媒体实例
LIBVLC_API void libvlc_media_parse( libvlc_media_t *p_md );

4、根据事件解析器分析媒体各种事件及处理

//从发送事件的媒体播放器对象那里获取一个事件管理器
① LIBVLC_API libvlc_event_manager_t * libvlc_media_player_event_manager ( libvlc_media_player_t *p_mi );
//事件通知注册器
② LIBVLC_API int libvlc_event_attach( libvlc_event_manager_t *p_event_manager, libvlc_event_type_t i_event_type, libvlc_callback_t f_callback, void *user_data );

5、设置给予媒体播放器媒体输出的win32/win64窗口句柄
LIBVLC_API void libvlc_media_player_set_hwnd ( libvlc_media_player_t *p_mi, void *drawable );
(注:用Qt的话,比如用QLabel,要用它的winID,并且强转成(void *)类型)

6、获取媒体的状态
LIBVLC_API libvlc_state_t libvlc_media_get_state(libvlc_media_t *p_md );

7、开始播放
LIBVLC_API int libvlc_media_player_play ( libvlc_media_player_t *p_mi );

8、检测媒体是否正在播放(注:这里的返回值可以强转成bool类型方便一点)
LIBVLC_API int libvlc_media_player_is_playing ( libvlc_media_player_t *p_mi );

9、正在播放的媒体暂停(暂停再点击播放可以继续)
LIBVLC_API void libvlc_media_player_set_pause ( libvlc_media_player_t *mp,  int do_pause );

10、正在播放的媒体停止(停止再点击播放则重头播放)
LIBVLC_API void libvlc_media_player_stop ( libvlc_media_player_t *p_mi );

11、释放所有vlc对象(注:在释放libvlc_media_player_t之前,记得先将视频停止,避免的不必要麻烦)
LIBVLC_API void libvlc_media_player_release( libvlc_media_player_t *p_mi );//释放libvlc_media_player_t
LIBVLC_API void libvlc_media_release( libvlc_media_t *p_md );//释放libvlc_media_t。
LIBVLC_API void libvlc_release( libvlc_instance_t *p_instance );//释放libvlc_instance_t。

示例代码已经上传到csdn:

http://download.csdn.net/detail/u014597198/9850645

源码已经上传到Github:https://github.com/ShaShiDiZhuanLan/Demo_VLC_Qt

Qt+VLC简单的使用显示视频Demo相关推荐

  1. Unity 基础 之 在 UGUI 上简单实现VideoPlayer视频播放的功能,简单暂停播放/显示视频名称/显示时长/拖拽播放等

    Unity 基础 之 在 UGUI 上简单实现VideoPlayer视频播放的功能,简单暂停播放/显示视频名称/显示时长/拖拽播放等 目录 Unity 基础 之 在 UGUI 上简单实现VideoPl ...

  2. Qt+VLC播放多个视频的Demo

    这个Demo做的是同时播放9个相同的视频: 详细代码可以参考我写的这篇:Qt+VLC简单的使用显示视频Demo 目前做的这个小Demo代码微微做了一点小优化,单独封装的类: #ifndef SVLCC ...

  3. Qt多路视频监控软件(Qt+VLC支持本地视频/RTSP流/RTMP流)

    Qt多路视频监控软件(Qt+VLC支持本地视频/RTSP流/RTMP流) 功能: 支持同时播放多路视频源: 支持播放本地视频,包括MP4.mkv.flv等视频格式: 支持播放RTSP/RTMP视频流: ...

  4. Qt vlc视频开发libvlc_new返回空的问题

    转自:http://www.cppblog.com/seahouse/archive/2013/09/26/196519.html Qt vlc视频开发libvlc_new返回空的问题 Windows ...

  5. QT显示视频-QVideoWidget

    QT显示视频QVideoWidget Header: #include <QVideoWidget> qmake: QT += multimediawidgets Inherits: QW ...

  6. Qt移植正点原子ZYNQ7010-Arm平台显示图片demo

    移植Qt到ZYNQ7010-Arm平台 参考[正点原子]ZYNQ Qt & OpenCV开发环境搭建_V1.1.pdf 但是我本人按照文档那么配置并不能成功编译,吃了很多苦头,踩了很多坑 但是 ...

  7. 简单制作短视频Demo

    简单制作短视频Demo 准备材料并配置项目工程: 1.去下载七牛云播放器SDK 2.然后把pldroid-player-2.1.6.jar包拷贝到你项目lib文件里,详情如下图所示: 3.把整个jni ...

  8. c++ vlc读取摄像头_Qt音视频开发1-vlc解码播放

    ## 一.前言 最开始接触视频监控这块的时候,用的就是vlc作为解码的内核,主要是因为vlc使用简单方便,直接传入一个句柄即可,简单几行代码就可以实现一个视频流播放,很适合初学者使用,也推荐初学者用q ...

  9. QT实现简单的上位机软件

    最近项目要求写上位机软件,需要实现界面功能和串口读写.界面方面用过MFC(早忘记了),网上查阅资料后发现QT在5.1版本后有自带的串口模块,而且用QT实现简单界面功能很容易上手(也就期末设计随便玩过几 ...

最新文章

  1. swift笔记——环境搭建及Hello,Swift!
  2. Python爬一下抖音上小姐姐的视频~
  3. 中国机器人产业发展报告(2018)正式发布!
  4. Java黑皮书课后题第5章:*5.15(显示ASCII码字符表)编写一个程序,打印ASCII字符表从‘!‘到‘~‘的字符。每行打印10个字符。ASCII码表如附录B所示。数字之间用一个空格字符隔开
  5. websockets_使用Java WebSockets,JSR 356和JSON映射到POJO的
  6. 纪念品分组java_纪念品分组 ——易懂、简介、技巧(Java代码)
  7. WordPress 插件开发实例 – 详细注释的 Widget 开发例子
  8. Windows绘图中的GDI映射模式
  9. (5)通过输入参数(测量数据)构建二维体模型(01)
  10. 初中参观机器人博物馆的作文_参观足球机器人实验室600字作文
  11. 鼠标抖动问题(macbook下安装的win7系统)
  12. 重识JavaScript(一)
  13. VOSviewer进行中文和英文文献分析
  14. DLL文件是什么?有几种调用方式?
  15. 树形DP入门(二叉苹果树+没有上司的舞会)
  16. 【软件测试】测试用例设计
  17. html css 中浮动影响与浮动问题的解决
  18. 记账工具分享,教你如何连续添加新收支
  19. 微分方程(有阻尼的简谐运动)
  20. 人工智能时代下的呼叫中心系统有哪些优势?

热门文章

  1. 解决安装 apk安装不了的问题
  2. 微软推出Azure量子资源估算器,加速量子算法研发
  3. 年末贺岁新路启程~机器人工程专业工作总结和展望
  4. Word处理控件Aspose.Words功能演示:使用 Java 比较 MS Word 文档
  5. 熊掌号php自动提交链接示例,WordPress熊掌号API自动提交接口
  6. 仙剑缘_仙剑缘下载_仙剑缘手游安卓版下载v1.2.5-游侠手游
  7. 没有升级鸿蒙系统怎么办,华为一些手机,可升级为鸿蒙系统,来看看有没有你的机型!...
  8. 矩阵论:子空间的交与和
  9. Repairing a Road NBUT - 1465
  10. CSDN日报20170401 ——《如果你还是“程序员”,我劝你别创业!》