12 2022 档案
摘要:前言 本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理。 以下文章来源于Python七号 ,作者 somenzz Python爬虫、数据分析、网站开发等案例教程视频免费在线观看 https://space.bilibili.com/523606542
阅读全文
摘要:日常工作生活中,事情一多,就会忘记一些该做未做的事情。即使有时候把事情记录在了小本本上或者手机、电脑端备忘录上,也总会有查看不及时,导致错过的尴尬。如果有一款小工具,可以及时提醒,而不用再主动去查备忘录,化被动为主动,那就再合适不过了。因此,在这里我们就利用Python,实现这样的一款“小工具”。
阅读全文
摘要:最近有个需求是把以前字符串输出的log 改为json 格式,看了别人的例子,还是有些比较茫然,索性就把logging 整个翻了一边,做点小总结. 初看log 在程序中, log 的用处写代码的你用你知道,log 有等级,DEBUG, INFO,...之类,还会记录时间,log 发生的位置,在Pyth
阅读全文
摘要:练手项目,先上图 先实现一个简单的串口工具,为之后的上位机做准备 代码如下: github 下载地址 pyserial_demo.py import sys import serial import serial.tools.list_ports from PyQt5 import QtWidget
阅读全文
摘要:NumPy的主要对象是同种元素的多维数组。这是一个所有的元素都是一种类型、通过一个正整数元组索引的元素表格(通常是元素是数字)。 在NumPy中维度(dimensions)叫做轴(axes),轴的个数叫做秩(rank,但是和线性代数中的秩不是一样的,在用python求线代中的秩中,我们用numpy包
阅读全文
摘要:思路: 第一步:信息还是要填的,以往是同学们发给班委,然后慢慢来搞,但现在不一样的,我要求同学们把他们要填的信息写在记事本里面,内容之间用中文逗号隔开,然后在发给我就行。 第二步: 阿雪只要做的事情是把每个小朋友发的txt文本点击下载就行了,这个显然很简单的事情。 第三步: QQ个人接受的文件一般都
阅读全文
摘要:特性:全自动爬取,每个城市建一张表Mysql数据库带有拟合曲线分析 2020.1.04最近在做一个课程设计,关于爬取安居客房价信息的,本次用到的框架有 BeautifulSoup xlwt,xlrd requests matplotlib pandas numpy 最终实现下图效果:![在这里插入图
阅读全文
摘要:1. 概述 XML(Extensible Markup Language)中文译为可扩展标记语言,它是一种简单、灵活、易扩展的文本格式,它主要关注数据内容,常用来传送、存储数据。 当通过 XML 来传送数据时,自然会涉及到 XML 的解析工作,通常 Python 可以通过如下三种方式来解析 XML:
阅读全文
摘要:一、简介 XML(eXtensible MarkupLanguage)指可扩展标记语言,被设计用来传输和存储数据,已经日趋成为当前许多新生技术的核心,在不同的领域都有着不同的应用。它是web发展到一定阶段的必然产物,既具有SGML的核心特征,又有着HTML的简单特性,还具有明确和结构良好等许多新的特
阅读全文
摘要:import os path = '/home/zqf/bridge/bdata/images/train' original_name = os.listdir(path) print(original_name) for i in original_name: filename=os.path.
阅读全文
摘要:import jsonimport osfrom xml.dom.minidom import parseimport xml.dom.minidom path = '/home/zqf/bridge/VOC2007/Annotations' original_name = os.listdir(p
阅读全文
摘要:import jsonimport os path = '/home/zqf/bridge/test' original_name = os.listdir(path) print(original_name) for i in original_name: filename=os.path.joi
阅读全文
摘要:什么是 XML? XML 指可扩展标记语言(eXtensible Markup Language)。 你可以通过本站学习 XML 教程 XML 被设计用来传输和存储数据。 XML 是一套定义语义标记的规则,这些标记将文档分成许多部件并对这些部件加以标识。 它也是元标记语言,即定义了用于定义其他与特定
阅读全文
摘要:1.python创建xml使用xml.etree.ElementTree来操作xml创建节点:root = ET.Element('root', attribute), 其中, attribute是属性字典,需要属性时可以添加 创建文档:tree = ET.ElementTree(root)设置文本
阅读全文
摘要:PPAPI也就是Pepper Plugin API,是在原有网景NPAPI(Netscape Plugin API)基础上发展而来的。NPAPI是当今最流行的插件架构,几乎所有浏览器都支持,不过存在很大的安全隐患,插件可以窃取系统底层权限,发起恶意攻击。2010年,Google开发了新的PPAPI,
阅读全文
摘要:环境: [1]Visual Studio 2010 SP1 Visaul Stuio 2013 Update4 [2]Python2.7 [3]Firefox 41.0.1 [4]IE 11 [5]Google chrome 45.0.2454.101 [6]Opera 32.0 [7]360浏览器
阅读全文
摘要:首先是手机端。 (下面文件:androidvncserver和源码地址已经优化更改,省去必须用SVN获得源码) 1)下载androidvncserver: http://dl.dbank.com/c044xm5255有兴趣的可以下载源码自己重新编译,源码地址: (源码需要在linux下mk) htt
阅读全文
摘要:在程序启动的时候检测服务器上有没有对应版本更新,如果有更新,提示用户是否更新。 在程序启动的时候首先调用更新模块检测服务器上存放的版本号跟当前程序的版本号如果大于当前版本号,弹出更新对话框,如果用户选择更新,则显示当前更新状态,然后替换当前程序。 程序调用版本更新检测: private Update
阅读全文
摘要:容器 C++ set和map set, multisetset和multiset会根据特定的排序准则自动将元素排序,set中元素不允许重复,multiset可以重复。因为是排序的,所以set中的元素不能被修改,只能删除后再添加。向set中添加的元素类型必须重载<操作符用来排序。排序满足以下准则:1、
阅读全文
摘要:Map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据处理能力,由于这个特性,它完成有可能在我们处理一对一数据的时候,在编程上提供快速通道。这里说下map内部数据的组织,map内部自建一颗红黑树(一种非严格意义上的平
阅读全文
摘要:#include <winsock2.h> #include <stdio.h> #pragma comment(lib, “ws2_32.lib”) int main() { // 加载win socket WSADATA ws; int ret; ret = WSAStartup(MAKEWOR
阅读全文
摘要:在做ACM题时,经常都会遇到一些比较大的整数。而常用的内置整数类型常常显得太小了:其中long 和 int 范围是[-2^31,2^31),即-2147483648~2147483647。而unsigned范围是[0,2^32),即0~4294967295。也就是说,常规的32位整数只能够处理40亿
阅读全文
摘要:(1)对于位域结构中的变量来说,其长度不能跨越字节,也就是说不能超过8位。当然如果设置空白位(无名变量,仅仅用作占位的)是没有这个限制的。如果一个字节剩下的位长度不够一个位域,那么从下个字节开始,也可有意置某个位域从下个字节开始。例如: struct bits4_5 { //一个从到小的存放顺序结构
阅读全文
摘要:不同机器内部对变量的字节存储顺序不同,有的采用大端模式(big-endian),有的采用小端模式(little-endian)。大端模式是指高字节数据存放在低地址处,低字节数据放在高地址处。小端模式是指低字节数据存放在低地址处,高字节数据放在高地址处。在网络上传输数据时,由于数据传输的两端可能对应不
阅读全文
摘要:首先是服务器端,大致说下流程:服务器创建线程去处理应答accept(),当接受到客户端连接请求时,首先获取要发送的指定的文件数据总大小给客户端,接着就是循环读取要发送的文件数据流向客户端发送文件数据,每次都判断循环读取到的数据实际大小,当实际读取到的数据总大小为0时,表示文件发送结束。下面是服务器s
阅读全文
摘要:编译指示强制一字节对齐: #pragma pack(push,1) struct s { int a; char ; }; #pragma pack(pop) 一些结构体转字符数组和字符数组转结构体操作: 好像叫结构体序列化 结构体与字符数组相互转换,例如: typedef struct __STU
阅读全文
摘要:detect memory leak! f:/rtm/vctools/vc7libs/ship/atlmfc/src/mfc/strcore.cpp(141) ...... 查看output窗口,程序中不知何时出现了内存泄露的问题。经过一阵排查,发现是由于一个函数在两个模块中的字符串参数类型定义不一
阅读全文
摘要:比较全的有关vs2008部署问题集(1): http://blog.csdn.net/buhuizheyangba/article/details/7220598 比较全的有关vs2008部署问题集(2): http://blog.csdn.net/fengbingchun/article/deta
阅读全文
摘要:VS2008 Release 工程调试修改方式: 1、项目——》属性——》C/ C++ ——》 常规 ——》调试信息格式——》用于“编辑并继续”的程序数据库(/ZI) 2、项目——》属性——》C/ C++ ——》 优化——》优化——》禁用(/Od) 3、项目——》属性——》链接器 ——》生成调试信息
阅读全文
摘要:在开发当中有的直接调试很方便,有的就不太好调试,所以我经常使用写日志以及输出Debug信息来进行开发。尽管我比较喜欢使用以输出Debug的信息的方式来跟踪程序。因为直接一句话: OutputDebugString("你想输出的信息\r\n"); 就可以在非调试模式下直接在DebugView上面显示输
阅读全文
摘要:IOCP(I/O Completion Port,I/O完成端口)是性能最好的一种I/O模型。它是应用程序使用线程池处理异步I/O请求的一种机制。在处理多个并发的异步I/O请求时,以往的模型都是在接收请求是创建一个线程来应答请求。这样就有很多的线程并行地运行在系统中。而这些线程都是可运行的,Wind
阅读全文
摘要:Android NDK 给出了native-audio的例子,这个例子结合java代码,讲解了如何使用OpenSL播放声音。我把此例子进行了精简,完全使用c,可以让我们更好的体会到OpenSL的用法,不多说,上代码 main.c: 01.#include <stdio.h> 02.#include
阅读全文
摘要:#include <windows.h>#include <string>#include <vector>using namespace std; // 核查目录,若目录不存在,创建目录bool FindOrCreateDirectory( const char* pszPath ){ WIN32
阅读全文
摘要:1.一次读取文本文件全部内容到string对象中: 1 ifstream in("readme.txt", ios::in); 2 istreambuf_iterator<char> beg(in), end; 3 string strdata(beg, end);//或者string st;st.
阅读全文
摘要:创建音频引擎之后,读取wav文件到内存,然后使用BufferQueueAudioPlayer进行播放。 这里在读取wav文件的时候需要对wav文件的前44个类似头信息进行解析,然后在进行播放的时候,在创建BufferQueueAudioPlayer的时候需要配置音源的时候需要用到,要不然是不能正常播
阅读全文
摘要:Visual C++ 开发工具提供了两个命令行工具,一个是dumpbin.exe,另一个是lib.exe。利用这两个工具即可从dll导出其对应的lib。1、在命令行执行:dumpbin /exports yourdll.dll > yourdll.def2、编辑 yourdll.def 文件,使之格
阅读全文
摘要:Linux 函数名: getcwd功 能: 取得当前的工作目录用 法: char *getcwd(char *buf, size_t size);函数说明: getcwd()会将当前的工作目录绝对路径复制到参数buf所指的内存空间,参数size为buf的空间大小。在调用此函数时,buf所指的内存空间
阅读全文
摘要:@Override public boolean onKeyDown(int keyCode, KeyEvent event) { AudioManager mAudioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
阅读全文
摘要:int转stringint n = 0;std::stringstream ss;std::string str;ss<<n;ss>>str;string转intstd::string str = "123";int n = atoi(str.c_str()); #include "stdafx.h
阅读全文
摘要:在 windows下头文件中包含 #include<process.h> 就可以使用_beginthread进行线程创建。个人感觉挺方便的。 在linux下类似于_beginthread 和 _endthread 的 是pthread_create和pthread_exit linux下包含头文件
阅读全文
摘要:去做zip包的解压的时候,出现了原来没有发现的很多问题。首先是中文汉字问题,使用java的zip包不能很好的解决解压问题;其次还有 getRealFileName()内的那个判断: 由之前的"if(dirs.length >1)" 如果是 >1 的话,对于一些文件不能够解压,修改为: if(dirs
阅读全文
摘要:在软件实现更新模块的时候,有可能会判断一下服务器上的版本的版本号和本地版本的版本号。 下面有类似这样形式的版本号:string str = "0.0.0.1"; 分析一下可以看出,该版本号可以分为4个部分,下面就实现一个提取这4部分的功能函数: 1 //通过string 参数获取版本号到versio
阅读全文
摘要:1.首先在源代码根目录(src下)下创建一个名为netconfig.properties的文件(也可以在其他目录下)。 2.打开netconfig.properties文件,在该文件中添加下列代码. Java代码: #该处为注释 IP=192.168.1.111 PORT=3535 MSG=这是一个
阅读全文
摘要:有一个控制下载的管理类吧,调用http下载类进行各种下载,同时在下载过程中可以显示其下载的进度,而且在每个下载结束之后以类似回调的方式告诉管理类,以继续进行后续的操作。 直接代码: .h文件 1 #pragma once 2 #include <stdio.h> 3 #include <sys/ty
阅读全文
摘要:string类的构造函数:string(const char *s); //用c字符串s初始化string(int n,char c); //用n个字符c初始化此外,string类还支持默认构造函数和复制构造函数,如string s1;string s2="hello";都是正确的写法。当构造的st
阅读全文
摘要:使用VS2010在编译得代码工程的时候,原本在debug下是没有问题,但是在release下编译始终会报: “warning LNK4099: PDB 'vc100.pdb' was not found with.....” 在网上也查了,遇到此问题的也很多,但是感觉都没有一个能有效解决此问题的方案
阅读全文
摘要:CURLE_UNSUPPORTED_PROTOCOL(1) 你的URL传递给libcurl的使用协议,这libcurl的不支持。支持可能是你没有使用一个编译时的选项,它可以是一个拼写错的协议字符串,或者只是一个协议的libcurl没有代码。 CURLE_FAILED_INIT(2) 非常早期的初始化
阅读全文
摘要:curl_easy_setopt( curl, CURLOPT_VERBOSE, 1L ); //在屏幕打印请求连接过程和返回http数据 curl_easy_setopt( curl, CURLOPT_TIMEOUT, 10 );//接收数据时超时设置,如果10秒内数据未接收完,直接退出 curl
阅读全文
摘要:Libcurl为一个免费开源的,客户端url传输库,支持FTP,FTPS,TFTP,HTTP,HTTPS,GOPHER,TELNET,DICT,FILE和LDAP,跨平台,支持Windows,Unix,Linux等,线程安全,支持Ipv6。并且易于使用。 http://curl.haxx.se/li
阅读全文
摘要:在转载别人文章之前,说一下 pthread_create(); 创建线程返回值。 正常情况下,创建成功则返回 0 ; 如果创建失败 通常返回常见的 错误返回代码为: EAGAIN #define EAGAIN 35 // Resource temporarily unavailable 和 EINV
阅读全文
摘要:最近在学习Linux下的C编程,买了一本叫《Linux环境下的C编程指南》读到makefile就越看越迷糊,可能是我的理解能不行。 于是google到了以下这篇文章。通俗易懂。然后把它贴出来,方便学习。 后记,看完发现这篇文章和《Linux环境下的C编程指南》的makefile一章所讲述的惊人的相似
阅读全文
摘要:@Override public boolean onKeyDown(int keyCode, KeyEvent event) { if(keyCode == KeyEvent.KEYCODE_BACK) { //监控/拦截/屏蔽返回键 dialog(); return false; } else
阅读全文
摘要:环境准备: Ubuntu12.04 TLS android-ndk-r9d-linux-x86_64.tar.bz2 ffmpeg2.2 第一步:下载 1.配置ubuntu12.04 TLS 系统环境。 2.下载ndk版本为 r9d。 3.下载ffmpeg2.2版本。 第二步:在ubuntu下编译环
阅读全文
摘要:C++排序算法全集 排序算法是一种基本并且常用的算法。由于实际工作中处理的数量巨大,所以排序算法对算法本身的速度要求很高。 一、简单排序算法 由于程序比较简单,所以没有加什么注释。所有的程序都给出了完整的运行代码,并在我的VC环境下运行通过。因为没有涉及MFC和WINDOWS的内容,所以在BORLA
阅读全文
摘要:很多时候,android摄像头模块不仅预览,拍照这么简单,而是需要在预览视频的时候,能够做出一些检测,比如最常见的人脸检测。在未按下拍照按钮前,就检测出人脸然后矩形框标示出来,再按拍照。那么如何获得预览帧视频么? 只需要在Activity里继承PreviewCallback这个接口就行了。示例如下:
阅读全文
摘要:除了使用传统方法实现JNI外,也可以使用RegisterNatives实现JNI。和传统方法相比,使用RegisterNatives的好处有三点: 1、C++中函数命名自由,不必像javah自动生成的函数声明那样,拘泥特定的命名方式; 2、效率高。传统方式下,Java类call本地函数时,通常是依靠
阅读全文
摘要:对H.264编码标准一直停留在理解原理的基础上,对于一个实际投入使用的编码器是如何构建起来一直感觉很神秘,于是决定在理解理论的基础上潜心于编码器实现框架。关于开源的H264编码器有很多,JMVC,T264、X264,这里选择X264,因为网上关于X264源码分析资源很多。X264编码器是一个开源的经
阅读全文
摘要:0. Android.mk简介: Android.mk文件用来告知NDK Build 系统关于Source的信息。 Android.mk将是GNU Makefile的一部分,且将被Build System解析一次或多次。 所以,请尽量少的在Android.mk中声明变量,也不要假定任何东西不会在解析
阅读全文
摘要:之前写过一篇关于在Linux平台上编译android平台上VLC播放器源代码的文章,vlc这款播放器非常优秀而且是开源的,它的核心是开源视频编解码库ffmpeg。而且这款播放器还支持RTSP协议,这个主要是用开源的live555来实现的,live555这个库以后还需要认真研习。 一:PC端(Wind
阅读全文
摘要:VLC版本2.0.1 最近研究IP-STB音视频同步问题,发现方案自带的自动STC在网络延时过大时,不能成功同步音视频。在参考了VLC的串流播放机制后,以为适当缓冲可以解决此问题,可惜最终结果是稍有缓解,并不能从根本上解决。但这种缓冲时间的计算,对于基于网络这种音视频数据的注入有一定的参考意义。 1
阅读全文
摘要:1:改变VLC模块参数 http://tianxiaoma.blog.51cto.com/1501174/309519 改变VLC模块参数 一、动态改变参数: 查询得到对象,直接设置参数。 1、filter参数 libvlc_media_player_t *p_mediaplayer; // 输入播
阅读全文
摘要:最近在 ubuntu12.04上搭建了一个rtmp服务器,感觉还挺麻烦的,所以记录下。 大部分都是参考网络上的资料。 前提: 在linux下某个目录中新建一个nginx目录。 然后进入该目录去下载搭建环境所需要的一些资源包。 此处在 /root/ 目录下新建一个nginx目录即: /root/ngi
阅读全文
摘要:select函数用于在非阻塞中,当一个套接字或一组套接字有信号时通知你,系统提供select函数来实现多路复用输入/输出模型, 原型: int select(int maxfd,fd_set *rdset,fd_set *wrset,fd_set *exset,struct timeval *tim
阅读全文
摘要:1.分配内存空间函数malloc 调用形式: (类型说明符*) malloc (size) 功能:在内存的动态存储区中分配一块长度为"size" 字节的连续区域。函数的返回值为该区域的首地址。 “类型说明符”表示把该区域用于何种数据类型。(类型说明符*)表示把返回值强制转换为该类型指针。“size”
阅读全文
摘要:错误描述:fatal error C1010: 在查找预编译头时遇到意外的文件结尾。是否忘记了向源中添加“#include "stdafx.h"”? 错误分析: 此错误发生的原因是编译器在寻找预编译指示头文件(默认#include "stdafx.h")时,文件未预期结束。没有找到预编译指示信息的头
阅读全文
摘要:设置在Release模式下调试的方法: 1.工程项目上右键 -> 属性 2.c++ -> 常规 -〉调试信息格式 选 程序数据库(/Zi)或(/ZI), 注意:如果是库的话,只能(Zi) 3.c++ -> 优化 -〉优化 选 禁止(/Od) 4.连接器 -〉调试 -〉生成调试信息 选 是 (/DEB
阅读全文
摘要:在开发的一个基于rtmp聊天的程序时发现了一个很奇怪的现象。 在windows下当我们执行 closesocket 的操作之后,阻塞的 recv 会立即返回 -1 。 而在linux 下 当我们执行 close 操作之后 阻塞的recv 会出现不能立即返回的现象。后来在网上一搜发现很多遇到类似这种现
阅读全文
摘要:android真机调试有时候看LogCat 时,有时候那个跑的本程序的LogCat 没有出现而是 出现的是" All messages (no filters) " 。此时 的Log显示是显示的所有的信息,有时候需要只看本程序跑的时候的Log信息。 此时可以手动添加一个: 譬如: 我的程序的包名是
阅读全文
摘要:C/C++ string库(string.h)提供了几个字符串查找函数,如下: memchr 在指定内存里定位给定字符 strchr 在指定字符串里定位给定字符 strcspn 返回在字符串str1里找到字符串str2里的任意一个字符之前已查找的字符数量 strrchr 在字符串里定位给定字符最后一
阅读全文
摘要:JNI里的c或者c++ 调用stl 的时候,比如引入map头文件: #include <map> 在cygwin使用NDK编译的时候,会提示: fatal error:map: No such file 解决方法: 就是在jni目录下就是 Android.mk的同级目录下新建一个 Applicati
阅读全文
摘要:apt-cache search package 搜索包 apt-cache show package 获取包的相关信息,如说明、大小、版本等 sudo apt-get install package 安装包 sudo apt-get install package - - reinstall 重新
阅读全文
摘要:查找目录下的所有文件中是否含有某个字符串 find .|xargs grep -ri "IBM" 查找目录下的所有文件中是否含有某个字符串,并且只打印出文件名 find .|xargs grep -ri "IBM" -l 1.正则表达式 (1)正则表达式一般用来描述文本模式的特殊用法,由普通字符(例
阅读全文
摘要:# uname -a # 查看内核/操作系统/CPU信息 # head -n 1 /etc/issue # 查看操作系统版本 # cat /proc/cpuinfo # 查看CPU信息# hostname # 查看计算机名 # lspci -tv # 列出所有PCI设备 # lsusb -tv #
阅读全文
摘要:root@ubuntu:/home/song# adb logcat -s VLC
阅读全文
摘要:1.分离视频音频流 ffmpeg -i input_file -vcodec copy -an output_file_video //分离视频流 ffmpeg -i input_file -acodec copy -vn output_file_audio //分离音频流 2.视频解复用 ffmp
阅读全文
摘要:http://www.cnblogs.com/changefuture/archive/2011/12/22/2297460.html Linux 动态链接库和静态库示例 文件预览 文件目录树如下,如你所见,非常简单。 libtest/ |-- lt.c |-- lt.h `-- test.c 代码
阅读全文
摘要:对linux不是很熟,之前只是听说过可以设置程序共享库位置也就是 使用 “export LD_LIBRARY_PATH” 今天用了用,感觉还挺不错,也很常用。 比如你编译了一个so 而这个so 同时又依赖其他第三方库。如果你想把你编译的so 提供给别人用的话,你不光提供你的so 同时也要提供你的so
阅读全文
摘要:使用clock() 函数来进行计时,时不时的返回一个很大的负数,怎么检查也检查不出错误,现在找出错误原因,给大家分享一下。 来源网页:http://kebe-jea.blogbus.com/logs/33603387.html 跑实验的时候,结果时不时出现统计时间是负数的问题……开始以为是逻辑错误,
阅读全文
摘要:一、用select()函数实现非阻塞时的等待时间,用到结构体struct timeval {},这里就不多说了。 二、用gettimeofday()可获得微妙级(0.000001秒)的系统时间,调用两次gettimeofday(),前后做减法,从而达到定时或者计算时间的目的。 原型:int gett
阅读全文
摘要:RTMP推送的音视频流的封装形式和FLV格式相似,由此可知,向FMS推送H264和AAC直播流,需要首先发送"AVC sequence header"和"AAC sequence header",这两项数据包含的是重要的编码信息,没有它们,解码器将无法解码。 AVC sequence header就
阅读全文
摘要:这篇主要讲把视频的声音播放出来 audioStream = -1; for (i = 0; i < pFormatCtx->nb_streams; i++) { if (pFormatCtx->streams[i]->codec->codec_type == CODEC_TYPE_AUDIO &&
阅读全文
摘要:/* * unsigned long nSampleRate, // 采样率,单位是bps * unsigned long nChannels, // 声道,1为单声道,2为双声道 * unsigned long &samplesInput, // 传引用,得到每次调用编码时所应接收的原始数据长度
阅读全文
摘要:声明 x264_param_t 结构体变量: x264_param_t params; x264_param_default_preset(¶ms, "ultrafast", "zerolatency");//优化编码延迟? 变量参数编码前赋值: params.i_csp = (csp ==
阅读全文
摘要:在C++程序中很少有人去使用 explicit 关键字,不可否认,在平时的实践中确实很少能用的上。再说C++的功能强大,往往一个问题可以利用好几种C++特性去解决。但稍微留心一下就会发现现有的MFC库或者C++标准库中的相关类声明中explicit出现的频率是很高的。了解explicit关键字的功能
阅读全文
摘要:vs2010的mfc项目中编译c语言出现错误: "...预编译头文件来自编译器的早期版本,或者预编译头为 C++ 而在 C 中使用它(或相反)" 解决方法: 建工程时 建立空项目 或者在项目设置里关闭预编译头的选项! 当 Visual C++ 项目启用了预编译头 (Precompiled heade
阅读全文
摘要:vs2010编译的时候遇到错误: error C2143: 语法错误 : 缺少“;”(在“*”的前面) error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
阅读全文
摘要:最近碰到了CString 转 const char *的问题。 以前只要简单的一个强制转换就OK了,可现在是不行了,搜索了很多资料,终于搞定,主要是Unicode和ANSI的问题,只要做一个转换就可以了,不过这个过程远没有6.0来的那么轻松。下面这段转换代码也是从MSDN上获取的。 CString
阅读全文
摘要:缩放: 利用ffmpeg进行图像数据格式的转换以及图片的缩放应用中,主要用到了swscale.h文件中的三个函数,分别是: struct SwsContext *sws_getContext(int srcW, int srcH, enum AVPixelFormat srcFormat, int
阅读全文
摘要:#include <stdio.h>#include <time.h>#include <string>#include <windows.h>using namespace std; void main(){ //精确到秒 time_t rawtime; struct tm * timeinfo;
阅读全文
摘要:VC2010增加了“#pragma execution_character_set("utf-8")”,指示char的执行字符集是UTF-8编码。 VS2010 设置 字符编码: “文件”->“高级保存选项” 里面设置编码试试... 虽然文件时UTF8但是编译的时候不支持UTF8,现在VS2010S
阅读全文
摘要:vs2010 win7 下开发视频服务器,用到ffmpeg,debug版本运行正常,切换到release时,出现"0x00905a4d 处未处理的异常: 0xC0000005: 读取位置 0x00905a4d 时发生访问冲突",原以为是jrtplib得问题,鼓捣半天才发现是ffmpeg. 用一个很小
阅读全文
摘要:ffmpeg 默认是用C文件来编译的,如果某个CPP文件想引用ffmpeg中的某些函数或者头文件,有可能出现 ‘UINT64_C’ was not declared in this scope的错误 情形大概如下 The same issue i'm getting here when compil
阅读全文
摘要:第一步,执行命令:netstat -ano -a 显示所有连接和监听端口 -n 以数字形式显示地址和端口号。 此选项一般与 -a选项组合使用 -o 显示与每个连接相关的所属进程 ID。 Active ConnectionsProto Local Address Foreign Address Sta
阅读全文
摘要:#include <semaphore.h> sem_t sem; sem_init(&sem, 0, 0); sem_post(&sem); sem_wait(&sem); sem_destroy(&sem); 信号量的数据类型为结构sem_t,它本质上是一个长整型的数。函数sem_init()用
阅读全文
摘要:avformat_alloc_output_context2()。在基于FFmpeg的视音频编码器程序中,该函数通常是第一个调用的函数(除了组件注册函数av_register_all())。avformat_alloc_output_context2()函数可以初始化一个用于输出的AVFormatC
阅读全文
摘要:牛逼的视频会议网站:http://wmnmtm.blog.163.com/blog/#m=0 ++++++++++++++++++++++++++++++++++++++++++++++++++++ http://wmnmtm.blog.163.com/blog/static/38245714201
阅读全文
摘要:i_luma_deadzone[0]和i_luma_deadzone[1]分别对应inter和intra, 取值范围1~32,测试可以得知,这连个参数的调整可以对数据量有很大影响,值越大数据量相应越少,占用带宽越低; 码率控制模式有ABR(平均码率)、CQP(恒定质量)、CRF(恒定码率) ABR模
阅读全文
摘要:官方源码:http://code.google.com/p/libyuv/简介: libyuv is an open source project that includes YUV scaling and conversion functionality. Scale YUV to prepare
阅读全文
摘要:NDK的生命周期 //当动态库被加载时这个函数被系统调用 JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM *vm, void *reserved) { LOGI("JNI_OnLoad"); return JNI_VERSION_1_4; } //当动态库被卸载时这
阅读全文
摘要:JNIEnv提供了大多数的JNI函数。你的本地方法都会接收JNIEnv作为第一个参数。JNIEnv用于本地线程存储。因此,你不能在线程间共享同一个JNIEnv。如果一个代码段没有其他方式获取它自身线程的JNIEnv,你可以共享JavaVM,用GetEnv来获取线程的JNIEnv。(假设这个线程有一个
阅读全文
摘要:查xplay5s的cpu,发现是arm64架构的处理器,查看so文件目录,如下: 弄懂这几个文件夹到底是怎么一个顺序先。 兼容和文件读取顺序 arm64-v8a是可以向下兼容的,其下有armeabi-v7a,armeabi armeabi-v7a向下兼容armeabi 兼容得不够智能: 对于一个cp
阅读全文
摘要:用ffmpeg做demux,网上很多参考文章。对于网络流,avformt_find_stream_info()函数默认需要花费较长的时间进行流格式探测,那么,如何减少探测时间内? 可以通过设置AVFotmatContext的probesize和max_analyze_duration属性进行调节:(
阅读全文
摘要:linux中shell变量$#,$@,$0,$1,$2的含义解释: 变量说明: $$ Shell本身的PID(ProcessID) $! Shell最后运行的后台Process的PID $? 最后运行的命令的结束代码(返回值) $- 使用Set命令设定的Flag一览 $* 所有参数列表。如"$*"用
阅读全文
摘要:编译环境 Mac OS X Capitan 10.11.3 NDK-r10e (64-bit) FFmpeg 3.0 简介 在看完了第一篇Android最简单的基于FFmpeg的例子(一)—编译FFmpeg类库的基础上再看这一篇,在前一文中,编译FFmpeg生成了六个SO文件,如图: 由于数目繁多,
阅读全文
摘要:原理科普 为何一直推荐WebRTC? RTMP vs RTMFP 大话直播 android音视频点/直播模块开发一些基本概念 【如何快速的开发一个完整的iOS直播app】(原理篇) 姚东(YY),金山18667号码农,张云龙(全民TV), 何李石(七牛)分享如何搭建直播平台浅谈 视频参数(流媒体系统
阅读全文
摘要:网上搜索自己想要的答案,往往会搜大一大堆感觉没用的,或者看不懂的东西, 最好终于找到了想要答案,特记录一下: clone 某个分支:git clone -b b1 https://github.com/...clone所有分支git clone https://github.com/...git b
阅读全文
摘要:原因 大多数ActiveX控件框架,例如MFC和ATL,在本地激活ActiveX控件时创建控件。基于性能上的考虑,直到控件第一次可见的时候,IE才本地激活ActiveX控件。这样包含ActiveX控件的网页载入更加迅速,占用内存更少。这也使得ActiveX控件的WM_CREATE处理代码直到控件第一
阅读全文
摘要:目前知道三种方式:WinExec,ShellExecute ,CreateProcess,别人已经总结的很好了《vc中调用其他应用程序的方法(函数) winexec,shellexecute ,createprocess》,我全文转载一下,另外后面加点自己的总结(黑体部分,除了标题)。 三个SDK函
阅读全文
摘要:网络上找到大神写的转换方法,不过就记下来,学习学习; 当然转成CImage之后就可以从CImage转换成HBITMAP 了 void DrawPic(CDC *pDC,char *buf,int len) { //内存数据转换成流 HGLOBAL hMem=GlobalAlloc(GMEM_FIXE
阅读全文
摘要:当ocx加载在网页上时,如果对网页执行F5刷新事件,ocx控件会销毁ocx的窗口类,但是ocx的APP类是不会销毁的。 只有当网页被关闭时,才销毁app类。 可能刚接触ocx开发对ocx控件窗口类和 ocx的app类有点不太明朗。其实很好区分: 如果你创建的是一个ATL 项目 比如你的名字是 Emo
阅读全文
摘要://将屏幕信息转换为位图结构 CDC *pDeskDC=GetDesktopWindow()->GetDC();//获取桌面的额画图对象 int width=300; int height=300; CDC memDC;//定义一个内存画布 memDC.CreateCompatibleDC(pDes
阅读全文
摘要:#include <windows.h> #include <fstream> using namespace std; void main() { ifstream infile("bm.bmp", ios::in | ios::binary); BITMAPFILEHEADER bmpHeade
阅读全文
摘要:CImage image;image.Load(_T("1.jpg"));//HBITMAP hBitmap=image.Detach(); HGLOBAL m_hMem = GlobalAlloc(GMEM_MOVEABLE, 0);IStream *pstm=NULL;CreateStreamO
阅读全文
摘要:BMP文件格式详解(BMP file format) BMP文件格式,又称为Bitmap(位图)或是DIB(Device-Independent Device,设备无关位图),是Windows系统中广泛使用的图像文件格式。由于它可以不作任何变换地保存图像像素域的数据,因此成为我们取得RAW数据的重要
阅读全文
摘要:本文从简单到复杂,展示如何使用libevent。网上的许多例子都是只有服务器端的,本文里面客户端和服务器端都有,以飨读者。 关于libevent编程时的一些疑问可以阅读《libevent编程疑难解答》。假如读者还想了解libevent的具体实现,可以阅读《libevent源码分析》系统文章。 不说这
阅读全文
摘要:服务器端的代码: #include <event2/event.h> #include <event2/event_compat.h>#include <event2/event_struct.h>#include <map>#include <vector>#include <string>#in
阅读全文
摘要:vs2013编译项目时出错,网上很多的解决方案全都是垃圾,根本不能用 不过也有不是垃圾的,就是下面这个: 关于采用静态链接编译生成EXE库函数重复定义问题 看了好多关于类似LIBCMT.lib(invarg.obj) : warning LNK4006: ___pInvalidArgHandler
阅读全文
摘要:/************************************************* * 主要功能:两路 YUV4:2:0拼接一路左右半宽格式YUV视频 参考资料:http://www.pudn.com/downloads271/sourcecode/multimedia/vfw/d
阅读全文
摘要:@echo off setlocal EnableDelayedExpansion echo 当前正在运行的批处理文件所在路径:!cd! pause @echo off echo 当前目录是:%cd% pause @echo off :: set "abc=%cd%" echo 当前正在运行的批处理
阅读全文
摘要:在使用ffmpeg进行拉流分离音视频数据再解码播放操作的时候; 有时候经常会报错: Could not find codec parameters for stream 0 (Video: h264): unspecified size ffmpeg默认使用udp方式传输,在使用:avformat_
阅读全文
摘要:1:如果数据是rtp/rtsp传输的话,ffmpeg会每隔30s(哪里设置该值?)发送一个keepalive包,如果ipc支持GET_PARAMETER命令,就发该命令等ipc回复以确认ipc还活着。某些ipc(IPCamera)不支持GET_PARAMETER的rtsp命令。则会通过OPTIONS
阅读全文
摘要:直接上代码吧: 代码是参考网上大神分享的,在原基础上做了些修改(只检测视频设备): int DeviceIsBusy(char *videoName) { //输入设备的音视频名称 HRESULT hr; HRESULT hhr; int ret = 0; int videoBusy = 1; in
阅读全文
摘要:转载地址:https://zhuanlan.zhihu.com/p/27896239 1 SPS和PPS从何处而来? 2 SPS和PPS中的每个参数起什么作用? 3 如何解析SDP中包含的H.264的SPS和PPS串? 1 客户端抓包 在做客户端视频解码时,一般都会使用Wireshark抓包工具对接
阅读全文
摘要:其实很简单直接上图吧: 主要include和lib目录指定: $(DXSDK_DIR)Include $(DXSDK_DIR)Lib\x86 下面是连接器-输入项: 主要包含: dxgi.libdxguid.libd3d10_1.libd3dx10.lib
阅读全文
摘要:1. 下载并按照MinGW,最好就缺省按照 http://sourceforge.net/projects/ ... ler/mingw-get-inst/ 把C:\MinGW\bin添加到PATH中 (dos命令行 PATH %PATH%;新目录;)2. 下载nasm, http://www.na
阅读全文
摘要:在某些应用场景下,x264的输入视频分辨率与接收端输出的视频分辨率不同。例如编码端摄像头采集到的YUV数据为1280x720,而接收端视频显示窗口为640x480。对于这种场景,一般的处理方式是:源端:采集,编码,传输 720p的码流收端:接收,解码720p的码流,缩放到480p去显示。这种方式的劣
阅读全文
摘要:#include <stdio.h> #include <string.h> /* * 函数名: GetIniKeyString * 入口参数: title * 配置文件中一组数据的标识 * key * 这组数据中要读出的值的标识 * filename * 要读取的文件路径 * 返回值: 找到需要查
阅读全文
摘要:std::string WcharToChar(const wchar_t* wp, size_t m_encode = CP_ACP){ std::string str; int len = WideCharToMultiByte(m_encode, 0, wp, wcslen(wp), NULL
阅读全文
摘要:vs项目中见过这种获取 当前函数名的调用。觉得挺方便的就记录一下。 转载地址:http://blog.csdn.net/dafan/article/details/5781491 __FILE____LINE____DATE____TIME____FUNC__ __FUNCTION__ 在Visua
阅读全文
摘要:在使用ffmpeg 进行对音视频文件解码输出信息的时候会出现乱码。 从网上找到了说ffmpeg默认格式 为 utf-8 如果vs工程使用的的 Unicode 则需要将 utf-8转 Unicode 才能正常显示中文格式。 下面是一个简单的 Unicode 转utf-8 代码: CString UTF
阅读全文
摘要:HRESULT GetBackBuffer( [in] UINT iSwapChain, [in] UINT BackBuffer, [in] D3DBACKBUFFER_TYPE Type, [out, retval] IDirect3DSurface9 **ppBackBuffer ); Par
阅读全文
摘要:近来发现笔记本在关闭屏幕后风扇转得特别快,打开屏幕后看任务管理器,风扇马上减速,也没有发现大量占用CPU的进程。于是想写一个小程序在后台记录每个进程的CPU使用情况,揪出锁屏后占用CPU的进程。于是自己写了一个C++类CPUusage,方便地监视不同进程的CPU占用情况。本人编程还只是个新手,如有问
阅读全文
摘要:这个问题一直以来似乎是被N多人误解,其实Http Get方法提交的数据大小长度并没有限制,而是IE浏览器本身对地址栏URL长度有最大长度限制:2048个字符。 当您从 WinInet 应用程序到 Web 服务器发送一个长的查询字符串时,查询字符串可能会被截断。 出现此问题是由于中 WinInet,定
阅读全文
摘要:GetsysInfo.h: #ifndef _H_GETSYSINFO #define _H_GETSYSINFO #pragma once #include <afxtempl.h> class GetSysInfo { public: GetSysInfo(void); ~GetSysInfo(
阅读全文
摘要:本机环境: Visual Studio 2010 、 Windows 7 64 bit 1: 下载文件 1.1 libcurl: curl-7.49.1.zip 地址: https://curl.haxx.se/download/curl-7.49.1.zip 1.2 zlib: zlib-1.2.
阅读全文
摘要:重新编译了libcurl 去访问https 地址还是不能访问 从网上找到了解决方案: curl有两种方式使用https : 1. 设定为不验证证书和HOST code = curl_easy_setopt(handle, CURLOPT_SSL_VERIFYPEER, 0L); 加上上面的不验证证书
阅读全文
摘要:1.区域视频增强 FFmpeg滤镜功能十分强大,用滤镜可以实现视频的区域增强功能。 用eq滤镜就可以实现亮度、对比度、饱和度等的常用视频增强功能。 推荐两篇写得不错的博文: (1)ffmpeg综合应用示例(二)——为直播流添加特效 - 张晖的专栏 - 博客频道 - CSDN.NET; (2)ffmp
阅读全文
摘要:某些特定场合我们会经常遇到yuv420格式的视频文件,这种视频帧无法直接用于opencv,故而,需要进行格式转换;幸运的是,opencv提供了rgb到yuv420的格式转换函数;下面给出基本用法; 函数1:读取avi格式的视频文件,转换成Yuv420格式,并写入文件; void WriteYuv()
阅读全文
摘要:最近在研究视频的播放的快进快退功能,先把相关的调研结果整理一下,做个记录。 裸的H264码流,如果实现快进快退必须基于 I 帧才能实现:在播放前对整个码流进行统计,总共有多少帧,所有的 I 帧在什么位置。 在播放的时候,再根据用户快进或快退的位置判断相邻最近的 I 帧在什么位置,然后从那一个 I 帧
阅读全文
摘要:值得学习的C/C++语言开源项目 (1)ACE 庞大、复杂,适合大型项目。开源、免费,不依赖第三方库,支持跨平台。 http://www.cs.wustl.edu/~schmidt/ACE.html (2)Asio Asio基于Boost开发的异步IO库,封装了Socket,简化基于socket程序
阅读全文
摘要:基础知识 电脑在局域网内,通过网关/路由器连接到Internet则ip分为内网ip、外网ip。通过ipconfig得到的为局域网ip。 电脑直接拨号连接等,则本机通过ipconfig得到的就是外网ip。 代码 //Get IP int GetLocalIP(std::string &local_ip
阅读全文
摘要:Map是c++的一个标准容器,她提供了很好一对一的关系,在一些程序中建立一个map可以起到事半功倍的效果,总结了一些map基本简单实用的操作!1. map最基本的构造函数; map<string , int >mapstring; map<int ,string >mapint; map<sring
阅读全文
摘要:在使用vector 存储char 类型时 new的数据 在vecto 执行rerase的时候或者 单项执行clear 内存是不能被释放的。 比如有下面的一个测试: class SnapshotInfo { public: std::vector<char> ImageData; public: Sn
阅读全文
摘要:CStatic *pStatic1 = (CStatic *)GetDlgItem(IDC__IMAGE_STATIC2); CBitmap cbmp; cbmp.LoadBitmap(MAKEINTRESOURCE(IDB_BITMAP1)); pStatic1->ModifyStyle(0xF,
阅读全文
摘要:visual studio在编译时可以启动多核并行编译,以减少编译所需时间。话不多说,直接看步骤吧:1. Solution Explorer导航窗口右键需要并行编译的项目,进入属性页面2.“C/C++" -> ”General“ -> "Multi-processor Compilation" ->
阅读全文
摘要:原帖地址:https://www.cnblogs.com/guolixiucai/p/6994559.html 涉及网页登录相关的技术,Cookies肯定是忽略不了的。由于项目的需要,要做一个双核的产品。双核间切换会涉及到登录状态的问题,共享Cookies是一个很好的方案。既然涉及到共享cookie
阅读全文
摘要:最近使用mfc 做了一个cef得浏览器 多标签得。当使用这个封装得浏览器一段时间之后(超过1分钟2分钟) 当关闭封装得浏览器整个窗体 x得时候,整个窗体又重新弹了出来。 大概现象就是一个exe程序你杀掉了之后它又重新启动了。 后来对比了一下别得例子,发现了一个可能会导致mfc应用程序重启的地方: /
阅读全文
摘要:原文地址:https://github.com/fanfeilong/cefutil/blob/master/doc/CEF_Close.md 我来说windows下CEF3.2171的关闭流程,里面会引用一部分官方库的文档和个人的伪代码,为了辅助理解—— 以下是截取自cef_life_span_h
阅读全文
摘要:url传递过程中加号变空格在接收url参数的过程中,会发现如果参数中存在‘+’号,接收后会变成空格。 如11+22接收后变成11 22。要解决这个问题,需要将加号替换为%2B进行传递。 如11%2B22接收后变成11+22。这种问题经常出现在字符串加密传递的过程中,这时就需要加密后把所有加号替换成%
阅读全文
摘要:#include "CEF3Helper.h"#include "../include/cef_app.h"#include "../include/cef_browser.h"#include "../include/cef_frame.h"#include "../include/cef_san
阅读全文
摘要:原帖地址:http://www.xspliter.com/forum.php?mod=viewthread&tid=447 一般直播时使用A设定即可。你尝试设置并找出你最满意的设定A为最需最低CPU资源,E为最高。A8x8dct=1 aq-mode=2 bframes=1 chroma-qp-off
阅读全文