- 博客(169)
- 资源 (18)
- 收藏
- 关注
原创 Linux服务器开发&音视频技术整理、学习笔记
Linux服务器开发技术整理、学习笔记https://github.com/gongluck/CVIP
2020-12-07 10:37:55 493
原创 C++实现循环数组/队列
https://github.com/gongluck/gcode/blob/master/cpp/algorithm/cycle_array/cycle_array.hpp]
2021-10-22 15:47:12 863
原创 完全依赖QML实现播放器
前言一直听闻QML无比强大好用,工作中需要扣一个同时播放视频的Demo,所以就趁这个机会研究了一下。效果图和源码源码仓库主要设计主页面QMLimport QtQuick 2.12import QtQuick.Window 2.12Window { visible: true width: 640 height: 480 Counter{ ...
2020-03-03 16:07:30 1071
转载 不能运行 'rc.exe'( error LNK1158: cannot run 'rc.exe')
在使用vs2013跑cuda samples中查看GPU设备的程序deviceQuery时,出现如下错误:1>------ Build started: Project: deviceQuery, Configuration: Debug x64 ------1> Creating library ../../bin/win64/Debug/deviceQuery.lib and o
2018-04-17 09:09:15 2072
原创 boost: timer
Code#include <Windows.h>#include <iostream>#include <boost/timer.hpp>using namespace std;using namespace boost;int main(){ timer t;//构造完成就开始计时 cout << "max ...
2018-03-28 22:25:39 339
原创 python笔记:#014#综合应用
综合应用 —— 名片管理系统目标综合应用已经学习过的知识点:变量流程控制函数模块开发 名片管理系统系统需求程序启动,显示名片管理系统欢迎界面,并显示功能菜单**************************************************欢迎使用【名片管理系统】V1.01. 新建名片2. 显示全部3. 查询名片0...
2018-03-25 13:22:47 637
原创 boost: atomic
Code#include <iostream>#include <boost/atomic.hpp>using namespace std;using namespace boost;int main(){ atomic<int> a(10); assert(a == 10); atomic<long>...
2018-03-24 16:59:21 678
转载 编译boost
VS2015编译boost1.62Boost库是一个可移植、提供源代码的C++库,作为标准库的后备,是C++标准化进程的开发引擎之一。 Boost库由C++标准委员会库工作组成员发起,其中有些内容有望成为下一代C++标准库内容。在C++社区中影响甚大,是不折不扣的“准”标准库。Boost由于其对跨平台的强调,对标准C++的强调,与编写平台无关。大部分boost库功能的使用只需包括相应头文件即可
2018-03-23 23:46:01 596
转载 OCX 入门
OCX入门:http://blog.csdn.net/hkcsdn/article/details/52908748前言ActiveX是Microsoft对于一系列策略性面向对象程序技术和工具的称呼,其中主要的技术是组件对象模型(COM)。 ActiveX控件是一种实现了一系列特定接口而使其在使用和外观上更象一个控件的COM组件。ActiveX控件这种技术涉及到了几乎所有的C
2018-03-21 09:06:29 16130 1
原创 python笔记:#013#高级变量类型
高级变量类型目标列表元组字典字符串公共方法变量高级知识点回顾Python 中数据类型可以分为 数字型 和 非数字型数字型 整型 (int)浮点型(float)布尔型(bool) 真 True 非 0 数 —— 非零即真假 False 0复数型 (complex) 主要用于科学计算,例如:平面场问题、波动问题、电感电容等问题非数字型字符...
2018-03-11 16:23:13 1208
转载 Visual C++内存泄露检测工具(VLD)
简述C/C++ 程序越复杂,内存的管理显得越重要,稍有不慎就会出现泄漏。如果内存泄漏不是很严重,在短时间内对程序不会有太大影响,这也使得内存泄漏问题有很强的隐蔽性,不易被发现。然而不管内存泄漏多么轻微,当程序长时间运行时,其破坏力是惊人的 - 从性能下降到内存耗尽,甚至会影响其他程序的正常运行。简述VLD下载安装使用Visual StudioQt更多参考
2018-03-11 13:57:55 294
原创 python笔记:#012#函数
函数基础目标函数的快速体验函数的基本使用函数的参数函数的返回值函数的嵌套调用在模块中定义函数01. 函数的快速体验1.1 快速体验所谓函数,就是把 具有独立功能的代码块 组织为一个小模块,在需要的时候 调用函数的使用包含两个步骤: 定义函数 —— 封装 独立的功能调用函数 —— 享受 封装 的成果函数的作用,在开发程序时,使用函数可以提高编写...
2018-03-10 20:30:04 675
转载 Boost asio 官方教程
7.1. 概述本章介绍了 Boost C++ 库 Asio,它是异步输入输出的核心。 名字本身就说明了一切:Asio 意即异步输入/输出。 该库可以让 C++ 异步地处理数据,且平台独立。 异步数据处理就是指,任务触发后不需要等待它们完成。 相反,Boost.Asio 会在任务完成时触发一个应用。 异步任务的主要优点在于,在等待任务完成时不需要阻塞应用程序,可以去执行其它任务。异步
2018-02-24 17:50:01 36061 7
原创 python笔记:#011#循环
循环目标程序的三大流程while 循环基本使用break 和 continuewhile 循环嵌套01. 程序的三大流程在程序开发中,一共有三种流程方式: 顺序 —— 从上向下,顺序执行代码分支 —— 根据条件判断,决定执行代码的 分支循环 —— 让 特定代码 重复 执行02. while 循环基本使用循环的作用就是让 指定的代码 重复的执...
2018-02-23 21:51:23 772
原创 python笔记:#010#运算符
运算符目标算数运算符比较(关系)运算符逻辑运算符赋值运算符运算符的优先级数学符号表链接:https://zh.wikipedia.org/wiki/数学符号表01. 算数运算符是完成基本的算术运算使用的符号,用来处理四则运算 运算符 描述 实例 + 加 10 + 20 = 30 - 减 10 - 20...
2018-02-11 20:48:53 529
原创 python笔记:#009#判断语句
判断(if)语句目标开发中的应用场景if 语句体验if 语句进阶综合应用01. 开发中的应用场景生活中的判断几乎是无所不在的,我们每天都在做各种各样的选择,如果这样?如果那样?……程序中的判断if 今天发工资: 先还信用卡的钱 if 有剩余: 又可以happy了,O(∩_∩)O哈哈~ else...
2018-02-09 19:30:24 935
原创 python笔记:#008#变量的命名
变量的命名目标标识符和关键字变量的命名规则0.1 标识符和关键字1.1 标识符 标示符就是程序员定义的 变量名、函数名 名字 需要有 见名知义 的效果,见下图:标示符可以由 字母、下划线 和 数字 组成不能以数字开头不能与关键字重名思考:下面的标示符哪些是正确的,哪些不正确为什么?fromNo12from#12m...
2018-02-09 19:09:16 368
原创 python笔记:#007#变量
变量的基本使用 程序就是用来处理数据的,而变量就是用来存储数据的目标变量定义变量的类型变量的命名01. 变量定义在 Python 中,每个变量 在使用前都必须赋值,变量 赋值以后 该变量 才会被创建等号(=)用来给变量赋值 = 左边是一个变量名= 右边是存储在变量中的值变量名 = 值 变量定义之后,后续就可以直接使用了1
2018-02-07 19:29:21 699
原创 python笔记:#006#程序执行原理
程序执行原理(科普)目标计算机中的 三大件程序执行的原理程序的作用01. 计算机中的三大件计算机中包含有较多的硬件,但是一个程序要运行,有 三个 核心的硬件,分别是:CPU 中央处理器,是一块超大规模的集成电路负责 处理数据/计算内存 临时 存储数据(断电之后,数据会消失)速度快空间小(单位价格高)硬盘 永久 存储数据速度慢空间大(单位
2018-02-06 21:31:11 725 1
原创 python笔记:#005#算数运算符
算数运算符计算机,顾名思义就是负责进行 数学计算 并且 存储计算结果 的电子设备目标算术运算符的基本使用01. 算数运算符算数运算符是 运算符的一种是完成基本的算术运算使用的符号,用来处理四则运算 运算符 描述 实例 + 加 10 + 20 = 30 - 减 10 - 20 = -10 * 乘
2018-02-06 20:15:49 698
原创 python笔记:#004#注释
注释目标注释的作用单行注释(行注释)多行注释(块注释)01. 注释的作用 使用用自己熟悉的语言,在程序中对某些代码进行标注说明,增强程序的可读性02. 单行注释(行注释)以 # 开头,# 右边的所有东西都被当做说明文字,而不是真正要执行的程序,只起到辅助说明作用示例代码如下:# 这是第一个单行注释print("hello pytho
2018-02-06 19:56:15 1251
原创 python笔记:#003#PyCharm 的初始设置
PyCharm 的初始设置(知道)目标恢复 PyCharm 的初始设置第一次启动 PyCharm新建一个 Python 项目设置 PyCharm 的字体显示PyCharm 的升级以及其他PyCharm 的官方网站地址是:https://www.jetbrains.com/pycharm/01. 恢复 PyCharm 的初始设置PyCharm 的 配置信息 是保存
2018-02-05 20:45:18 4573
原创 python笔记:#002#第一个python程序
第一个 Python 程序目标第一个 HelloPython 程序Python 2.x 与 3.x 版本简介执行 Python 程序的三种方式 解释器 —— python / python3交互式 —— ipython集成开发环境 —— PyCharm01. 第一个 HelloPython 程序1.1 Python 源程序的基本概念Python
2018-02-04 20:26:11 750
原创 python笔记:#001#python简介
认识 Python 人生苦短,我用 Python —— Life is short, you need Python目标Python 的起源为什么要用 Python?Python 的特点Python 的优缺点01. Python 的起源 Python 的创始人为吉多·范罗苏姆(Guido van Rossum)1989 年的圣诞节期间
2018-02-03 22:46:06 1128
原创 使用librtmp推流/拉流
准备工作#include "librtmp/rtmp_sys.h"#include "librtmp/log.h"#pragma comment(lib, "librtmp.lib")#pragma comment(lib, "WS2_32.lib")WORD version;WSADATA wsaData;version = MAKEWORD(1, 1);WSAStar
2018-01-22 11:08:36 6003 3
转载 FLV文件格式官方规范详解
——如果要学习一个新的知识点,官方手册可能是最快的途径。查看网上其他人的总结也许入门更快,但是要准确,深入,完整,还是要看官方手册。以下内容来自对官方文档Video File Format Specification Version 10的分析总结。过程中借助ffmpeg实际转换了一个flv文件用例研究。一个FLV文件,每种类型的tag都属于一个流,也就是一个flv文件最多只有一个音频流,一个视频
2018-01-18 08:55:02 420
原创 FFmpeg菜鸡互啄#第7篇#文件/rtsp推流到rtmp
关键步骤 avformat_open_input//打开输入文件/rtsp avformat_find_stream_info////获取音视频流信息 avformat_alloc_output_context2//创建输出上下文 avformat_new_stream//创建输出流 avcodec_copy_context//复制配置输出流 av
2018-01-13 22:19:49 2594
原创 (2018.1.12更新)可用rtmp地址
rtmp://live.hkstv.hk.lxdns.com:1935/live/hksrtmp://live.hkstv.hk.lxdns.com/live//hksrtmp://v1.one-tv.com:1935/live/mpegts.streamrtmp://3xhtut.live1.z1.pili.qiniucdn.com/lotustv/5562e9e4d409d24c9600
2018-01-12 11:19:24 10031 2
转载 H.264格式分析
一.H.264基本流结构H.264 的基本流(elementary stream,ES)的结构分为两层,包括视频编码层(VCL)和网络适配层(NAL)。视频编码层负责高效的视频内容表示,而网络适配层负责以网络所要求的恰当的方式对数据进行打包和传送。引入NAL并使之与VCL分离带来的好处包括两方面:1、使信号处理和网络传输分离,VCL 和NAL 可以在不同的处理平台上实现;2、VCL 和NAL
2018-01-11 16:24:58 368
原创 nginx rtmp server搭建
mkdir nginxwget http://nginx.org/download/nginx-1.12.2.tar.gztar -zxvf nginx-1.12.2.tar.gzapt-get install libpcre3-devgit clone https://github.com/arut/nginx-rtmp-module.gitcd nginx-1.12.2./confi
2018-01-04 21:26:31 287
原创 crtmp server搭建
apt-get install wget cmakeapt-get install libssl-devmkdir crtmpwget https://codeload.github.com/j0sh/crtmpserver/zip/centosinitunzip centosinitcd crtmpserver-centosinit/builders/cmakecmake . mak
2018-01-04 20:26:25 345
原创 FFmpeg菜鸡互啄#第6篇#音频帧格式转换(重采样)
av_get_default_channel_layout 根据通道数返回默认的通道布局swr_alloc_set_opts 根据通道布局、音频数据格式、采样频率,返回分配的转换上下文swr_init 初始化上下文av_samples_get_buffer_size 根据通道数、样本数、数据格式,返回数据大小swr_convert 转换*应该分配一个足够大的缓冲区保存转换后的数据*
2018-01-03 14:13:39 1019
原创 FFmpeg菜鸡互啄#第5篇#视频帧格式转换
avpicture_get_size 算出某格式和分辨率下一帧图像的数据大小avpicture_fill 将自己分配的内存绑定到AVFrame帧的data数据区avpicture_alloc 为AVFrame帧的data分配内存,不用自己分配sws_getContext 创建从一种格式到另一种格式的转换上下文sws_scale 转换*以上的每一个函数都没有对AFrame的linesize进行有效处理
2018-01-03 10:15:36 615
原创 FFmpeg菜鸡互啄#第4篇#音频解码
解码过程音频解码跟上一篇的视频解码过程是一样的:打开输入文件,查找音频流,打开解码器,循环读帧解码帧,关闭解码器,关闭输入文件。
2018-01-02 20:42:28 679
原创 FFmpeg菜鸡互啄#第2篇#配置VS开发环境
下载FFmpeg首先是下载FFmpeg的win32库,我用的版本是2.5.2(和其他2.x.x版本应该不会有太大差别)。FFmpeg的官网上好像已经找不到旧版本的下载了,可以在我的代码地址下载2.5.2版本。创建工程打开Visual Studio 2013,创建一个空的控制台项目。 配置FFmpeg目录在上面一步创建的工程目录下,创建一个FFmpeg文件夹。FFmpeg文件夹下新建inc和lib目
2017-12-29 22:23:44 494
原创 FFmpeg菜鸡互啄#第1篇#一些基本概念
播放一个视频文件的流程封装格式视频流和音频流按照一定的格式存储在一个文件中。常见的封装格式有mp4、flv、avi、mkv…视频编码将视频像素数据(RGB, YUV等)压缩编码成视频流,从而降低视频的数据量。一般使用H.264的情况会比较多,可以将图像数据压缩100倍以上。音频编码将音频采样数据(PCM等)压缩为音频流,从而降低音频的数据量。一般使用AAC的情况会比较多,可以将音频数据压缩10倍以上
2017-12-29 14:40:24 647
转载 YUV数据格式
原文地址:https://www.cnblogs.com/Youhei/p/5245634.html概要:与RGB编码方法类似,YUV也是一种颜色编码方法,主要用于电视系统以及模拟视频领域,它是指将亮度参量(Y:Luminance或Luma)和色度参量(UV:Chrominance或Chroma)分开进行表示的像素编码格式。而这样分开的好处就是不但可以避免相互干扰--没有UV信息一样可
2017-12-27 20:39:56 1351
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人