qt 加载rtsp流_Qt编写的RTSP播放器+视频监控(vlc版本)

前几天写了个ffmpeg版本,今天特意抽空改写个vlc版本,之前vlc播放视频后,被接管了不能识别到鼠标,需要重新编译vlc源码得到支持鼠标消息的版本。

/**

* vlc视频播放类 作者:feiyangqingyun(QQ:517216493) 2018-5-2

* 1:多线程实时播放rtsp视频流

* 2:支持windows+linux+mac

* 3:多线程显示图像,不卡主界面

* 4:自动重连网络摄像头

* 5:可设置边框大小即偏移量和边框颜色

* 6:可设置是否绘制OSD标签即标签文本或图片和标签位置

* 7:可设置两种OSD位置和风格

* 8:可设置是否保存到文件以及文件名

* 9:可播放本地视频文件,支持设置帧率

* 10:支持h265视频流+rtmp等常见视频流

* 11:可暂停播放和继续播放

*/

头文件代码

#ifndef VLC_H

#define VLC_H

#include

#include

#if (QT_VERSION > QT_VERSION_CHECK(5,0,0))

#include

#endif

#include "libvlc_head.h"

class VlcWidget;

class VlcObject : public QObject

{

Q_OBJECT

public:

enum VlcState {

VlcState_NothingSpecial = 0,

VlcState_Opening = 1,

VlcState_Buffering = 2,

VlcState_Playing = 3,

VlcState_Paused = 4,

VlcState_Stopped = 5,

VlcState_Ended = 6,

VlcState_Error = 7

};

explicit VlcObject(QObject *parent = 0);

private:

QMutex mutex;                       //锁对象

QDateTime lastTime;                 //最后的消息时间

bool isRtsp;                        //是否是视频流

libvlc_instance_t *vlcInst;         //载体对象

libvlc_media_t *vlcMedia;           //媒体对象

libvlc_media_player_t *vlcPlayer;   //播放对象

int videoWidth;                     //视频宽度

int videoHeight;                    //视频高度

int checkTime;                      //检测超时时间

bool checkConn;                     //检测视频流连接

bool saveFile;                      //是否保存文件

QString fileName;                   //保存文件名称

QString url;                        //视频流地址

QString suffix;                     //拓展名

public:

//获取最后的活动时间

QDateTime getLastTime();

//获取url地址

QString getUrl();

//快照

void snap(const QString &fileName, int width = 640, int height = 480);

//设置参数

void setOption(const QString &args);

//设置视频宽高

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值