自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

月天寒的专栏

专注于音视频流媒体和AI技术领域

  • 博客(98)
  • 资源 (2)
  • 收藏
  • 关注

转载 RTP封装h264

转自:http://blog.csdn.net/jwybobo2007/article/details/7054140网络抽象层单元类型 (NALU):NALU头由一个字节组成,它的语法如下:      +---------------+      |0|1|2|3|4|5|6|7|      +-+-+-+-+-+-+-+-+      |F|NRI| 

2016-08-13 11:54:38 633

原创 H264的I/P/B帧类型判断

转自:http://blog.csdn.net/zhuweigangzwg/article/details/44152239这里首先说明下H264的结构:00 00 00 01/00 00 01->nal(1bytes)->slice->宏块->运动估计向量。如果h264的body中出现了前缀则由00 00 00 01/00 00 01变为00 03 00 00 01/00 0

2016-08-11 15:31:40 1495

转载 H264----语法及结构

我看到的解释h264语法结构比较全面的一篇文章,转自:http://blog.csdn.net/yangzhongxuan/article/details/8003494名词解释 场和帧 :    视频的一场或一帧可用来产生一个编码图像。在电视中,为减少大面积闪烁现象,把一帧分成两个隔行的场。片:             每个图象中,若干宏块被排列成片的形式。片

2016-08-11 10:23:00 536

转载 RTP、RTCP及媒体流同步

一、流媒体简介  流媒体是指在internet中使用流媒体技术的连续时基媒体,例如视频、音频或多媒体文件。流式传输方式是将音视频、动画等多媒体文件经过压缩后分成一个个小数据包,当用户端发出请求时,由服务器端向用户端实时、连续传送这些小数据包,动态变化的网络可能使各个包选择不同的路由,故到达用户端的时间延迟也就不同。在用户端用播放器播放时,需要为接收数据开辟缓存区,以弥补时延和时延抖动的影响和保

2016-08-04 23:32:45 814

转载 WebRTC GCC算法介绍

转自:http://mp.weixin.qq.com/s?__biz=MzI2MzA4MTgxNw==&mid=2652046558&idx=2&sn=5f6b34c37f4cb72a2dbacc2e990f05a9&scene=23&srcid=0728AGRb292ufggiuyQ1qUx0#rd虽然视频会议已商用了多年,特别是SKYPE这样的视频应用在互联网上已有10年时间,但针对实时音

2016-07-28 09:26:54 1089

原创 谈谈关于内存对齐与补齐

本文很多转自:http://blog.csdn.net/cyousui/article/details/17655051说明:转载的这篇文章是我看到的觉得解释的比较清楚的一篇文章,网上很多写关于内存对齐的文章,要么说不清楚,要么还有错误,误导别人!!个人总结如下(我的理解,不一定正确,欢迎指正!):1.32位机一般默认4字节对齐(32位机机器字长4字节),64位机一般默认8

2016-07-26 19:32:34 1492

原创 删掉win上顽固文件与文件夹

有时候win上的文件怎么删都删不掉,又不想专门安装个文件粉碎机去删除,这里介绍个简单的办法,不用安装任何软件即可完成:新建一个文本文档,名字随你便,以.bat结尾,里面输入下面的内容:DEL /F /A /Q \\?\%1RD /S /Q \\?\%1然后,把要删除的文件或者目录拖放到这个bat文件的图标上就可以删除了。

2016-07-18 18:58:09 444 1

转载 C++拷贝构造函数详解

转自:http://blog.csdn.net/lwbeyond/article/details/6202256一. 什么是拷贝构造函数首先对于普通类型的对象来说,它们之间的复制是很简单的,例如:int a = 100;int b = a; 而类对象与普通对象不同,类对象内部结构一般较为复杂,存在各种成员变量。下面看一个类对象拷贝的简单例子。#in

2016-07-18 16:02:27 314

转载 C/C++编译和链接过程详解 (重定向表,导出符号表,未解决符号表)

转自:http://blog.csdn.net/yby4769250/article/details/7360483详解link 有 些人写C/C++(以下假定为C++)程序,对unresolved external link或者duplicated external simbol的错误信息不知所措(因为这样的错误信息不能定位到某一行)。或者对语言的一些部分不知道为什么要(或者不要)这

2016-07-15 12:01:15 2668

原创 boost::bind的使用方法

头文件: boost/bind.hpp bind 是一组重载的函数模板.用来向一个函数(或函数对象)绑定某些参数. bind的返回值是一个函数对象. 关于bind,个人认为关键是记住,bind的返回值是一个函数对象,使用起来就好理解了。假如有函数 fun() 如下:  void fun(int x, int y) {  cout  }现在我们看看怎么用

