自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

coolboywjun的专栏

嵌入式软件

  • 博客(23)
  • 资源 (1)
  • 收藏
  • 关注

转载 H264码流结构分析

1、码流总体结构:h264的功能分为两层,视频编码层(VCL)和网络提取层(NAL)。H.264 的编码视频序列包括一系列的NAL 单元,每个NAL 单元包含一个RBSP。一个原始的H.264 NALU 单元常由 [StartCode] [NALU Header] [NALU Payload] 三部分组成,其中 Start Code 用于标示这是一个NALU 单元的开始,必须是"00 00

2017-06-28 14:21:30 312

转载 Java - 集合框架完全解析

数据结构是以某种形式将数据组织在一起的集合,它不仅存储数据,还支持访问和处理数据的操作。Java提供了几个能有效地组织和操作数据的数据结构,这些数据结构通常称为Java集合框架。在平常的学习开发中,灵活熟练地使用这些集合框架,可以很明显地提高我们的开发效率,当然仅仅会用还是不够的,理解其中的设计思想与原理才能更好地提高我们的开发水平。下面是自己对Java集合框架方面的学习总结。一、概述二、C

2017-06-26 15:51:21 298

转载 RTSP协议学习笔记

第一部分:RTSP协议一、RTSP协议概述RTSP(Real-TimeStream Protocol )是一种基于文本的应用层协议,在语法及一些消息参数等方面,RTSP协议与HTTP协议类似。RTSP被用于建立的控制媒体流的传输,它为多媒体服务扮演“网络远程控制”的角色。尽管有时可以把RTSP控制信息和媒体数据流交织在一起传送,但一般情况RTSP本身并不用于转送媒体流数据。

2017-06-23 10:21:23 208

转载 Linux音频驱动-PCM设备

概述1.  什么是pcm?pcm(Pulse-code modulation)脉冲编码调制,是将模拟信号转化为数字信号的一种方法。声音的转化的过程为,先对连续的模拟信号按照固定频率周期性采样,将采样到的数据按照一定的精度进行量化,量化后的信号和采样后的信号差值叫做量化误差,将量化后的数据进行最后的编码存储,最终模拟信号变化为数字信号。2. pcm的两个重要属性

2017-06-22 13:38:19 370

原创 java中抽象类和接口的使用区别

很多常见的面试题都会出诸如抽象类和接口有什么区别,什么情况下会使用抽象类和什么情况你会使用接口这样的问题。本文我们将仔细讨论这些话题。在讨论它们之间的不同点之前,我们先看看抽象类、接口各自的特性。抽象类抽象类是用来捕捉子类的通用特性的 。它不能被实例化,只能被用作子类的超类。抽象类是被用来创建继承层级里子类的模板。以JDK中的GenericServlet为例:

2017-06-20 09:43:05 381

转载 理解Java中字符流与字节流的区别

1. 什么是流    Java中的流是对字节序列的抽象,我们可以想象有一个水管,只不过现在流动在水管中的不再是水,而是字节序列。和水流一样,Java中的流也具有一个“流动的方向”,通常可以从中读入一个字节序列的对象被称为输入流;能够向其写入一个字节序列的对象被称为输出流。 2. 字节流    Java中的字节流处理的最基本单位为单个字节,它通常用来处理二进制数据。J

2017-06-19 14:20:59 425

转载 Android 4G模块调试总结

最近调试Android的4G模块;这里做个总结;走个流程;代码就不贴了;公司保密;驱动方面没什么好说的;一般都是厂家会提供文档;其实也就是把4G模块虚拟机成ttyUSB0~ttyUSB5等几个虚拟串口;再打开CDC_NCM虚拟网卡绑定到某一个虚拟串口;产生虚拟网卡usb0或者什么的;              先走个大概流程;其实主要就是hardware/ril/几个库文件;修改的也不多;

2017-06-19 10:00:19 9049

转载 HI3515海思开发板移植3G模块笔记

