H264
文章平均质量分 56
wh8_2011
这个作者很懒,什么都没留下…
展开
-
H264中的SPS、PPS提取与作用
牛逼的视频会议网站:http://wmnmtm.blog.163.com/blog/#m=0++++++++++++++++++++++++++++++++++++++++++++++++++++http://wmnmtm.blog.163.com/blog/static/38245714201192491746701/使用RTP传输H264的时候,需要用到sdp协议描转载 2015-10-10 10:57:27 · 780 阅读 · 0 评论 -
H264格式
名词解释场和帧 : 视频的一场或一帧可用来产生一个编码图像。在电视中,为减少大面积闪烁现象,把一帧分成两个隔行的场。片: 每个图象中,若干宏块被排列成片的形式。片分为I片、B片、P片和其他一些片。 I片只包含I宏块,P片可包含P和I宏块,而B片可包含B和I宏块。转载 2015-11-26 17:25:15 · 609 阅读 · 0 评论 -
关于发送H264 sdp里的
虽然看到论坛有很多人问过,但我还是不明白。。。。一、开始我没有在sdp里加到那两个参数(简单的只是sprop- parameter-sets=H264),发送的h264流是这样是,它是一开始编码才有sps和pps ,之后就没有了,所以是当vlc断开再连接时,我在服务器发送第一个包是加上pps和sps,vcl播放流畅。二、要实现组播,我在sdp里加上 sprop-parameter-se转载 2015-11-27 14:43:39 · 1248 阅读 · 0 评论 -
YUV格式分析
在摄像头之类编程经常是会碰到YUV格式,而非大家比较熟悉的RGB格式. 我们可以把YUV看成是一个RGB的变种来理解. YUV的原理是把亮度与色度分离,研究证明,人眼对亮度的敏感超过色度。利用这个原理,可以把色度信息减少一点,人眼也无法查觉这一点。 YUV三个字母中,其中"Y"表示明亮度(Lumina nce或Luma),也就是灰阶值;而"U"和"V"转载 2016-01-21 11:58:06 · 388 阅读 · 0 评论 -
rtp h264注意点(FU-A分包方式说明)
之前写过一篇文章,分析了h264使用rtp进行封包的格式介绍:RTP封装h264。但里面好像没有把拆分以及一些需要注意的情况说清楚,因此这里做补充,也作为自己的备忘(自己记性好像不太好)。关于时间戳,需要注意的是h264的采样率为90000HZ,因此时间戳的单位为1(秒)/90000,因此如果当前视频帧率为25fps,那时间戳间隔或者说增量应该为3600,如果帧率为30fps,则增转载 2015-12-06 18:28:20 · 658 阅读 · 0 评论 -
RTP 包格式 详细解析
H.264 视频 RTP 负载格式1. 网络抽象层单元类型 (NALU)NALU 头由一个字节组成, 它的语法如下: +---------------+ |0|1|2|3|4|5|6|7| +-+-+-+-+-+-+-+-+ |F|NRI| Type | +---------------+F:转载 2015-12-06 18:24:48 · 1206 阅读 · 0 评论 -
H.264中的NAL单元类型 nal_unit_type
nal_unit_typeNAL 单元和 RBSP 语法结构的内容 0未指定 1一个非IDR图像的编码条带 slice_layer_without_partitioning_rbsp( ) 2编码条带数据分割块A slice_data_partition_a_layer_rbsp( ) 3编码条带转载 2015-12-06 18:27:00 · 2689 阅读 · 0 评论 -
RTP 问题汇总
视频网络传输一定要用rtp吗?RTP/RTCP有一套很好的反馈机制,通过其可以估算网络状况,然后在编码端进行调整,如网络繁忙时适当的降低画面质量,减小码率等,主要是想通过RTP/RTCP协议实现QoS!同时也可以用http或udp啊,都可以的,自己再加一些控制信息。利用rtp/rtcp的好处是这个协议本身帮你加入了 一些控制信息。相信有不少人和我一样,希望实现H264格式视频的流媒转载 2015-12-06 18:29:36 · 1357 阅读 · 0 评论 -
wireshark解析rtp协议,流媒体中的AMR/H263/H264包的方法
抓到完整的流媒体包之后,用wireshark打开,其中的包可能不会自动映射成RTP+AMR/H263/H264的包,做如下修改操作即可:1. 把UDP 包解析成RTP/RTCP包。选中UDP包,右键,选择Decode As,选RTP2. 把RTP Payload映射成实际的媒体格式。首先查看RTSP中的SDP的payload_type,比如96是H263,97是AMR。那么点击菜单Ed转载 2016-01-28 14:46:56 · 3253 阅读 · 0 评论 -
H264--1--编码原理以及I帧B帧P帧
H264是新一代的编码标准,以高压缩高质量和支持多种网络的流媒体传输著称,在编码方面,我理解的他的理论依据是:参照一段时间内图像的统计结果表明,在相邻几幅图像画面中,一般有差别的像素只有10%以内的点,亮度差值变化不超过2%,而色度差值的变化只有1%以内。所以对于一段变化不大图像画面,我们可以先编码出一个完整的图像帧A,随后的B帧就不编码全部图像,只写入与A帧的差别,这样B帧的大小就只有完整帧的1转载 2016-02-23 16:26:39 · 631 阅读 · 0 评论 -
实现RTP协议的H.264视频传输系统
1. 引言 随着信息产业的发展,人们对信息资源的要求已经逐渐由文字和图片过渡到音频和视频,并越来越强调获取资源的实时性和互动性。但人们又面临着另外一种不可避免的尴尬,就是在网络上看到生动清晰的媒体演示的同时,不得不为等待传输文件而花费大量时间。为了解决这个矛盾,一种新的媒体技术应运而生,这就是流媒体技术。流媒体由于具有启动时延小、节省客户端存储空间等优势,逐渐成为人们的首选,流媒转载 2016-02-23 16:27:40 · 500 阅读 · 0 评论 -
h264 NAL头解析
NAL全称Network Abstract Layer,即网络抽象层。在H.264/AVC视频编码标准中,整个系统框架被分为了两个层面:视频编码层面(VCL)和网络抽象层面(NAL)。其中,前者负责有效表示视频数据的内容,而后者则负责格式化数据并提供头信息,以保证数据适合各种信道和存储介质上的传输。NAL单元是NAL的基本语法结构,它包含一个字节的头信息和一系列来自VCL的称为原始字节序列载荷(R转载 2016-04-06 19:35:52 · 970 阅读 · 0 评论 -
H264--1--编码原理以及I帧B帧P帧、pts&dts
----------------------前言----------------------- H264是新一代的编码标准,以高压缩高质量和支持多种网络的流媒体传输著称,在编码方面,我理解的他的理论依据是:参照一段时间内图像的统计结果表明,在相邻几幅图像画面中,一般有差别的像素只有10%以内的点,亮度差值变化不超过2%,而色度差值的变化只有1%以内。所以对于转载 2016-04-15 17:07:06 · 1297 阅读 · 0 评论 -
如何在H264数据中获取PTS?
序:只大概说明要点。更具体的方法恕不祥叙。我的开源工程和很多开源项目都有详细完整的实现代码。这些要点都是我自己学习的总结,无责任保证正确性。仅做参考。如发现有问题请丢砖头,跪求各方高人指正错误。Orz内容:H264的ES原始数据一般是以NAL(Network Abstract Layer)的格式存在。可以直接用于文件存储和网络传输。每一个NALU(Netwo转载 2016-04-15 17:22:21 · 1505 阅读 · 0 评论 -
H.264的Slice及Slice类型
一、基本概念一个视频图像可编码成一个或更多个条带,每个条带包含整数个宏块(MB),即每个条带至少一个MB,最多时每个条带包含整个图像的宏块。总之,一幅图像中每个条带的宏块数不一定固定。设条带的目的是为了限制误码的扩散和传输,应使编码条带相互间是独立的。某个条带的预测不能以其它条带中的宏块为参考图像,这样某一条带中的预测误差才不会传播到其它条带中去。Slice的类型如表1所示转载 2016-04-15 17:24:09 · 10014 阅读 · 1 评论 -
RTP协议全解(H264码流和PS流)
在前面:RTP的解析,网上找了很多资料,但是都不全,所以我力图整理出一个比较全面的解析,其中借鉴了很多文章,我都列在了文章最后,在此表示感谢。互联网的发展离不开大家的无私奉献,我决定从我做起,希望大家支持。原创不易,转载请附上链接,谢谢http://blog.csdn.net/chen495810242/article/details/39207305 1、RT转载 2016-06-28 18:21:21 · 767 阅读 · 0 评论 -
h264 流、帧结构
H264元素的分层结构H.264编码器输出的Bit流中,每个Bit都隶属于某个句法元素。句法元素被组织成有层次的结构,分别描述各个层次的信息。 在H.264 中,句法元素共被组织成 序列、图像、片、宏块、子宏块五个层次。在这样的结构中,每一层的头部和它的数据部分形成管理与被管理的强依赖关系,头部的句法元素是该层数据的核心,而一旦头部丢失,数据部分的信息几转载 2016-06-28 18:55:42 · 1259 阅读 · 0 评论 -
RTP包里面得到H.264数据和AAC数据的方法
RFC3984是H.264的baseline码流在RTP方式下传输的规范,这里只讨论FU-A分包方式,以及从RTP包里面得到H.264数据和AAC数据的方法。 1、单个NAL包单元 12字节的RTP头后面的就是音视频数据,比较简单。一个封装单个NAL单元包到RTP的NAL单元流的RTP序号必须符合NAL单元的解码顺序。 2、FU-A的分片格式转载 2016-07-11 11:05:20 · 3877 阅读 · 1 评论 -
基于RTP的H264视频数据打包解包类
from:http://blog.csdn.net/dengzikun/article/details/5807694最近考虑使用RTP替换原有的高清视频传输协议,遂上网查找有关H264视频RTP打包、解包的文档和代码。功夫不负有心人,找到不少有价值的文档和代码。参考这些资料,写了H264 RTP打包类、解包类,实现了单个NAL单元包和FU_A分片单元包。对于丢包处理,采用简单的策略:丢弃转载 2016-07-11 11:08:30 · 2280 阅读 · 0 评论 -
h264 图像、帧、片、NALU
H.264 是一次概念的革新,它打破常规,完全没有 I 帧、P帧、B 帧的概念,也没有 IDR帧的概念。对于 H.264中出现的一些概念从大到小排序依次是:序列、图像、片组、片、NALU、宏块、亚宏块、块、像素。这里有几点值得说明:(1)、在 H.264协议中图像是个集合概念,顶场、底场、帧都可以称为图像(本文图像概念时都是集合概念)。因此我们可以知道,对于H.264 协议来说,我们平常所熟悉转载 2016-06-29 18:23:36 · 1442 阅读 · 0 评论 -
H264 视频文件 帧格式
rfc3984Standards Track [Page 2] RFC 3984 RTP Payload Format for H.264 Video February 2005 1.按照RFC3984协议实现H264视频流媒体nalu单元 包起始 0x 00 00 00 01H.264 NAL格式及分析器http://hi.baidu.com/zsw_davy/b .转载 2016-06-29 18:46:39 · 6015 阅读 · 0 评论 -
H264码流解析及NALU
ffmpeg 从mp4上提取H264的naluhttp://blog.csdn.net/gavinr/article/details/7183499639 /* bitstream filters */640 REGISTER_BSF(AAC_ADTSTOASC, aac_adtstoasc);641 REGISTER_BSF(CHO转载 2016-07-12 11:59:10 · 7161 阅读 · 2 评论 -
YUV格式分析详解
YUV格式分析详解一,YUV含义 YUV格式通常有两大类:打包(packed)格式和平面(planar)格式。前者将YUV分量存放在同一个数组中,通常是几个相邻的像素组成一个宏像素(macro-pixel);而后者使用三个数组分开存放YUV三个分量,就像是一个三维平面一样。 在摄像头之类编程经常是会碰到YUV格式,而非大家比较熟悉的RGB格式. 我们可以把转载 2016-07-26 13:53:09 · 934 阅读 · 0 评论 -
H264的RTP负载打包的数据包格式,分组,分片
H264的RTP负载打包的数据包格式,分组,分片 1. RTP数据包格式RTP报文头格式(见RFC3550 Page12): 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 12 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+转载 2016-07-26 13:57:54 · 924 阅读 · 0 评论 -
I,P,B帧和PTS,DTS的关系,GOP相关
I,P,B帧和PTS,DTS的关系,GOP相关 I frame :帧内编码帧 又称intra picture,I 帧通常是每个 GOP(MPEG 所使用的一种视频压缩技术)的第一个帧,经过适度地压缩,做为随机访问的参考点,可以当成图象。I帧可以看成是一个图像经过压缩后的产物。P frame: 前向预测编码帧 又称predictive-frame,通过充分将低于图像序列转载 2016-07-26 14:07:13 · 656 阅读 · 0 评论 -
ITU-R BT.656 , 帧 , 场 === 模拟视频信号采集的处理,以及奇偶场
TU-R BT.656 , 帧 , 场 === 模拟视频信号采集的处理,以及奇偶场 (自己整理过的........内容源自网络.)一,ITU-R BT.656ITU-R BT.656 8/10位数据传输;不需要同步信号;串行数据传输;传输速率是601的2倍;先传Y,后传UV。行场同步信号嵌入在数据流中。包含三部分 :①:视频信号 ②:定时基准信号转载 2016-07-26 14:10:26 · 2844 阅读 · 0 评论 -
详解YUV数据格式
YUV格式有两大类:planar和packed。对于planar的YUV格式,先连续存储所有像素点的Y,紧接着存储所有像素点的U,随后是所有像素点的V。对于packed的YUV格式,每个像素点的Y,U,V是连续交*存储的。 YUV,分为三个分量,“Y”表示明亮度(Luminance或Luma),也就是灰度值;而“U”和“V” 表示的则是色度(Chrominance或Chro转载 2016-07-26 15:22:24 · 653 阅读 · 0 评论 -
FFMPEG 实现 YUV,RGB各种图像原始数据之间的转换(swscale)
FFMPEG中的swscale提供了视频原始数据(YUV420,YUV422,YUV444,RGB24...)之间的转换,分辨率变换等操作,使用起来十分方便,在这里记录一下它的用法。swscale主要用于在2个AVFrame之间进行转换。下面来看一个视频解码的简单例子,这个程序完成了对"北京移动开发者大会茶歇视频2.flv"(其实就是优酷上的一个普通视频)的解码工作,并将解码后的数转载 2016-07-26 18:39:44 · 1763 阅读 · 0 评论 -
H264--NAL层的处理--3
------------------------------H.264的NAL层处理------------------------------H264以NALU(NAL unit)为单位来支持编码数据在基于分组交换技术网络中传输。NALU定义了可用于基于分组和基于比特流系统的基本格式,同时给出头信息,从而提供了视频编码和外部世界的接口。H264编码转载 2016-07-06 18:28:51 · 319 阅读 · 0 评论 -
H264--语法及结构--2
---------------前言-------------H264结构中,一个视频图像编码后的数据叫做一帧,一帧由一个片(slice)或多个片组成,一个片由一个或多个宏块(MB)组成,一个宏块由16x16的yuv数据组成。宏块作为H264编码的基本单位。-------------------------名词解释---------------------转载 2016-07-06 18:29:49 · 370 阅读 · 0 评论 -
H264--编码原理以及I帧B帧P帧--1
-----------------------前言-----------------------H264是新一代的编码标准,以高压缩高质量和支持多种网络的流媒体传输著称,在编码方面,我理解的他的理论依据是:参照一段时间内图像的统计结果表明,在相邻几幅图像画面中,一般有差别的像素只有10%以内的点,亮度差值变化不超过2%,而色度差值的变化只有1%以内。所以对于一段变化不大图像画面,我们可转载 2016-07-06 18:30:32 · 667 阅读 · 0 评论 -
H.264RTP封包原理
1.引言随着信息产业的发展,人们对信息资源的要求已经逐渐由文字和图片过渡到音频和视频,并越来越强调获取资源的实时性和互动性。但人们又面临着另外一种不可避免的尴尬,就是在网络上看到生动清晰的媒体演示的同时,不得不为等待传输文件而花费大量时间。为了解决这个矛盾,一种新的媒体技术应运而生,这就是流媒体技术。流媒体由于具有启动时延小、节省客户端存储空间等优势,逐渐成为人们的首选,流媒体网络应用也在全球转载 2016-07-06 18:32:08 · 649 阅读 · 0 评论 -
H264—MP4格式及在MP4文件中提取H264的SPS、PPS及码流
一、MP4格式基本概念MP4格式对应标准MPEG-4标准(ISO/IEC14496)二、MP4封装格式核心概念1 MP4封装格式对应标准为 ISO/IEC 14496-12(信息技术 视听对象编码的第12部分: ISO 基本媒体文件格式/Information technology Coding of audio-visual objects Part 12:转载 2016-07-06 18:33:20 · 2353 阅读 · 0 评论 -
H264--H264编码--4
---------------------------------编码器输出格式----------------------------------总的来说H264的码流的打包方式有两种,一种为annex-b byte stream format的格式,这个是绝大部分编码器的默认输出格式,就是每个帧的开头的3~4个字节是H264的start_code,0x00000001或转载 2016-07-06 18:34:45 · 1756 阅读 · 0 评论 -
C++实现RTMP协议发送H.264编码及AAC编码的音视频,摄像头直播
C++实现RTMP协议发送H.264编码及AAC编码的音视频 RTMP(Real Time Messaging Protocol)是专门用来传输音视频数据的流媒体协议,最初由Macromedia 公司创建,后来归Adobe公司所有,是一种私有协议,主要用来联系Flash Player和RtmpServer,如FMS, Red5, crtmpserver等。RTMP协议可用于实现转载 2016-07-06 18:37:22 · 930 阅读 · 0 评论 -
H.264码流解析 一个SPS的nalu及获取视频的分辨率
00 00 00 01 67 42 00 28 E9 00 A0 0B 77 FE 00 02 00 03 C4 80 00 00 03 00 80 00 00 1A 4D 88 10 94 00 00 00 0100 00 00 01为NALu头,其余码流由十六进制转为二进制 67 0110 011142 0100 001000 0000 0000转载 2016-07-07 11:28:29 · 1459 阅读 · 0 评论 -
用实例分析H264 RTP payload
H264的RTP中有三种不同的基本负载(Single NAL,Non-interleaved,Interleaved)应用程序可以使用第一个字节来识别。 在SDP中也说明了本次会话的属性SDP 参数 下面描述了如何在 SDP 中表示一个 H.264 流:. "m=" 行中的媒体名必须是 "video". "a=rtpmap" 行中的编码名称必须是 "H2转载 2016-08-17 20:10:00 · 881 阅读 · 0 评论 -
yuv420和yuv420p的区别
YV12和I420的区别 一般来说,直接采集到的视频数据是RGB24的格式,RGB24一帧的大小size=width×heigth×3 Bit,RGB32的size=width×heigth×4,如果是I420(即YUV标准格式4:2:0)的数据量是 size=width×heigth×1.5 Bit。 在采集到RGB24数据后,需要对这个格式的数据进行第一次压缩。即转载 2016-08-09 15:10:50 · 8148 阅读 · 1 评论 -
ffmpeg中的时间单位
视频的显示和存放原理对于一个电影,帧是这样来显示的:I B B P。现在我们需要在显示B帧之前知道P帧中的信息。因此,帧可能会按照这样的方式来存储:IPBB。这就是为什么我们会有一个解码时间戳和一个显示时间戳的原因。解码时间戳告诉我们什么时候需要解码,显示时间戳告诉我们什么时候需要显示。所以,在这种情况下,我们的流可以是这样的:PTS: 1 4 2 3DTS: 1 2 3 4Str转载 2016-08-10 10:57:25 · 8500 阅读 · 1 评论 -
如何获取h.264码流的码率和帧率
如果是对一个码流文件计算码率,那么先解码得到总帧数,然后看文件有多大。这样,有了总比特数(即文件大小)、总帧数和帧率,就可以算码率了。H.264码流中一般没有帧率,比特率信息到使可以得到,你参考吗流语法,但是有的吗流有VUI信息,他里面有个标志 timing_info_present_flag 若等于1,则码流中有num_units_in_tick 和 time_scale。fra转载 2016-08-10 18:56:57 · 3634 阅读 · 0 评论