Loading [MathJax]/jax/input/TeX/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >FFmpeg视频播放器开发-FFmpeg拉rtmp流(七)

FFmpeg视频播放器开发-FFmpeg拉rtmp流(七)

原创
作者头像
嵌入式音视频
发布于 2022-09-24 09:13:34
发布于 2022-09-24 09:13:34
4K00
代码可运行
举报
运行总次数:0
代码可运行

在菜单栏输入rtmp流地址后,关闭窗口,在closeEvent方法中发送信号,主线程接收到该信号后,调用网络流线程解码,同时视频显示窗口刷新解码后的img, 这样网络流就可以播放了。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
void NetStreamDlg::closeEvent(QCloseEvent * e)
{
	QString address = ui.lineEdit_IP->text();
	CommonUtils::writeIni(m_iniPath, m_iniKey, address);
	emit(PushStream(address));
}

菜单栏

这是湖南卫视的rtmp流 rtmp://58.200.131.2:1935/livetv/hunantv

主界面接收PushStream信号

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
connect(&m_NetDlg, SIGNAL(PushStream(QString)), this, SLOT(slotPushStream(QString)));

槽函数代码

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
void FFVideoPlayer::slotPushStream(QString address)
{
	LOG4CPLUS_INFO(MyLog::getInstance()->logger, "Push Net Stream");
	g_NetStream = 1;

	setWindowTitle(address);
	NetStreamThread::getInstance()->startPlay(address);
}

