技术标签: 音视频
分层
NAL 层(网络抽象层)用于网络传输的层
纠错、乱序、知道包的起始和结束
VCL层(视屏数据编码层)
视屏帧序列
一般一个图像一个slice, 但也可以一张图像可以分很多slice,方便传输。涉及到很多编码的东西。
一个视频有很多帧组成,帧是压缩后的图像。每个帧是由一个或多个slice组成,每个slice有多个宏块组成。
码流的基本概念
SODB 原始数据流,长度不一定是8的整数倍
RBSP 字节对齐流,SODB 字节流不对齐(8的整数倍)补1或补多个0
NALU
NAL Header(1B)+RBSP
Annexb 格式: 保存为文件格式,可以播放,startcode 每个NAL单元标志
RTP 格式:网络传输
总结:
1:一个NAL单元最多就一个slice(片),因为还有其他类型的NAL,
比如nal_unit_type字段的值为7时是表示sps序列参数集,
值为8时是表示PPS 图形参数集。
2、
H264的编码方式有两种:帧编码(Frame)和场编码(Interlace)
其中,帧编码一般一个NAL单元就一个图像Slice,场编码则由顶场和底场构成,
每个NAL单元可能包含多个图像SLICE片,也有可能就一个,但只有同一个Frame_Num的顶场和底场,
才能构成一幅完整图像。
因此,一帧不一定就是一个NAL单元,一帧可能有多个NAL单元组成。
一帧里面可能有多个NAL单元(也就是slice)。
3、NAL单元的头信息中的nal_unit_type字段我们能知道当前类型是sps,pps和IDR类型。
4、slice 片的头部信息可以判断帧类型
5、判断IDR、I、P、B的类型,就是通过SLICE_HEADER的信息来看,看它的SLICE_TYPE是哪种
6、对于H.264来说1个AVPacket的data通常对应一个NAL。
启发式算法 (Heuristic Algorithms) 是基于直观或经验构造的算法,在可接受的花费 (指计算时间、占用空间等) 下给出待解决组合优化问题每一个实例的一个可行解,该可行解与最优解的偏离程度不一定事先可以预计。元启发式算法 (Meta-Heuristic Algorithms) 是启发式算法的改进,通常使用随机搜索技巧,可以应用在非常广泛的问题上,但不能保证效率。超启发式算法 (Hyper-Heuristic Algorithms) 提供了一种高层次启发式方法,通过管理或操纵一
深度栗 编译整理量子位 报道 | 公众号 QbitAI深度学习的世界,风云变幻。五年前,还是Theano称霸的天下,如今完全不一样的了。所以,一个叫Jeff Hale的数...
介绍NVIDIA 深度学习学院聚焦于人工智能和深度学习,致力于在全世界范围内提供支持,解决最具挑战性的问题。通过线上自主学习,或者线下由NVIDIA 认证的讲师来教授的培训课程,我们可以帮助开发者、数据科学家、工程师和研究人员开启训练、优化和部署神经网络,从而解决多种学科方面的现实问题,例如计算机视觉、自然语言处理、自动驾驶、医疗和机器人等。NVIDIA 深度学习培训自2017年三月份在国内开启以
本帖最后由 zhipengw 于 2017-10-17 20:13 编辑wdcp自带的Apache 2.2.24 没有ssl组件,需要安装mod_ssl.so,然后设置调用,论坛中找到Apache 2.2.22的配置方法,但是没找到Apache 2.2.24的mod_ssl.so的安装文件,如果使用云在线安装(yum -y install mod_ssl),则配置好的网址无法正常访问;请问如何让A...
关于在linux上面安装Oracle10g,网上资料很多,但很多说的比较简略,笔者根据自己的安装经历,详细记录说明,供大家参考。 用户和用户组创建资料建议在安装oracle时创建两个 unix 用户组oinstall组、dba组和一个运行时的oracle 用户。具体命令如下#addgroup oinstall#addgroup dba#useradd -g oins
今天看到个知识点,如何后台保证service存活**1**onStartCommand方法,返回START_STICKY2提升service优先级AndroidManifest.xml文件中对于intent-filter可以通过android:priority = “1000”3提升service进程优先级 Android中的进程是托管的,当系统进程空间紧张的时候,会依照优先级自动进行进程的回收。A
Glide的三级缓存有了解过么?先来了解一下我们常说的图片三级缓存一般是强引用,软引用和文件系统,Android系统中提供了LruCache,通过维护一个LinkedHashMap来保存我们需要的各种类型数据,例如我们这里需要的Bitmap。LruCache一般我们会设置为系统最大存储空间的八分之一,而它的机制就是我们常说的最近最少使用原则,如果Lru中的图片大小超过了默认大小,则会把最久使用的图片移除。当图片被Lru移除时,我们需要手动将图片添加到软引用(SoftRefrence)中。需要维护.
众所周知,我们经常在脚本中创建一些对象来实现某些特定的功能。尤其是当我们使用QTP的描述性编程时,需要创建这些对象。下边是我们经常在QTP或VBScript中用到的对象列表:Set objEmail = CreateObject("CDO.Message" )Set objIE = CreateObject("InternetExplorer.Application" )
Google知识图谱--数据建设篇 - 简书
1.带参数路由routers:[ {path:'/user/:id',name:'user',component:User}]使用参数:$router.params.id2.两个路由都渲染同个组件复用组件时,想对路由参数的变化作出响应,watch (监测变化) watch{ 'route'(to,from){ }}或者使用beforeRouteUpdate (目标路由和当前路由相同,只是...
类主体:/** * Created by XQ Yang on 2017-3-8 15:30:05 * Description : 带有搜索和排序功能的adapter */public abstract class SortFilterRVAdapter extends BaseRecyclerViewAdapter implements MyFilterable { pr
在接收到的所有PADO报文中,PPPoE客户端选择最先收到的PADO报文对应的PPPoE服务器,并发送一个PADR报文给这个服务器。在众多的接入技术中,把多个主机连接到接入设备的最经济的方法就是以太网,而PPP协议可以提供良好的访问控制和计费功能,于是产生了在以太网上传输PPP报文的技术,即PPPoE。PADR(PPPoE Active Discovery Request)报文:用户主机收到PPPoE服务器回应的PADO报文后,单播发起的请求报文,目的地址为此用户选定的那个PPPoE服务器的MAC地址。