硬件平台:海思Hi3515 Linux3G模块:1、移动模块:ZTE M305(TD-SCDMA)2、联通模块:HUAWEI EM770W(WCDMA)3、电信模块:HUAWEI EM660(CDMA2000-EVDO)开始工作:1、在编译内核时,通过make menuconfig打开模块加载选项,因为调用3G需要用到pppd服务,所以找到pppd服

2017-06-16 16:13:42 956

转载 ARM平台嵌入式Linux下使用3G/4G 模块

简介随着工业发展,嵌入式设备接入网络的需求日益增多,在没有有线或者无线以太网的环境下,直接通过3G/4G Modem连接运营商网络来接入互联网不失为一个好方法,本文就着重介绍基于ARM平台的嵌入式设备在Embedded Linux下使用3G/4G Modem的方法。目前市面上的3G/4G modem和主机的连接方式主要有串口、USB和mini-PCIE,串口模块比较传统且使用比

2017-06-16 15:35:05 1956

转载 c++ list, vector, map, set 区别与用法比较

List封装了链表,Vector封装了数组, list和vector得最主要的区别在于vector使用连续内存存储的,他支持[]运算符,而list是以链表形式实现的,不支持[]。Vector对于随机访问的速度很快,但是对于插入尤其是在头部插入元素速度很慢,在尾部插入速度很快。List对于随机访问速度慢得多,因为可能要遍历整个链表才能做到,但是对于插入就快的多了,不需要拷贝和移动数据,只需要

2017-06-15 10:17:47 306

原创 c语言设计模式

详见参考百度文库:https://wenku.baidu.com/view/36959610763231126edb1176.html

2017-06-14 14:42:36 592

转载 直播-拉流和推流概述 转载

