- 博客(34)
- 资源 (2)
- 收藏
- 关注
原创 VS2015编译CPPCMS库
(1)下载CMAKE3.13.2,下载PYTHON3.8安装并配置系统环境变量(2)下载zlib-1.2.11、pcre8.41库、cppcms1.2.1库源码包并解压(3)编译zlib库:打开cmake,选择zlib库解压后目录,点击configure开始配置(配置前可以修改下库安装目录,见下图红色框),然后点击generate产生VS工程,操作如下图:最后在zlib解压目录里打...
2020-02-29 14:54:11 456
原创 ndk 独立(standalone)交叉编译环境搭建
网上一些开源C、C++代码库,本身不带有android版本的编译脚本,我们如果想把它编译成android版本的库的话,一种方法就是自己写一个ndk编译脚本,有时这个实现起来比较麻烦;第二种是采用代码库中自带的config脚本,但有些库并没有提供这个脚本 ;第三种就是搭建一个独立NDK交叉编译工具环境,然后就可以像编译PC Linux版本代码一样直接make就行。下面是一个交叉编译环境设置脚本:
2016-08-06 12:21:55 3253
原创 GFFMPEG系统结构简介
FFMPEG系统结构主要接口(1) int av_open_input_file(AVFormatContext **ic_ptr, const char*filename, AVInputFormat *fmt, int buf_size,
2016-07-25 18:42:55 556
原创 FFPlay 系统结构
(一)FFPlay 系统结构及工作机制(1) 主要线程大致逻辑:l 主线程av_register_all();SDL_CreateThread(read_thread, is); l 数据读取线程static intread_thread(void *arg){ ………………………………………........... ic
2016-07-25 18:35:05 613
原创 cygwin下ndk arm交叉编译器编译ffmpeg遇到的问题(1)
最近在cygwin环境下用NDK交叉编译工具编译ffmpeg,在configure阶段折腾了几天,老是不成功,后发现主要原因竟然只是目录路径名称写法不对,路径名不能用/cygdrive/d来开头,而要用d:/这种形式,真是坑爹啊……(1)安装cygwin,下载NDK配置NDK安装目录环境变量:export NDK_ROOT=d:/Software/android-ndk32-r10-win
2015-05-18 17:41:16 2452
原创 RTSP播放器(续)
#include "receiver.h"CReceiver::CReceiver(void):m_exit(false),m_HasInit(false), m_nVideoTimeDiff(0),m_nAudioTimeDiff(0),m_bFirst(true){ m_hVideoRecvThread = NULL; m_hAudioRecvThread = N
2015-05-16 11:49:52 2071 1
原创 基于RTSP/RTP流媒体播放器的实现
基于RTSP/RTP流媒体播放器的实现 本播放器采用DirectShow的框架来开发,内部由一个source filter和相应的音视频解码器filter组成,实现了基于RTSP/RTP协议的MPEG4、AAC编码的音视流在线播放功能。 2 相关技术2.1 DirectShow技术简介DirectShow是Microsoft为开发高性能多媒体应用而开
2015-05-16 11:49:09 4903 1
原创 ndk makefile
LOCAL_PATH:= $(call my-dir)include $(CLEAR_VARS)LOCAL_MODULE := p2pcltLOCAL_CFLAGS := -D__LINUX__ -O2 -DEXTERN= -D_ANDROID_ LOCAL_CFLAGS += -DNO_UPNP_IGD#LOCAL_CFLAGS += -DHAVE_BYTESWAP_H
2015-05-16 11:47:17 687
原创 eclipse中一个ndk编译问题
*** No rule to make target `jni/jni/ctl/EnumDevice.cpp', needed by
2014-10-16 16:59:21 621
原创 知识总结
(1)av_rescale_q(int a,R b,R q) 等价 a * b * (1/q) (2)mp3 spf = 576: 1152(3)url_fseek(){ s->seek(); s->buf_ptr = s->buffer; //当前地址指向缓冲区开始处}ge
2014-03-06 12:32:26 606
原创 一点知识总结
(1)VideoCapture与之对接的USB CAMERA的缓冲数目修改的一种方法: 对下一级FILTER的INPUT中ALLOCATOR_PROPERTIES进行修改 IBaseFilter *pSmartFilter = NULL; hr = m_pGraph->FindFilterByName(L"SmartTee", &pSmartFilter)
2014-03-06 12:08:21 681
原创 DirectShow加入自己filter后链接问题..
今天想试验下,将SDK中BALL那个PushSource写成一个APP,就按>上步骤进行:(1)先增加那个PushSource Desktop Filter: AddFilterByID(m_pGB,CLSID_PushSourceDesktop,L"PushSource Desktop Filter",&pSplitter);(2)找到输出PIN: IPin *pOut
2008-11-24 18:01:00 1192 1
原创 Ajax结合CGI
发现Ajax真是好东东:可以只传XML单纯的客户端想要的数据..客户端Ajax代码: //向服务器发起XMLHTTP请求。 var http_request = null; function GetData() { //开始初始化XMLHttpRequest对象 if(window.XMLHttpRequest)
2008-04-28 20:59:00 6499 1
转载 c++读取BMP文件(24位)
#include "StdAfx.h"#include "stdio.h"#include "memory.h"#include "stdlib.h"#define PIXPLINE 320typedef struct tagRGBQUAD{ //定义每个像素的数据类型 unsigned char rgbBlue; unsigned char r
2008-01-22 14:37:00 7213 1
原创 Eclipse中调试Servlet
Eclipse结合Tomcat插件开发Servlet很好,但在调试时老报Source not found,我就狂晕了(不能调试岂不是没用..),后来搜索下, 说什么是Tomcat的版本问题(可我的已是5.0),还需下载个patch什么的(下载了并按说明装了还是没效果).后来搞来搞去了弄了大半天(差点没信心了..),才自己摸索出来(没人教啊就是慢).原来是要设置下:右击工程->Run as->Run
2007-11-17 14:21:00 3266
原创 Eclipse开发XML-RPC程序——入门
最近想搞分布式系统,查了不少东东,才决定用JAVA,又决定先从XML-RPC开始着手。刚开始找了大半天的资料都是些类同或不适合入门者的文章,好晕。。。后来,改变了关键词,终于找到了一篇,真是柳暗花明又一村啊:) 开发流程如下:Installing the development environmentThe first step is to install the develo
2007-10-22 18:03:00 2511
原创 三层结构及WEB
以前,大多是在弄C/S模式的程序(以为B/S模式的就是指网站,就没学这方面东东,唉!当时知识面真的好窄...),所以搞的也是二层结构的设计,到现在还没怎么弄过三层结构设计(好晕...)。 3层应用程序的解决方案: 即将应用程序划分为3层.每一层都通过一些定义好的接口与其他各层通信:这3层一般来讲在物埋上和逻辑上都是可以相互分离的。第1层是表示层,主要向用户
2007-10-15 11:50:00 831
转载 CGI学习笔记
最近又开始接触网站开发,以前只是在学校上课时才接触了一下。当时不喜欢搞网站就一直到现在几年没搞网站。所以对B/S模式的原理一直都是模模糊糊的,常把浏览器客户端和开发编程时说的那个客户端搞混在一下,分不清两个有什么区别,还有那个HTTP协议也不怎么清楚。。 现在明白了些(自己理解的):浏览器客户端常指物理上的真正的客户端,它本身一般在远程用户PC上,是另一个独立软件系统,只是它属于
2007-09-28 16:08:00 974
原创 一些C函数的用法(笔记)
(1)fscanf sscanf FILE *in = fopen ("/proc/uptime", "r"); long uptim = 0, a, b; if (in) { if (2 == fscanf (in, "%ld.%ld", &a, &b)) uptim = a * 100 + b; fclose (in); }----
2007-09-22 11:25:00 1580
原创 第一次搞ucLinux开发
最近忙着嵌入式的开发,一直来就想尝试一下,现在终于如我所愿,呵呵。。以前没弄过,其过程花了我不少时间,真是万事开头难啊。。主要是整个开发编译流程不清楚,后找了不少资料再在同事帮助下得以完成。现在理一理整个流程,这个重要啊:1。先熟悉下嵌入环境——硬件和操作系统,我的ARM+uCLinux2。下载相应的交叉编程工具arm-elf-tools-20030314.sh(http://www
2007-09-19 14:26:00 1929
原创 Magic c++ 一个好的可视化Linux开发工具
最近刚搞Linux的编程,发现调试是一个头痛的问题,那个GDB实在不好用(习惯了VC,没办法!!),今天就想找个像VC一样我东东,就找啊找。。。真是太好了!终于找到一个好的可视化的开发工具——Magic c++,相应的网址:http://www.magicunix.com/text_intro_ch.html ttp://www.magicunix.com/video_demo.htm
2007-09-15 16:09:00 3933 1
转载 SNMP学习笔记
基于T C P / I P的网络管理包含两个部分:网络管理站(也叫管理进程, m a n a g e r Station)和被管的网络单元(也叫被管设备 Network Element)。被管设备种类繁多,例如:路由器、X 终端、终端服务器和打印机等。这些被管设备的共同点就是都运行T C P / I P协议。被管设备端和管理相关的软件叫做代理程序( a g e n t )或代理进程。管理
2007-08-30 10:41:00 933
原创 重温TCP/IP
今天看了下有关TCP/IP包的知识,汗!发现自己以前就没怎么好好学过,有些东西只知道有怎么回事却没怎么真正理解:MTU:MTU是Maximum Transmission Unit的缩写。用来表示网络上传送的数据包最大数据量,单位是字节。不同的接入方式,MTU值是不一样的,下面是常用的几种接入方式默认的MTU值: EtherNet (以太网)1500 PPPoE(ADSL) 1492
2007-07-09 13:48:00 873
原创 有关软件设计的一点体会
(1)在设计一个系统前要做好充分的需求分析,这个真的很重要(2)在设计时先做粗略的系统流程及结构设计,然后做较细的流程及结构设计,包括结构中的大致实体的设计,再做细的流程和实体设计 我觉得搞软件设计与搞管理比较相通。我常把整个软件当作一个公司;软件的各个组成部分当成公司各个部门;软件某一组成部分中的一个负责实际重要功能的实体类当作公司在某部门的经理,其它运行实际功能代码的实体类当作经
2007-06-16 17:06:00 761
原创 RTSP与RTP(学习笔记)
最近在学RTSP与RTP: RTSP是与HTTP同级的应用层协议, 主要负责数据的连接.它是双向的,客户端与服务端可互发请求.RTP是网络层的协议,主要负责数据的传输. 在传输媒体文件时,可采用RTSP+RTP+UDP的方式:媒体文件—》RTSP-》RTP包-》UDP,也可直接采用RTSP+UDP方式。状态机如下(转贴):
2007-06-16 16:35:00 1940
原创 STL中的如此简单的常识现在才知道!!!
我的一段有关list中删除某一元素的代码:RecorderList::iterator iter = recorders.begin(); while (iter != recorders.end()) { Recorder* item = (*iter); if (item->GetSpanSize() == 0) { wprintf(_T("%s :/n"),item->g
2007-05-23 17:09:00 728
转载 SDP协议 学习笔记
SDP协议SDP:Session Description ProtocolSDP格式: Session description v= (protocol version)
2007-05-14 19:19:00 2490
转载 面对电脑时间长了不好,那该怎么办?其实每天四杯茶,不但可以对抗辐射的侵害,还可以保护眼睛。
面对电脑时间长了不好,那该怎么办?其实每天四杯茶,不但可以对抗辐射的侵害,还可以保护眼睛。1、上午一杯绿茶:绿茶中含强效的抗氧化剂以及维生素C,不但可以清除体内的自由基,还能分泌出对抗紧张压力的激素。绿茶中所含的少量咖啡因可以刺激中枢神经,振奋精神。不过最好在白天饮用,以免影响睡眠。2、下午一杯菊花茶:菊花有明目清肝的作用,有些人就干脆用菊花加上枸杞一起泡来喝,或是在菊花茶中加入蜂蜜,都对
2007-05-11 19:29:00 832
原创 学习笔记:Unicode与UTF8互转
int UTF2Uni(const char* src, std::wstring &t){ if (src == NULL) { return -1; } int size_s = strlen(src); int size_d = size_s + 10; //? wchar_t *des = new wchar_t[size_d]; memset(des, 0,
2007-05-06 23:35:00 1841
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人