标题:Qt编写视频播放器(vlc内核)
作者:liudianwu
日期:2018-07-20 11:58
内容:
在研究qt+vlc的过程中,就想直接做个播放器用于独立的项目,vlc还支持硬件加速,不过部分电脑硬件不支持除外。用vlc的内核写播放器就是快,直接调用api就行,逻辑处理和ui展示基本上分分钟的事情,最好加点美化那就更加完美了,市面上很多播放器是vlc内核写的,或者ffmpeg写的。
可执行文件下载:https://pan.baidu.com/s/1KHTsgQUvtzWa3rLB_Tmo7A
1:多线程实时播放rtsp视频流
2:支持windows+linux+mac
3:多线程显示图像,不卡主界面
4:自动重连网络摄像头
5:可设置边框大小即偏移量和边框颜色
6:可设置是否绘制OSD标签即标签文本或图片和标签位置
7:可设置两种OSD位置和风格
8:可设置是否保存到文件以及文件名
9:可播放本地视频文件,支持设置帧率
10:支持h265视频流+rtmp等常见视频流
11:可暂停播放和继续播放
12:支持回调模式和句柄两种模式
13:自动将当前播放位置和音量大小是否静音以信号发出去
14:提供接口设置播放位置和音量及设置静音
#ifndef VLCTHREAD_H
#define VLCTHREAD_H
#include
class QLabel;
class libvlc_instance_t;
class libvlc_media_t;
class libvlc_media_player_t;
class VlcThread : public QThread
{
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 VlcThread(QObject *parent = 0);
~VlcThread();
protected:
void run();
private:
bool stopped;&nbs ..
#1 [青春的年代 07-20 13:10]
又更新又不分享可爱又可恨
#2 [奋斗滴菜鸟 07-20 13:35]
大佬,你这个是吧句柄传下去解码播放的吗,你的qss会失效吗
#3 回 奋斗滴菜鸟 的帖子 [liudianwu 07-20 13:57]
奋斗滴菜鸟:大佬,你这个是吧句柄传下去解码播放的吗,你的qss会失效吗 (2018-07-20 13:35)
句柄传下去之后绘制就被接管了,不可控了。
#4 回 liudianwu 的帖子 [奋斗滴菜鸟 07-20 14:00]
liudianwu:句柄传下去之后绘制就被接管了,不可控了。 (2018-07-20 13:57)
但是我穿的是播放的窗口句柄,播放窗口只是一个子窗口,,主窗口上面的其他按钮不再播放窗口里啊,应该是可控的吧,,大神啊,你之前没遇到吗
#5 [zzzzzzhuzhu 07-20 15:04]
赤裸裸的炫耀啊,又不放源码