2016-07-11 13:48:57 369

原创 c++的模板用法

模板是C++支持参数化多态的工具,使用模板可以使用户为类或者函数声明一种一般模式,使得类中的某些数据成员或者成员函数的参数、返回值取得任意类型。模板是一种对类型进行参数化的工具;  通常有两种形式:函数模板和类模板;  函数模板针对仅参数类型不同的函数;  类模板针对仅数据成员和成员函数类型不同的类。  使用模板的目的就是能够让程序员编写与类型无关的代码。比如编写了一个交换两个

2016-07-11 11:42:15 331

转载 C++中括号()操作符的重载举例及解析

转自:http://blog.csdn.net/yang_lang/article/details/6725041C++项目中,经常会遇到使用重载()操作符的地方,请看下面一个例子: #include using namespace std; class Clastype { public: Clastype(int a)

2016-07-10 22:44:05 1117

原创 imx6 android开机启动守护进程

由于项目中需用到自己的编写的两个底层命令行程序,并且让系统开机就自启动这两个程序。我把这两个程序写成了守护进程。并自一个shell脚本中执行启动这两个程序的命令,这样,我设置adroid开机启动的时候就只有启动这个脚本就行了。做好以上两点,接下来就是添加相应的拷贝动作了。这个动作需要自己添加的吗?当然,大部分情况下Android在编译的时候是不会自动添加你新增的文件的。devi

2016-07-08 18:25:12 1001

转载 一个简单的守护进程的编写

转自:http://blog.csdn.net/baniel01/article/details/11614085 守护进程,也就是通常说的Daemon进程,是Linux中的后台服务进程。它是一个生存期较长的进程,通常独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件。守护进程常常在系统引导装入时启动,在系统关闭时终止。Linux系统有很多守护进程,大多数服务都是通过守护进程实

2016-07-08 16:12:25 2023

原创 Linux安装qt creator作为c++ IDE

下载qt-opensource-linux-x64-5.3.0.run后,安装步骤:1. 使其具有可执行权限sudo chmod +x qt-opensource-linux-x64-5.3.0.run2. 安装sudo ./qt-opensource-linux-x64-5.3.0.run接下来是图形界面安装,全部默认即可。 参考截图如下:

2016-07-08 14:16:08 1931 2

原创 QT中PRO文件写法的记录

注释从“#”开始,到这一行结束。QT       -= core gui   默认编译的库或者程序会把qt的库链接进去,如果只是使用qt编译普通的c++程序,可以使用这个选项去掉qt库的包含.模板变量告诉qmake为这个应用程序生成哪种makefile。下面是可供使用的选择:TEMPLATE = appA> app -建立一个应用程序的makefile。这是默认值,所以

2016-07-08 13:22:16 599

原创 ubuntu gtk+使用记录

