自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(44)
  • 收藏
  • 关注

原创 ubuntu20.4 执行sudo apt-get update出现错误 libnettle.so.6 动态链接库错误

sudo apt-get update 报错提示 libnettle.so.6 动态链接库错误。

2023-10-21 12:28:58 984

原创 从QSortFilterProxyModel重写filterAcceptsRow不被调用

从QSortFilterProxyModel重写filterAcceptsRow不被调用

2022-03-31 20:40:26 580

原创 QMenu菜单插入自定义菜单QLineEdit无法输入中文

QWidgetAction通过接口方式继承自QAction,可以用于将自定义的QWidget 窗口插入到QMenu中,但是如果在自定义的 QWidget 中使用QLineEdit输入英文正常,却无法输入中文,解决办法是在显示窗口后激活此窗口 this->activateWindow();

2022-01-25 15:30:03 1677

转载 Qt 视频播放画面闪烁问题解决办法

问题窗口伸缩时,有其他窗口元素与视频窗口交叉显示时,焦点切换时,视频出现闪烁现象。播放软件实现了多窗口同时播放多路视频。在切换不同的视频窗口时出现背景图片刷新闪屏。播放软件主窗口重新实现函数changeEvent,解决最小化之后界面不刷新问题。void CSSAWidget::paintEvent(QPaintEvent *){ ////由于继承了QWidget,必须重载paintevent才能绘制背景 QStyleOption opt; opt.initFrom

2021-07-16 20:42:40 2842

转载 C# 透明窗体制作方法

制作透明窗体办法有好几种,各有优缺点.我们先来看看C#本身提供的办法1:通过设置窗体的 TransparencyKey实现     例:窗体中的白色会变成透明 this.BackColor =Color.White; this.TransparencyKey = Color.White;2:通过设置窗体的 Opacity 实现   例:窗体的透

2016-10-31 17:57:13 10641

转载 从资源中加载jpg, png到GDI+ Image

从资源中加载jpg和png文件, 貌似不应该是个大问题, 一google结果一大堆, 却有两个陷阱,trap啊1, 是Bitmap(RT_BITMAP)类型的图片无法加载, RT_BITMAP是预定义类型, 资源里面没有bmp文件的头, SizeofResource 的返回值要比图片文件少几个字节,因为少了这几个字节, 所以GDI+会返回invalid parameter错误。

2014-12-09 12:43:48 3316

转载 RTMP流媒体播放过程

本文描述了从打开一个RTMP流媒体到视音频数据开始播放的全过程。注意:RTMP中的逻辑结构RTMP协议规定,播放一个流媒体有两个前提步骤:第一步,建立一个网络连接(NetConnection);第二步,建立一个网络流(NetStream)。其中,网络连接代表服务器端应用程序和客户端之间基础的连通关系。网络流代表了发送多媒体数据的通道。服务器和客户端之间只能建立一个网络连接,但是基于

2014-08-18 17:27:16 591

原创 虚函数与纯虚函数

虚函数与纯虚函数 转载▼1、基本形式:virtual ReturnType Function_1();            //虚函数声明virtual ReturnType Function_2() = 0;      //纯虚函数声明先讲示例吧,再总结结论。2、示例:class Animail{public:    void Functio

2014-07-23 17:55:23 619

转载 crtmpserver 基本流程分析

最近在研究crtmpserver,这里记录下学习过程,首先我们先分析下基本流程。1、初始化流程InitNetworking---初始化网络InitializeLogger::Init()---初始化日志lowerCase(extension) == "lua"---加载.lua后缀配置文件LoadLuaFileNormalizeNormalizeLogAppen

2014-07-17 16:17:50 735

转载 C++ 模拟浏览器发送HTTP请求

#include #include #include #include #include "Wininet.h"#pragma comment(lib,"Wininet.lib")//模拟浏览器发送HTTP请求函数std::string HttpRequest(char * lpHostName,short sPort,char * lpUrl,char * lpMethod,ch

2014-06-06 17:53:09 3085

转载 ffmpeg 解复用视频文件

解复用视频文件:就是提取出音频文件和视频文件的ES流数据。而对于aac和h264来说,提取出来的数据直接保存并不能成功的播放,原因就在ffmpeg解出的ES数据比较纯净,没有ADTS头,而很多解码器都是需要ADTS头信息来进行解码的,所以就要对aac数据进行头部adts结构的添加。     对于h264文件来说,h264有两种封装,一种是annexb模式,传统模式,有startcode,S

2014-05-26 10:19:54 1547

转载 实现输出h264直播流的rtmp服务器

实现输出h264直播流的rtmp服务器  RTMP(Real Time Messaging Protocol)是常见的流媒体协议,用来传输音视频数据,结合flash,广泛用于直播、点播、聊天等应用,以及pc、移动、嵌入式等平台,是做流媒体开发经常会接触到的协议。我之前曾经写过一篇文章“RTMP协议发送H.264编码及AAC编码的音视频”,简单介绍过如何在自己的程序里使用rtmp协议,不过那

2014-05-16 14:41:05 863

转载 HTTP Live Streaming直播(iOS直播)技术分析与实现

HTTP Live Streaming直播(iOS直播)技术分析与实现   不经意间发现,大半年没写博客了,自觉汗颜。实则2012后半年,家中的事一样接着一样发生,实在是没有时间。快过年了,总算忙里偷闲,把最近的一些技术成果,总结成了文章,与大家分享。  前些日子,也是项目需要,花了一些时间研究了HTTP Live Streaming(HLS)技术,并实现了一个HLS编码器HLSL

2014-05-16 14:39:31 652

转载 RTSP协议转换RTMP直播协议

RTSP协议转换RTMP直播协议  RTSP协议也是广泛使用的直播/点播流媒体协议,最近实现了一个RTSP协议转换RTMP直播协议的程序,为的是可以接收远端设备或服务器的多路RTSP直播数据,实时转换为RTMP直播协议,推送到FMS、Red5、wowza server等RTMP服务器,以实现flash观看RTSP直播源的需求。程序同时也具备从FLV文件获取输入数据并转换RTMP直播。实现的

2014-05-16 14:37:11 1116

转载 C++实现RTMP协议发送H.264编码及AAC编码的音视频,摄像头直播

RTMP(Real Time Messaging Protocol)是专门用来传输音视频数据的流媒体协议,最初由Macromedia 公司创建,后来归Adobe公司所有,是一种私有协议,主要用来联系Flash Player和RtmpServer,如FMS, Red5, crtmpserver等。RTMP协议可用于实现直播、点播应用,通过FMLE(Flash Media Live Encoder

2014-05-16 14:31:09 1431

转载 ffmpeg中的sws_scale算法性能测试

经常用到ffmpeg中的sws_scale来进行图像缩放和格式转换,该函数可以使用各种不同算法来对图像进行处理。以前一直很懒,懒得测试和甄别应该使用哪种算法,最近的工作时间,很多时候需要等待别人。忙里偷闲,对ffmpeg的这一组函数进行了一下封装,顺便测试了一下各种算法。简单说一下测试环境,我使用的是Dell的品牌机,i5的CPU。ffmpeg是2010年8月左右的当时最新版本编译而成,我

2014-02-11 16:01:55 796

翻译 混音器编程接口讨论

译自:MIXER API ARGUMENTATION为了理解混音器API是如何工作的,必须先了解典型的声卡的硬件布局。我们有必要想象一下,声卡上有各种独立的,清楚的,但是却又互相连接的元件。先看一种典型的,最基本的声卡。首先,如果声卡有数字音频录音功能,它必定有一个麦克风输入接口(以及某种前置放大器(pre-amp)),还有一个模数转换器(ADC)用来转换麦克风的模拟信号为数字信号

2013-10-24 17:17:47 1273

转载 Windows 进程间通信方式

Windows进程间通信方式1 文件映射文件映射(Memory-Mapped Files)能使进程把文件内容当作进程地址区间一块内存那样来对待。因此,进程不必使用文件I/O操作,只需简单的指针操作就可读取和修改文件的内容。Win32 API允许多个进程访问同一文件映射对象,各个进程在它自己的地址空间里接收内存的指针。通过使用这些指针,不同进程就可以读或修改文件的内容,实现了对文件中

2013-10-24 12:03:00 632

转载 PAT、PMT、SDT详解 MPEG2-TS流的分析

下面针对解复用程序详细分析一下PAT,PMT和SDT三类表格的格式.PAT---Program Association Table,节目关联表。PAT表携带以下信息:(1) TS流ID--- transport_stream_id,该ID标志唯一的流ID(2)节目频道号-- program_number,该号码标志TS流中的一个频道,该频道可以包含很多的节目(即可以包含多个Vide

2013-10-08 18:07:56 7923

原创 CListCtrl非激活状态高亮显示

CListCtrl非激活状态高亮显示之前遇到过,搜了半天解决了但没记录,今天又遇到了,又搜了半天,所以这次得做个记录。三个要点:一、Always Show Selection:False总是显示选定内容,即使控件没有焦点。二、View:Report三、响应NM_CUSTOMDRAWvoid CmfcDlg::OnNMCustomdrawList(NMHDR *p

2013-08-28 11:04:21 731

转载 VC菜单编程知识

VC菜单编程知识汇总   1.菜单编程的几个术语顶层菜单-----出现在窗口顶端的菜单栏顶层菜单项---顶层菜单里面的命令项(菜单项)下拉菜单-----顶层菜单项被单击时出现的菜单弹出菜单-----这种菜单很像下拉菜单,但是可以在屏幕任意位置弹出菜单项-------出现菜单里的命令项    2.创建菜单的方法1.用编程方法创建菜单调用CreateMenu、Ins

2013-08-15 10:49:53 1819

转载 C/C++ 获取文件长度

(一) 对文件操作时有时获得文件的大小时必要的.下面是获得其大小小的较简单方法. #include //C 语言头文件#include //for system();using namespace std;int main(){ int handle; handle = open("test.txt", 0x0100); //open file for

2013-05-17 10:52:13 4426

转载 API函数ReadDirectoryChangesW 监视目录

对指定的一个目录进行监控,当该目录中有文件发生改变,并通知处理。 Windows提供了对文件和目录监控的系统服务,并且为应用程序提供了两个API函数,它们分别是:FindFirstChangeNotification和ReadDirectoryChangesW。由于通过FindFirstChangeNotification函数只能监控到某一目录下有文件发生改变,而不能监控到具体是哪一文件发生改变,

2013-05-15 11:47:22 1495

转载 VC系统热键的注册

使用系统热键可以这么进行,假设我们在 CTestHotkeyDlg这个类进行热键测试。A.首先是注册系统热键 RegisterHotKeyBOOL RegisterHotKey(HWND hWnd, int id, UINT fsModifiers, UINT vk); hWnd :指定接收WM_HOTKEY消息的窗体句柄  id : 指定响应该事件的 id, 应用

2013-05-15 11:38:51 1305

原创 vc 网络编程(socket)TCP/UDP 介绍

在网上找了很多的资料,现将这些资料整合起来,详细介绍一下VC下的socket编程,并提供一个服务器客户端具体的实例。希望对您有所帮助一、原理部分   在网络编程中最常用的方案便是Client/Server (客户机/服务器)模型。在这种方案中客户应用程序向服务器程序请求服务。一个服务程序通常在一个众所周知的地址监听对服务的请求,也就是说,服务进程一 直处于休眠状态,直到一个客户向这个服务的

2013-04-12 12:39:42 5528 1

转载 VC6开发视频监控ActiveX控件总结

总结前段时间在VC6下使用MFC开发视频监控控件过程中遇到的一些问题.1.获取控件当前所在路径,用于读取该目录下的INI配置文件char m_ConfigIni[512]; // 存放配置文件路径char szApp[512]; // 当前控件所在完整路径(带文件名) GetModuleFileName(AfxGetInstanceHandle(), szApp, MAX

2013-04-11 17:30:32 1052 1

转载 VS2003.net ActiveX控件相关

今天在VC7上开发ActiveX控件,添加函数害的我挣了一下午,现在想想真是怀恋VC6的ClassWizard啊。在网上找了很多资料,也没发现与此相关的,所以就记录下来,仅供参考啊创建ActiveX工程后,只能靠手动添加函数,这里要注意四个地方都要修改,才能最终达到效果: 1、.h中:加入函数声明 afx_msg short display(LPCTSTR lpszData); 2

2013-04-11 17:04:33 931

转载 STL 标准模板库详细

STL就是Standard Template Library,标准模板库。这可能是一个历史上最令人兴奋的工具的最无聊的术语。从根本上说,STL是一些“容器”的集合,这些“容器”有list, vector,set,map等,STL也是算法和其它一些组件的集合。这里的“容器”和算法的集合指的是世界上很多聪明人很多年的杰作。是C++标准库的一个重要组成部分,它由Stepanov and Lee等人最

2013-04-11 16:53:04 1472

转载 VC视频教程笔记!

第1课1.MFC生成的C++源文件中都有StdAfx.h,此文件包含了常用的AFX函数的声明,其中有afxwin.h,此文件包含了CRECT,CPoint,CWnd等许多类及其方法的声明。2.Project->Setting->Debug可以加入命令行参数。3.在SDK中要加入"windows.h"和stdio.h。因为LoadCursor,MessageBox等函数的声明在这个文件中。4.

2013-04-11 16:22:55 1388

转载 C++:STL标准入门汇总

学无止境!!!第一部分:(参考百度百科) 一、STL简介STL(Standard Template Library,标准模板库)是惠普实验室开发的一系列软件的统称。它是由Alexander Stepanov、Meng Lee和David R Musser在惠普实验室工作时所开发出来的。现在虽说它主要出现在C++中,但在被引入C++之前该技术就已经存在了很长的一段

2013-04-11 16:05:17 558

转载 C++位运算详解

位简介位是数据存储的最小单位。在 计算机中的二进制数系统中,位,简记为b,也称为比特,每个0或1就是一个位(bit)。位操作详解我们先来看看位运算操作符:& (按位与)、| (按位或)、^ (按位异或)、~ (按位取反)、>> (按位右移)、1、&(按位与) 从概念上来讲,就是将参与运算的两个分量对应的每一位来做逻辑与运算,若两者都为真(等于1),则结果才为真(等于

2013-03-14 14:22:25 696 1

转载 gdi使用经验分享

在windows系列上做编程,gdi是一个很重要的技术点,有很多程序在运行多次后出现异常,除了众所周知的内存泄露以外,gdi资源泄露也是一个很直接的原因.今天就把我自己在编程中总结的一些经验给大家分享,欢迎高手补充.1.Create出来的gdi对象,一定要用DeleteObject来释放,释放顺序是先Create的后释放,后Create的先释放.这里的Create指的是以它为开头的gdi函

2013-01-30 10:16:45 443

转载 VC++内存泄露定位

内存泄漏定位今天调试程序,发现有内存泄漏但是没有提示具体是哪一行,搞得我很头疼。结果在网上搜索了一些资料,经自己实践后整理如下:第一种:通过"OutPut窗口"定位引发内存泄漏的代码(下面转,我写的没原文好,也懒得写)。我们知道,MFC程序如果检测到存在内存泄漏,退出程序的时候会在调试窗口提醒内存泄漏。例如:class CMyApp : public CWinApp{

2013-01-30 10:14:38 655

转载 H264中的SPS、PPS提取与作用

牛逼的视频会议网站:http://wmnmtm.blog.163.com/blog/#m=0++++++++++++++++++++++++++++++++++++++++++++++++++++http://blog.csdn.net/wwqingyue/article/details/8540701使用RTP传输H264的时候,需要用到sdp协议描述,其中有两项:Seq

2013-01-25 09:57:49 2315

转载 RTP传输H264时的sps和pps的获取

使用RTSP传输H264的时候,需要用到sdp协议描述,其中有两项:Sequence ParameterSets (SPS) 和Picture ParameterSet (PPS)需要用到,那么这两项从哪里获取呢?答案是从H264码流中获取.在H264码流中,都是以"0x00 0x00 0x01"或者"0x00 0x00 0x00 0x01"为开始码的,找到开始码之后,使用开始码之后的第一

2013-01-25 09:55:55 1505

转载 H.264RTP封包原理

1.引言随着信息产业的发展,人们对信息资源的要求已经逐渐由文字和图片过渡到音频和视频,并越来越强调获取资源的实时性和互动性。但人们又面临着另外一种不可避免的尴尬,就是在网络上看到生动清晰的媒体演示的同时,不得不为等待传输文件而花费大量时间。为了解决这个矛盾,一种新的媒体技术应运而生,这就是流媒体技术。流媒体由于具有启动时延小、节省客户端存储空间等优势,逐渐成为人们的首选,流媒体网络应用也在全球

2013-01-25 09:52:48 658

转载 H264—MP4格式及在MP4文件中提取H264的SPS、PPS及码流

一、MP4格式基本概念MP4格式对应标准MPEG-4标准(ISO/IEC14496)二、MP4封装格式核心概念1 MP4封装格式对应标准为 ISO/IEC 14496-12(信息技术 视听对象编码的第12部分: ISO 基本媒体文件格式/Information technology Coding of audio-visual objects Part 12:

2013-01-25 09:51:51 1051

转载 ffmpeg: ‘UINT64_C’ was not declared in this scope

ffmpeg 默认是用C文件来编译的,如果某个CPP文件想引用ffmpeg中的某些函数或者头文件,有可能出现‘UINT64_C’ was not declared in this scope的错误情形大概如下The same issue i'm getting here when compiling chromium with ffmpeg from svn:In file inc

2013-01-24 16:30:06 964

转载 ffmpeg解码流程 turorial5详解

FFMPEG解码流程1. 注册所有容器格式和CODEC:av_register_all()2. 打开文件:av_open_input_file()3. 从文件中提取流信息:av_find_stream_info()4. 穷举所有的流,查找其中种类为CODEC_TYPE_VIDEO5. 查找对应的解码器:avcodec_find_decoder()

2013-01-22 11:03:32 1145

转载 H264--H264解码--5

解码器在解码时,首先逐个字节读取NAL的数据,统计NAL的长度,然后再开始解码。nal_unit( NumBytesInNALunit ) {/* NumBytesInNALunit为统计出来的数据长度 */forbidden_zero_bit // forbidden_zero_bit 等于 0表示网络传输没有出错nal_ref_idc // 指示当前 NAL 的优先级。取值范围为

2013-01-21 15:17:28 1025

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除