拉流(播放):根据协议类型(如RTMP、RTP、RTSP、HTTP等),与服务器建立连接并接收数据;解析二进制数据,从中找到相关流信息;根据不同的封装格式(如FLV、TS)解复用(demux);分别得到已编码的H.264视频数据和AAC音频数据;使用硬解码(对应系统的API)或软解码(FFMpeg)来解压音视频数据;经过解码后得到原始的视频数据(

2017-06-14 10:21:14 1176

转载 H264(NAL简介与I帧判断)

1、NAL全称Network Abstract Layer, 即网络抽象层。         在H.264/AVC视频编码标准中,整个系统框架被分为了两个层面:视频编码层面(VCL)和网络抽象层面(NAL)。其中,前者负责有效表示视频数据的内容,而后者则负责格式化数据并提供头信息,以保证数据适合各种信道和存储介质上的传输。因此我们平时的每帧数据就是一个NAL单元(SPS与PPS除外)。在实际的

2017-06-14 09:09:00 859

转载 C语言变长数组data[0]【总结】

1、前言    今天在看代码中遇到一个结构中包含char data[0],第一次见到时感觉很奇怪,数组的长度怎么可以为零呢?于是上网搜索一下这样的用法的目的,发现在linux内核中,结构体中经常用到data[0]。这样设计的目的是让数组长度是可变的,根据需要进行分配。方便操作,节省空间。2、data[0]结构经常遇到的结构形状如下:struct buffer{ i

2017-06-13 14:54:26 460

转载 Java中extends 与 implement 区别

简单说: 1.extends是继承父类,只要那个类不是声明为final或者那个类定义为abstract的就能继承,2.JAVA中不支持多重继承,但是可以用接口来实现,这样就要用到implements,3.继承只能继承一个类,但implements可以实现多个接口,用逗号分开就行了 ,      比如  class A extends B implements C,D,E   

2017-06-10 17:14:34 831

转载 java中接口类似c++中纯虚函数

Java提供了一种抽象方法的机制即接口,C++中叫纯虚函数。包含抽象方法的类为抽象类,如果一个类有一个或多个的抽象方法,那么类一定要定义为抽象类。子类需要继承接口类,且实现接口方法。1、定义接口    使用interface来定义一个接口。接口定义同类的定义类似,也是分为接口的声明和接口体,其中接口体由常量定义和方法定义两部分组成。定义接口的基本格式如下:[

2017-06-10 17:13:45 481

转载 Java实例变量、类变量与局部变量

一、实例变量也叫对象变量、类成员变量;从属于类由类生成对象时,才分配存储空间,各对象间的实例变量互不干扰,能通过对象的引用来访问实例变量。但在Java多线程中,实例变量是多个线程共享资源,要注意同步访问时可能出现的问题。[java] view plain copy"font-size:14px;">public class Dem

2017-06-10 16:57:43 241

转载 为什么Java中类方法不能访问实例方法

我们已经知道类体中的方法分为实例方法和类方法两种,用static修饰的是类方法。二者有什么区别呢?当一个类创建了一个对象后,这个对象就可以调用该类的方法。       当类的字节码文件被加载到内存时,类的实例方法不会被分配入口地址,当该类创建对象后,类中的实例方法才分配入口地址,从而实例方法可以被类创建的任何对象调用执行。需要注意的是,当我们创建第一个对象时,类中的实例方法就分

2017-06-10 16:56:45 1902

转载 linux下 驱动模块编译步骤

本文将直接了当的带你进入linux的模块编译。当然在介绍的过程当中,我也会添加一些必要的注释,以便初学者能够看懂。之所以要写这篇文章,主要是因为从书本上学的话,可能要花更长的时间才能学会整个过程,因为看书的话是一个学习过程,而我这篇文章更像是一个培训。所以实践性和总结性更强。通过本文你将会学到编译一个模块和模块makefile的基本知识。以及加载(卸载)模块,查看系统消息的一些知识;声明:

2017-06-09 09:16:17 1513 1

转载 jitter buffer QoS的解决方案

本文主要介绍一种QoS的解决方案,文章来自博客园RTC.Blacker,欢迎关注微信公众号blacker,更多详见www.rtc.help QoS出现的背景:而当网络发生拥塞的时候,所有的数据流都有可能被丢弃;为满足用户对不同应用不同服务质量的要求,就需要网络能根据用户的要求分配和调度资源,对不同的数据流提供不同的服务质量:1、对实时性强且重要的数据报文优先处理;

2017-06-09 08:47:14 470

转载 WebRTC视频JitterBuff

前言如果网络是理想的,即无丢包、无抖动、低延时,那么接收到一帧完整数据就直接播放,效果一定会非常好。但是实际的网络往往很复杂,尤其是无线网络。如果还是这样直接播放,网络稍微变差,视频就会卡顿,出现马赛克等异常情况。所以,在接收端对接收的数据做一个缓冲是很有必要的。 缓冲一定是以延时作为代价的,延时越大,对抖动的过滤效果越好。一个优秀的视频jitterbuffer,不仅要能够

2017-06-09 08:09:43 9040 1

转载 linux C调试接口

在C语言程序设计中,常会出现各种各样的bug:段错误、参数异常等等。我们需要尽快定位错误,输出异常信息,出错位置及调用层次等,这对于解决bug问题是非常方便的,所以设计了如下调试接口。调试级别:共有三级,不同的级别对于错误采取不同的处理方法,如异常退出还是函数返回还是仅仅输出错误信息,调试级别越高,给出的错误信息越详细。    最高调试级别assert,当断言失效时打印最详细的出错

2017-06-09 08:07:25 335

转载 FFMPEG--最简单的视频网站(点播、直播)

本文记录一个最简单的视频网站系统。此前做过一些基于JavaEE中的 SSH (Strut2 + spring + hibernate)的网站系统,但是一直没有做过一个视频网站系统,所以就打算做一个“精简”的视频网站系统,以方便以后测试以及学习使用。本视频网站支持直播(通过RTMP实现)和点播(通过HTTP实现)。为了保持精简,这个视频网站系统仅制作了网络视频的管理功能(增删改查),以及相关的参数配

2017-06-05 10:22:34 1849

linux抓打印工具

这是一款比较好用的linux平台抓打印的工具,很方便实用!

2013-11-22

空空如也

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

TA关注的人

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