1、安装相关依赖包sudo apt-get install libgtk2.0-dev libgnome2-dev如果是在终端下直接编译的话,可以方便的输入GTK+的include、lib依赖,即在gcc 命令后加上`pkg-config --cflags --libs gtk+-2.0`(注意`这个符号是1签名那个键,还有在这段字符之前加个空格)。比如:gcc -o test

2016-07-04 22:24:00 737

原创 wav文件格式分析

随便找个wav格式的音频文件用ultraedit打开就是下面这个样子:  用表格说明一下文件的格式:起始地址占用空间本地址数字的含义00H4byteRIFF,资源交换文件标志。04H4byte从下一个地址开始到文件尾的总字节数。高位字节在后面,这里就是

2016-07-04 09:48:40 688

原创 turnserver测试是否正常运行

比较简单的测试,如下:服务器ip是8.8.8.8,turnserver默认监听端口是3478,则测试路径是http://8.8.8.8:3478,用浏览器打开该链接,如果看到“TURN Server”的字样说明turnserver是正常运行。如果访问不了,那就那可能是服务挂了或者说是服务没有开启。如果常常因为重启了服务而忘记启动该服务的话,建议写个脚本,开机自动运行服务。怎么写呢?

2016-07-03 23:18:33 8587

原创 ubuntu ffmpeg+sdl编译安装过程记录

在ubuntu上的整个编译过程其实就是标准的./configure &&make &&sudo make install几个问题记录下:1.如果系统没有装SDL1.x版本的话,默认是不会编译出ffpaly命令的。因为ffmpeg的音视频显示依赖SDL库,且必须是1.x版本的SDL。2.运行ffplay时,有些机器上会出现Could not initialize SDL -

2016-06-28 17:25:24 2277

原创 linux下一些sh命令用法记录

1、递归删除目录下所有.c文件find . -name '*.c' -type f -print -exec rm -rf {} \;(1) "."    表示从当前目录开始递归查找(2) “ -name '*.c' "根据名称来查找,要查找所有以.c结尾的文件夹或者文件(3) " -type f "查找的类型为文件(4) "-print" 输出查找的文件目

2016-06-24 11:31:03 2096

原创 linux关于动态库链接小记

调试ffmpeg+sdl的时候,新安装了sdl2库,运行我的执行程序时报找不到sdl2.so的引用。我查看了sdl2.so明明装在了/etc/local/lib下,并且之前也在/etc/ld.so.conf下加入了/usr/local/bin的位置。谷歌了一番,解决了问题,并学到几个东西:1、linux下使用ldd命令可以查看你的执行程序依赖的共享库,以及该共享库在你的linux文件系统中的位

2016-06-21 09:53:54 296

原创 YUV格式说明

在YUV420中,一个像素点对应一个Y,一个2X2的小方块对应一个U和V。对于所有YUV420图像,它们的Y值排列是完全相同的,因为只有Y的图像就是灰度图像。YUV420sp与YUV420p的数据格式它们的UV排列在原理上是完全不同的。420p它是先把U存放完后,再存放V,也就是说UV它们是连续的。而420sp它是UV、UV这样交替存放的。(见下图)假设一个分辨率为8X4的YU

2016-06-19 12:51:06 396

转载 ORTP移植到Hi3518e,h.264封包rtp发送

转自:http://blog.csdn.net/jiaozi07/article/details/41749943看到ORTP是纯C实现的rtp库,于是移植到3518e试用一下.1.下载源码http://www.linphone.org/technical-corner/ortp/downloads里面有个tar res跳转链接跳转入http://download.sa

2016-06-15 19:15:41 1866

原创 android底层去掉虚拟按键

找到framework/base/core/res/res/values/dimens.xml,在其中把Navigation的配置改成0        0dp        0dp因为这个改动只修改了framework的资源文件,编译内核,获取framework-res.apk(./out/target/product/sabresd/system/framewor

2016-06-15 18:41:28 6983

原创 Android gt911触摸屏驱动移植记录

基本上参考“GT9XX驱动移植说明书_for_Android”来做就好的,有几点注意的地方注意一下:1、替换配置信息表的时候,如果你的屏驱动芯片gt9xx有设置sensor ID的话,配置信息应该配置到对应的数组中(CTP_CFG_GROUP)2、我的弄完后发现屏的上下触摸位置反过来了,也就是说按键在下边,需要触摸屏幕的上边才能有反映。      这有两种方法解决,一种是找你的

2016-06-04 09:33:35 8503 2

转载 H264码流结构分析

转自:http://blog.csdn.net/chenchong_219/article/details/37990541这篇介绍h264的写的不错,赞一个。1、码流总体结构:h264的功能分为两层,视频编码层(VCL)和网络提取层(NAL)。H.264 的编码视频序列包括一系列的NAL 单元,每个NAL 单元包含一个RBSP。一个原始的H.264 NALU 单元常由 [

2016-06-03 18:52:45 384

转载 Android Studio 2.0下创建jni应用调用本地C函数

转自:http://www.aliog.com/103580.html一:新建工程HelloFromJni二:配置工具1 切换到project视图右键打开Module setting,添加NDK目录2 在build.gradle文件的defaultConfig节点中类似添加ndk { moduleName "sy-jni"}source

2016-05-31 19:24:27 633

原创 使用CMake进行android native开发

Android NDK中提供了ndk-build脚本,以及若干mk文件,以简化ndk的开发,这对于开发一些小型应用来说足够了.如果对于一些大型工程特别是开源工程,人家是要cmake来组织的该怎么编译呢,总不能自己去重新写.mk文件吧。下面介绍对于这种项目的android库编译方法。1、下载android-cmake     https://code.google.com/p

2016-05-31 17:16:12 10463

转载 SIP呼叫流程典型流程图解及其详细解释

1.注册流程:      2.注销流程:        3.基本呼叫建立过程:      4.会话更改流程:      5.正常呼叫释放过程:   6.被叫忙呼叫释放:    7.被叫无应答流程一:

2016-05-19 14:39:58 671

原创 Ubuntu opensips安装流程

1、安装m4.  (下载地址:ftp://ftp.gnu.org/gnu/m4/)#./configure#make#nake install2、安装bison(下载地址:http://ftp.gnu.org/gnu/bison/)#./configure#make#nake install3、安装flex(下载地址:https://sourceforge.

2016-05-13 12:11:42 543

转载 ICE介绍 (RFC 5245)

1关于ICE的10个事实1 ICE使用STUN和TURN2 ICE是一种P2P的NAT穿越方式3 ICE只需要网络提供STUN或TURN服务器4 ICE允许在很复杂的网路环境下传输媒体流5 ICE只在确定媒体流可到达情况下才让电话进行振铃6 ICE动态发现终端间媒体流的最短路径7 ICE可以附带消除DoS攻击8 ICE可以几乎和任意类型的NAT和防火墙设备一

2016-05-10 12:03:28 535

转载 RTP协议分析

转自:http://blog.csdn.net/bripengandre/article/details/2238818RTP协议分析第1章.    RTP概述1.1. RTP是什么RTP全名是Real-time Transport Protocol(实时传输协议)。它是IETF提出的一个标准,对应的RFC文档为RFC3550(RFC1889为其过期版本)。RFC355

2016-04-26 11:39:02 309

转载 IOS合并lib(.a)库的终极可用方法(可用于解决duplicate symbol静态库冲突)

转自:http://www.cnblogs.com/wengzilin/p/3800856.html网上流传了太多关于合并lib库的方法,自己也尝试过,但大多失败。有感于这种急于解决问题,经过百般尝试后依旧无果的无奈心情,小翁在这里用一个实例来完整阐述如何在mac中合并lib静态库。这里以移动广告平台多盟的三个lib库为例子,之所以以此为例子,是因为我也遇到了库冲突的问题,所以才有了本文的

2016-04-22 17:48:57 332

原创 uboot中添加自己的命令

每个命令都是通过U_BOOT_CMD宏来定义的。这个宏定义了一个相关的结构体,文件是uboot/include/command.h,结构体为cmd_tbl_s具体的命令定义为: #define U_BOOT_CMD(name,maxargs,rep,cmd,usage,help) \ cmd_tbl_t __u_boot_cmd_##name Struct_Section = {

2016-04-21 10:37:13 4575

原创 android源码修改内核配置不生效的解决办法

现象: 在Android的内核kernel_imx目录执行make munuconfig配置完内核后,在Android源码目录执行make,编译Android源码,完成后发现内核的配置又变回之前的配置了,貌似配置文件被覆盖了。试过不使用make menuconfig来配置内核,而是直接修改arch/arm/configs下的imx6_android_defconfig,但是这样还是发现会被

2016-04-19 14:51:12 3734 1

原创 linux/ALSA SRC重采样造成的问题及解决

背景:在给imx6移植声卡驱动的时候出现一个怪异的现象:codec做I2S主机,imx6做I2S从机,codec设置的采样率固定为8Khz,但是使用aplay命令播放8K采样率的PCM文件的时候出现播的很慢很慢,如果我把codec采样率设置到44.1K的时候,或者我使用aplay -r44100命令即骗aplay我播放的音频文件是44.1K的时候,播放就能正常!出现此现象我一度以为是i

2016-04-16 11:48:19 3278

原创 使用eclipse查看linux内核源码

由于需要在ubuntu下查看linux的内核源码,一开始用souceInsight,感觉不好用,后来换成eclipse,感觉还是不错的样子~~开始导入:1.首先我们到Window->Preferences->General->Workspace 中将Build Automatically选项去掉。 然后到Window->Preferences->C/C++ -> Index

2016-04-05 16:59:19 6040

转载 TQIMX6Q学习笔记——内核启动与文件系统挂载

转自:http://blog.csdn.net/girlkoo/article/details/44626011经过前面的移植,u-boot已经有能力启动内核了,本文主要来看下如何通过之前移植的u-boot来启动内核。如果按照前面的文章完成了LTIB的编译,那么,Linux的内核应该就会出现rpm/BUILD/目录下,接下来,我们就开始移植这个3.0.35版本的内核到TQIMX6Q

2016-04-01 16:45:36 935

转载 TQIMX6Q学习笔记——U-Boot移植

本文转自:http://blog.csdn.net/girlkoo/article/details/44536447其实Freescale的BSP移植文档已经将u-boot的移植步骤讲述的非常详细了,但为了以后方便查阅,还是按照自己的理解记录在这里。获取源码根据前一篇文章搭建好LTIB环境后就可以非常方便的导出u-boot源码了。切换到ltib目录,并运行如下指令:./lt

2016-04-01 14:26:32 1154

RemoTI IR Signal Generation Application Note

RemoTI IR Signal Generation Application Note

2013-05-10

RemoTI SimpleApp Application Note

RemoTI SimpleApp Application Note

2013-05-10

空空如也

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

TA关注的人

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