通过调用NetStreamThread线程类解码rtmp流,这和本地文件播放差不多,然后再界面控件刷新。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
//重写重绘函数
void VideoWidget::paintEvent(QPaintEvent *e)
{
	if (g_NetStream == 1)
	{
		QPainter painter;

		//显示网络流
		painter.begin(this);
		painter.drawImage(QPoint(448, 170), m_Image);
		painter.end();
	}
	else
	{
      。。。
      。。。
}

显示如下

声音暂时没有处理,以后加上。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Qt | windows视频播放器小项目
点击ctrl+r 运行 目前我测试了gif和MP4,其他文件应该也可以,留给大家完成。
Qt历险记
2024/10/28
2520
Qt | windows视频播放器小项目
QT应用编程: 基于FFMPEG设计的流媒体播放器(播放rtmp视频流)
使用的FFMPEG库版本下载地址:https://download.csdn.net/download/xiaolong1126626497/12304729
DS小龙哥
2022/01/07
4.3K2
QT应用编程: 基于FFMPEG设计的流媒体播放器(播放rtmp视频流)
Qt音视频开发23-通用视频控件
在之前做的视频监控系统中,根据不同的用户需要,做了好多种视频监控内核,有ffmpeg内核的,有vlc内核的,有mpv内核的,还有海康sdk内核的,为了做成通用的功能,不同内核很方便的切换,比如pro直接改一个DEFINE的变量名,所以需要将各种内核的使用方法做成一样的接口,这样看起来就很整齐,所以后面特意提炼了一个通用的视频控件,该控件没有具体的视频播放控制功能,需要根据不同的内核去调用具体的方法实现,后面还需要增加大华sdk或者其他第三方厂家的协议的时候,直接套用这个通用视频控件即可,以后增加新的监控内核,可以省下很多工作量,基本上只需要做内核解析就行,其余通用接口和绘制图像直接交给通用视频控件就行。
feiyangqingyun
2020/09/02
1.4K0
Qt音视频开发23-通用视频控件
FFMPEG音频视频开发: 开发本地视频播放器(单线程解码)
ffmpeg与x264源码开源,可以在任意平台上编译。自行下载源码编译得到库文件即可。
DS小龙哥
2022/01/12
1.4K0
FFMPEG音频视频开发: 开发本地视频播放器(单线程解码)
嵌入式Qt-FFmpeg设计一个RTSP播放器
上篇文章,介绍了FFmpeg的交叉编译,以及在嵌入式Linux平台,运行ffmpeg指令来播放视频。
xxpcb
2022/10/04
1.4K0
嵌入式Qt-FFmpeg设计一个RTSP播放器
QT软件开发: 基于FFMPGE设计的流媒体播放器(rtmp/rtsp)
完整工程下载地址(下载即可编译运行): ffmpeg流媒体播放器.zip_qt流媒体播放器-直播技术文档类资源-CSDN下载
DS小龙哥
2022/01/12
3.1K0
QT软件开发: 基于FFMPGE设计的流媒体播放器(rtmp/rtsp)
QT软件开发:基于libVLC内核设计视频播放器
完整工程下载地址(下载即可编译运行): VLC_Core_VideoPlayer.zip-QT文档类资源-CSDN下载
DS小龙哥
2022/01/12
3.2K2
QT软件开发:基于libVLC内核设计视频播放器
QT应用编程:基于QMediaPlayer开发音视频播放器
QMediaPlayer是Qt提供的一个跨平台媒体播放器类,它没有自带解码库,而是对平台相关的播放器框架做了封装,提供了平台无关的API。所以使用QMediaPlayer播放视频,需要提前安装解码库。 在win系统下可以下载K-Lite_Codec_Pack或者LAVFilters解码库安装。
DS小龙哥
2022/01/07
3.5K0
QT应用编程:基于QMediaPlayer开发音视频播放器
Qt编写的项目作品12-简易视频播放器
一、功能特点 多线程实时播放rtsp视频流。 支持windows+linux+mac。 多线程显示图像,不卡主界面。 自动重连网络摄像头。 可设置边框大小即偏移量和边框颜色。 可设置是否绘制OSD标签即标签文本或图片和标签位置。 可设置两种OSD位置和风格。 可设置是否保存到文件以及文件名。 可播放本地视频文件,支持设置帧率。 支持h265视频流+rtmp等常见视频流。 可暂停播放和继续播放。 支持回调模式和句柄两种模式。 自动将当前播放位置和音量大小是否静音以信号发出去。 提供接口设置播放位置和音量及设置
feiyangqingyun
2020/03/20
9740
Qt编写的项目作品12-简易视频播放器
QT软件开发:基于QtAV设计的视频播放器
完整源码下载: https://download.csdn.net/download/xiaolong1126626497/19759245
DS小龙哥
2022/01/12
1.7K0
QT软件开发:基于QtAV设计的视频播放器
QT软件开发-基于FFMPEG设计视频播放器-软解图像(一)
QT软件开发-基于FFMPEG设计视频播放器-CPU软解视频(一) https://xiaolong.blog.csdn.net/article/details/126832537
DS小龙哥
2023/01/30
2.4K1
Python应用03 使用PyQT制作视频播放器
最近研究了Python的两个GUI包,Tkinter和PyQT。这两个GUI包的底层分别是Tcl/Tk和QT。相比之下,我觉得PyQT使用起来更加方便,功能也相对丰富。这一篇用PyQT实现一个视频播放器,并借此来说明PyQT的基本用法。 视频播放器 先把已经完成的代码放出来。代码基于Python 3.5: import time import sys from PyQt4 import QtGui, QtCore from PyQt4.phonon import Phonon class PollTi
Vamei
2018/01/18
3.5K0
Python应用03 使用PyQT制作视频播放器
QT应用编程:基于VLC开发音视频播放器(回调方式)
完整项目代码下载地址: https://download.csdn.net/download/xiaolong1126626497/16579867
DS小龙哥
2022/01/07
1.2K0
QT应用编程:基于VLC开发音视频播放器(回调方式)
RTMP直播播放器为什么要做秒开?
2015年我们做了RTMP直播播放器没多久,就加了快速播放接口,今天就从播放器用户体验的维度,谈谈为什么要做这个:
音视频牛哥
2024/11/25
2360
QT应用编程: 基于FFMPEG设计的精简版视频播放器
win32下使用FFMPEG 4.2.2库下载地址:https://download.csdn.net/download/xiaolong1126626497/12321684
DS小龙哥
2022/01/07
8350
QT应用编程: 基于FFMPEG设计的精简版视频播放器
QT软件开发: 基于QT设计的完整版视频播放器、多媒体播放器(mdk-sdk)
完整工程源码下载地址(下载即可编译运行): https://download.csdn.net/download/xiaolong1126626497/19387165
DS小龙哥
2022/01/12
7.1K0
QT软件开发:  基于QT设计的完整版视频播放器、多媒体播放器(mdk-sdk)
Qt学习之路_14(简易音乐播放器)
  这一节实现一个简易的音乐播放器,其音乐播放的核心功能是采用Qt支持的Phonon框架,该框架在前一篇博文Qt学习之路_13(简易俄罗斯方块) 中已经使用过了,在俄罗斯方块中主要是用来设置背景音乐和消行的声音的。这里用这个框架同样是用来播放,暂停等多媒体的各种控制功能,另外该框架可以自动获取音频文件的一些信息,这样我们在设计播放列表时可以获取这些信息,比如歌手名,专辑名,时长,文件名等等。程序中桌面歌词的实现是继承了QLabel类,然后使用3层文本显示,最上面一层采用渐进显示的方式来达到歌词播放的动态效果。
bear_fish
2018/09/20
2.1K0
Qt学习之路_14(简易音乐播放器)
基于QT播放器的实现(一)Rgb、YUV格式(附带代码)
R = Y + 1.402 * (V-128) G = Y – 0.34413 * (U-128) – 0.71414*(V-128) B= Y + 1.772*(U-128)
全栈程序员站长
2022/09/05
2K0
【Android FFMPEG 开发】FFMPEG 视频播放进度控制 ( 显示播放进度 | 拖动进度条播放 )
FFMPEG 播放进度控制 : 为 FFMPEG 播放视频添加拖动进度条功能 , 主要包含以下两个功能 ;
韩曙亮
2023/03/27
2.4K0
【Android FFMPEG 开发】FFMPEG 视频播放进度控制 ( 显示播放进度 | 拖动进度条播放 )
基于 FFmpeg 的 Cocos Creator 视频播放器
腾讯开心鼠项目使用的游戏引擎是 Cocos Creator,由于引擎提供的视频组件实现方式问题导致视频组件和游戏界面分了层,从而导致了以下若干问题:
陈皮皮
2021/01/04
6.5K2
基于 FFmpeg 的 Cocos Creator 视频播放器
推荐阅读
相关推荐
Qt | windows视频播放器小项目
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验