H264相关随笔】的更多相关文章

DR(Instantaneous Decoding Refresh)--即时解码刷新. I和IDR帧都是使用帧内预测的.它们都是同一个东西而已,在编码和解码中为了方便,要首个I帧和其他I帧区别开,所以才把第一个首个I帧叫IDR,这样就方便控制编码和解码流程.IDR帧的作用是立刻刷新,使错误不致传播,从IDR帧开始,重新算一个新的序列开始编码.而I帧不具有随机访问的能力,这个功能是由IDR承担.IDR会导致DPB(DecodedPictureBuffer参考帧列表——这是关键所在)清空,而I不会.…
H.264格式的视频打包成RTP后进行发送,编译环境为VC6++ #include <stdio.h> #include <stdlib.h> #include <string.h> #include <memory.h> #include <winsock2.h> #pragma comment(lib,"ws2_32.lib") #include <Windows.h> #define PACKET_BUFFE…
1.基本概念 I frame :帧内编码帧 又称intra picture,I 帧通常是每个 GOP(MPEG 所使用的一种视频压缩技术)的第一个帧,经过适度地压缩,做为随机访问的参考点,可以当成图象.I帧可以看成是一个图像经过压缩后的产物. P frame: 前向预测编码帧又称predictive-frame,通过充分将低于图像序列中前面已编码帧的时间冗余信息来压缩传输数据量的编码图像,也叫预测帧: B frame: 双向预测内插编码帧 又称bi-directional interpolate…
AOP: 原理:底层利用动态代理(两种动态代理技术都使用了) 两种实现方案: 第一种:JDK动态代理技术 实现的InvocationHandler接口,要想实现某个类的动态代理对象,必须有接口有实现类. 第二种:cglib动态代理技术(需要导入spring包--4个核心包) 实现了MethodInterceptor接口,原理是继承要代理的类. 第一步:导入包  4+2+2+2 第二步:准备肉鸡 编写一个接口UserService  和 UserServiceImpl,具体详见代码 第三步:编写通…
一,使用vue-baidu-map 1.下载相关包依赖 npm i vue-baidu-map   2.在main.js中import引入相关包依赖,在main.js中添加如下代码: import BaiduMap from 'vue-baidu-map'; Vue.use(BaiduMap,{ ak:'你在百度地图官网申请的apk' })   3.在页面中引入,只需在页面中添加如下代码: <baidu-map class="bm-view" :center="cent…
对于nuxt.js从未接触,对于项目需要进行零散了解,作此归纳,以下都是一个新手的拙见与理解,有不同意见欢迎提出,但请勿喷. 一.项目创建 npx create-nuxt-app projectName npx在NPM版本5.2.0以上默认安装,而安装node.js时会自带安装npx. 项目创建完成之后进入对应文件路径的cmd窗口,运行命令npm run dev启动项目.项目启动成功之后输入127.0.0.1:3000进入项目(nuxt项目由于是运用了SSR渲染,所以在项目创建之初就自带了一个基…
//获取所有name='id'.被选择的的多选框var idArr = $("input[type='checkbox'][name='id']:checked");//将这些多选框的id值(实际上是个数组)组合成以‘,’分隔的字符串var ids = "";$.each(idArr,function(index,o){ ids = ids + $(o).val()+",";});ids = ids.substring(0,ids.length-…
1).Hive中Select Top N的实现 Hive中使用 Order by + Limit 可以很容易地实现Select Top N. 但是在Hive中Order by只能使用1个Reduce,如果表的数据量很大,那么Order by就会力不从心.相对的,Sort by可以启动多个Reduce,每个Reduce做局部排序. 从执行计划explain中可以看出Sort by Limit N启动了两个MR Job.第一个Job是在每个Reduce中做局部排序,然后分别取Top N.假设启动了M…
安装 下载ruby并且安装 点击这里 打开命令行输入 gem install sass 我使用的是sublime text3 还需要下载三个插件 sass -- 可以帮助你语法高亮 sass build -- 可以通过Ctrl+B来编译文件 SublimeOnSaveBuild -- 帮助你在保存的时候编译 4.编译的命令 单个文件转换 sass style.scss style.css 单文件监听 sass --watch style.scss:style.css 文件夹监听 sass --w…
web.xml部分 1.欢迎界面 <welcome-file-list> <welcome-file>/views/login.jsp</welcome-file> </welcome-file-list> 2.字符编码过滤器 <filter> <filter-name>CharacterEncoding</filter-name> <filter-class>org.springframework.web.f…
今天看了不少,却感觉收获寥寥. 1.H264相关知识 因为RTP协议发过来的数据已经经过了H264编码,所以这边需要解码.补充一下H264的相关知识. 与以往的视频压缩标准相比,H.264 视频压缩标准(简称H.264)具有更出色的性能,因此H.264 被称为新一代视频压缩标准.H.264 与H.263 或MPEG-4 相比,       主要新增特性如下:      1.采用更为精细和丰富的帧内编码及帧间预测方式,有效地减少残差数据.      2.引入新的算术编码方式,使得数据压缩比更高. …
现在整理博客的时间少了,大多是在用为知笔记收藏和整理,一次集中发点Linux相关随笔整理和一个目录,是按时间顺序来的.每一篇都是自己用过之后整理的,应用场景已经尽可能的说明了,不明白的可以Q我,上班时间请尽量避免. ========目录========= centos6.5安装mongodb2.6 Linux下DB2数据库安装教程 [Installing Metasploit Framework on CentOS_RHEL 6]在CentOS_RHEL 6上安装Metasploit的框架[翻译…
点击标题即可进入相关随笔. DE-SOC开发板VrilogHDL开发相关部分: (本过程需要Verilog HDL 的基本语言基础) 1.FPGA的发展史及FPGA 的基础架构 2.首先看一下友晶DE-SOC开发板的user manual 3.用VerilogHDL设计一个与门逻辑,并进行前仿和后仿 4.点亮一个LED灯 5.3-8 译码器的设计 6.计数器设计与应用 7.利用IP核设计高性能的计数器 8.设计一个BCD码计数器. 9.用一个例子来学习阻塞赋值和非阻塞赋值 10.状态机的设计实例…
pip 是 Python 包管理工具,该工具提供了对Python 包的查找.下载.安装.卸载的功能. 但是,由于pip使用的pip仓库默认为:http://pypi.python.org/ 是国外的 所以pip 下载安装第三方库的时候速度惊人的慢,1kb\s,2kb\s是家常便饭,更要命的是下到一半忽然报错,和Github直接下载有得一拼 因此在这里,我觉得有必要写一篇相关随笔,整理一下网上罗列的各种办法. pip换源 将pip默认仓库改为国内的网站,从国内的网站下载镜像 目前国内的一些比较靠谱…
这篇随笔对应的.Net命名空间是System.Xml.Serialization:文中的示例代码需要引用这个命名空间.   为什么要做序列化和反序列化? .Net程序执行时,对象都驻留在内存中:内存中的对象如果需要传递给其他系统使用:或者在关机时需要保存下来以便下次再次启动程序使用就需要序列化和反序列化.   范围:本文只介绍xml序列化,其实序列化可以是二进制的序列化,也可以是其他格式的序列化.   看一段最简单的Xml序列化代码 1 2 3 4 5 6 7 8 9 10 11 12 clas…
先看一个最简单的inner join,在读取Student表时inner join Class表取的对应的Class信息: static void Main(string[] args) { using (var writer = new StreamWriter(WatchSqlPath, false, Encoding.UTF8)) { using (DbAppDataContext db = new DbAppDataContext()) { db.Log = writer; //inne…
XPath语法 在C#中使用XPath示例   XPath可以快速定位到Xml中的节点或者属性.XPath语法很简单,但是强大够用,它也是使用xslt的基础知识. 示例Xml: <?xml version="1.0" encoding="utf-8" ?> <pets> <cat color="black" weight="10"> <price>100</price>…
内存映射文件是利用虚拟内存把文件映射到进程的地址空间中去,在此之后进程操作文件,就 像操作进程空间里的地址一样了,比如使用c语言的memcpy等内存操作的函数.这种方法能够很好的应用在需要频繁处理一个文件或者是一个大文件的场合, 这种方式处理IO效率比普通IO效率要高 共享内存是内存映射文件的一种特殊情况,内存映射的是一块内存,而非磁盘上的文件.共享内存的主语是进程(Process),操作系统默认会给每一 个进程分配一个内存空间,每一个进程只允许访问操作系统分配给它的哪一段内存,而不能访问其他进…
需要引用的命名空间:   using System.Xml.Linq; 常用的类:XDocument.XElement.XAttribute 创建 XDocument对象. XDocument.Load():从文件.URI 或流中读取 XML 文档 XDocument.Parse():从一个字符串加载 XML 文档 一.使用Linq to xml创建xml文档 XDocument xml = new XDocument( new XElement("configuration", ne…
为什么要做序列化和反序列化? 一个回答: 我们都知道对象是不能在网络中直接传输的,不过还有补救的办法.XML(Extensible Markup Language)可扩展标记语言,本身就被设计用来存储数据,任何一个对象都可以用XML来描述.XML是可以作为对象信息的载体在网络中传输,因为它是文本形式的.怎么进行XML文档与对象的相互转换呢?XmlSerializer类就是干这个活的.命名空间:System.Xml.Serialization程序集:System.Xml(在 system.xml.…
XPath可以快速定位到Xml中的节点或者属性.XPath语法很简单,但是强大够用,它也是使用xslt的基础知识. 示例Xml: <?xml version="1.0" encoding="utf-8" ?> <pets> <cat color="black" weight="10"> <price>100</price> <desc>this is a…
XmlDocument和XElement在读取Xml时要将整个Xml文档放到内存中去操作,这样做操作简单,但是很费内存和IO(可能是磁盘IO或者网络IO):而在有些场景下我们必须考虑尽可能节省内存和IO的开销,这时候就该XmlReader和XmlWriter出场了.XmlReader读取Xml需要通过Read()实例方法,不断读取Xml文档中的声明,节点开始,节点内容,节点结束,以及空白等等,直到文档结束,Read()方法返回false. 如下读取Xml内容实例代码和注释说明 //玉开技术博客:…
XSL即可扩展的样式表文件. 可以格式化xml的显示,也可以将xml转换成需要的另一种格式. 学习XSL必须熟悉XPath.XSL和XPath一样简单强大,容易学习. 1. XSL既然可以格式化xml的显示样式,我们先来看如何在xml中引用xsl文件 如下代码示例: <?xml version="1.0" encoding="utf-8"?> <?xml-stylesheet type="text/xsl" href="…
XPath可以快速定位到Xml中的节点或者属性.XPath语法很简单,但是强大够用,它也是使用xslt的基础知识. 示例Xml: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 <?xml version="1.0" encoding="utf-8" ?> <pets>   <cat color="black&quo…
这篇随笔对应的.Net命名空间是System.Xml.Serialization:文中的示例代码需要引用这个命名空间. 为什么要做序列化和反序列化? .Net程序执行时,对象都驻留在内存中:内存中的对象如果需要传递给其他系统使用:或者在关机时需要保存下来以便下次再次启动程序使用就需要序列化和反序列化. 范围:本文只介绍xml序列化,其实序列化可以是二进制的序列化,也可以是其他格式的序列化. 看一段最简单的Xml序列化代码 ? 1 2 3 4 5 6 7 8 9 10 11 12 class Pr…
LINQ to XML提供了更方便的读写xml方式.前几篇文章的评论中总有朋友提,你为啥不用linq to xml?现在到时候了,linq to xml出场了. .Net中的System.Xml.Linq命名空间提供了linq to xml的支持.这个命名空间中的XDocument,XElement以及XText,XAttribute提供了读写xml文档的关键方法. 1. 使用linq to xml写xml: 使用XDocument的构造函数可以构造一个Xml文档对象:使用XElement对象可…
假定创建了XmlWriter的实例变量xmlWriter,下文中将使用此实例变量写Xml 1.如何使用XmlWriter写Xml文档声明 ? // WriteStartDocument方法可以接受一个bool参数(表示standalone,是否为独立文档)或者不指定参数standalone保持默认值 xmlWriter.WriteStartDocument(false|true); 注意在使用WriteStartDocument方法后最好调用xmlWrite.WriteEndDocument()…
XmlDocument和XElement在读取Xml时要将整个Xml文档放到内存中去操作,这样做操作简单,但是很费内存和IO(可能是磁盘IO或者网络IO):而在有些场景下我们必须考虑尽可能节省内存和IO的开销,这时候就该XmlReader和XmlWriter出场了. XmlReader读取Xml需要通过Read()实例方法,不断读取Xml文档中的声明,节点开始,节点内容,节点结束,以及空白等等,直到文档结束,Read()方法返回false. 如下读取Xml内容实例代码和注释说明 ? //玉开技术…
为什么要做序列化和反序列化? 一个回答: 我们都知道对象是不能在网络中直接传输的,不过还有补救的办法.XML(Extensible Markup Language)可扩展标记语言,本身就被设计用来存储数据,任何一个对象都可以用XML来描述.XML是可以作为对象信息的载体在网络中传输,因为它是文本形式的.怎么进行XML文档与对象的相互转换呢?XmlSerializer类就是干这个活的.命名空间:System.Xml.Serialization程序集:System.Xml(在 system.xml.…
前面几篇随笔的数据库增删改查操作都是在单表的操作上的,然而现实中不可能都是单表操作,更多的是多表操作,一对一,一对多,多对多的表结构才是我们经常需要处理的,本篇将带我们了解多表操作的一些相关操作.也会带着大家做一个简单的图书管理的小练习. 一.建表 本篇继续以图书管理的例子. 模型:书籍有书名.作者.出版日期.价格,出版社,一本书可能会有多个作者,一个作者也可以写多本书,所以作者和书籍的关系就是多对多的关联关系(many-to-many):一本书只应该由一个出版商出版,所以出版商和书籍是一对多关…