实时流媒体
文章平均质量分 69
Season_hangzhou
这个作者很懒,什么都没留下…
展开
-
ISO/IEC13818-1 TS 格式
bslbf代表位串,即“Bit string, left bit first ”,uimsbf代表无符号整数,即”unsinged integer, most significant bit first”,数字表示该数据项所占的比特数又一解释:bslbf (bit string, left bit first) 比特串,左位在先uimsbf (unsigned integer,m转载 2013-02-21 15:40:36 · 6866 阅读 · 0 评论 -
解析RTP流for mpeg4
#include #include #include #include #include #include #include #include #include #define Printval(x) \ printf("[%s][%s:%d]:%s=%d\n", __FILE__, __FUNCTION__, __LINE__, #x, (int)x)typedef c原创 2014-03-11 09:44:15 · 2103 阅读 · 0 评论 -
RTP封装h264
网络抽象层单元类型 (NALU):NALU头由一个字节组成,它的语法如下: +---------------+ |0|1|2|3|4|5|6|7| +-+-+-+-+-+-+-+-+ |F|NRI| Type | +---------------+F: 1个比特. forbidden_zero_b转载 2014-03-11 10:53:06 · 897 阅读 · 0 评论 -
将es打包成pes时,处理PTS和DTS的方法
PES包格式:其中PTS/DTS标志位的意义为:0x01:表示pes包头长度后面跟一个DTS数据(一个DTS或PTS的长度为5个字节。)0x02:表示pes包头长度后面跟一个PTS数据0x03:表示pes包头长度后面跟一个PTS数据和一个DTS数据。代码:pes_head_buf[7] = (0x2原创 2014-02-14 16:49:00 · 6280 阅读 · 0 评论 -
PS结构-提取数据帧
PS结构-提取数据帧:数据:高位在前,低位在后。1、初始化。 设置VFRAM最大为1M,AFRAM最大为20K,搜索最大为200K; 设置VPTS及APTS为7FFFFFFFFFFFFFFF;2、判断是否PS数据。 读200K数据,找到0x000001BC,随后,第1、2字节为此命令段长度; 第3字节&0x60=0x60,第4字节&0xFF=转载 2014-08-22 15:18:47 · 1769 阅读 · 0 评论 -
MPEG2-PS格式分析实例
一、 PS 包头格式1、PS 包头格式包起始码字段 pack_start_code 值为'0000 0000 0000 00000000 0001 1011 1010' (0x000001BA)的位串,用来标志一个包的开始。系统时钟参考字段 system_clock_reference_base,system_clock_reference_extenstio原创 2015-09-28 18:21:28 · 4940 阅读 · 1 评论 -
linux下用live555进行二次开发指南
一、live555源码下载地址最新代码下载:http://www.live555.com/liveMedia/public/live555-latest.tar.gz二、编译源码过程对于移植进行二次开发者,其实用它编译出的可执行文件是不会去用的,但是看编译过程可以帮助理解live555的架构。还有,看makefile里面的编译宏对我们开发也有帮助。在linux下,我们使用命原创 2016-03-22 19:30:10 · 3715 阅读 · 0 评论 -
h264协议帧头数据解析
h264常见的帧头数据为:00 00 00 01 67 (SPS)00 00 00 01 68 (PPS)00 00 00 01 65 ( IDR 帧)00 00 00 01 61 (P帧)等等,那么他们代表的意思是什么呢?一、start codestart code有两种,四个字节的“00 00 00 01”和三个字节的“00 00原创 2016-04-11 18:37:14 · 21250 阅读 · 0 评论 -
基于h264的SDP相关字段解析
H264的RTP中有三种不同的基本负载(Single NAL,Non-interleaved,Interleaved)应用程序可以使用第一个字节来识别。 在SDP中也说明了本次会话的属性SDP 参数 下面描述了如何在 SDP 中表示一个 H.264 流:. "m=" 行中的媒体名必须是 "video". "a=rtpmap" 行中的编码名称必须是 "H2转载 2016-04-11 18:51:51 · 2069 阅读 · 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转载 2017-02-09 20:10:11 · 1838 阅读 · 0 评论 -
AAC经过RTP格式封装后的格式。
AAC封装RTP比较简单将AAC的ADTS头去掉12字节RTP头后紧跟着2个字节的AU_HEADER_LENGTH,然后是2字节的AU_HEADER(2 bytes: 13 bits = length of frame, 3 bits = AU-Index(-delta))),之后就是AAC payload。所以要得到AACpayloadpayLen= (UINT16)usAu转载 2014-02-13 16:50:45 · 5551 阅读 · 0 评论 -
SDP文件中 音视频config描述符的解析
SDP文件节选:m=video 0 RTP/AVP 96a=rtpmap:96 MP4V-ES/90000a=control:trackID=0a=mpeg4-esid:1a=fmtp:96 profile-level-id=1; config=000001B0F4000001B50900000100000001200086C400670C5A1120518F;m=audi原创 2014-01-28 15:45:52 · 7523 阅读 · 0 评论 -
aac mpeg2-adts header 分析
参考文档 ISO/IEC 13818-7简述了adts,由mpeg2标准中产生,后mpeg4也采纳并修订,是Audio Data Transport Stream的英文缩写.结构其实非常简单,7个字节的header,然后是数据,然后有是7字节header,然后是数据,,,,重点在header,数据是encoder层级的,暂时不关注.header包括两部分,先是Fixed Heade转载 2014-01-27 16:16:31 · 1365 阅读 · 0 评论 -
RTP协议分析
概述:实时传送协议(Real-time Transport Protocol或简写RTP,也可以写成RTTP)是一个网络传输协议,它是由IETF的多媒体传输工作小组1996年在RFC 1889中公布的。RTP协议详细说明了在互联网上传递音频和视频的标准数据包格式。它一开始被设计为一个多播协议,但后来被用在很多单播应用中。RTP协议常用于流媒体系统(配合RTCP协议或者RTSP协议)。因为R转载 2013-02-22 10:10:58 · 589 阅读 · 0 评论 -
SDP(Session Description Protocol会话描述协议)
SDP 文本信息包括:会话名称和意图;会话持续时间;构成会话的媒体;有关接收媒体的信息(地址等)。协议结构SDP 信息是文本信息,采用 UTF-8 编 码中的 ISO 10646 字符集。SDP 会话描述如下:(标注 * 符号的表示可选字段):v = (协议版本)o = (所有者/创建者和会话标识符)s = (会话名称)i = * (会话信息)转载 2013-03-01 17:12:54 · 979 阅读 · 0 评论 -
网站性能提升20倍之经验谈
问题是什么?当时,该网站通过RTMP(Real Time Messaging protocol)协议响应对色情流媒体的请求。更具体地说,它使用了Adobe的FMS(Flash Media Server)技术为用户提供实时流媒体。基本过程是这样的:用户请求访问某个实时流媒体服务器通过一个RTMP session响应,播放请求的视频片段因为某些原因,FMS对我们并不是一个好的选择,首先转载 2013-05-10 18:47:50 · 901 阅读 · 0 评论 -
对RTSP中的SDP的解析例子
RTSP/1.0 200 OK\nServer: QTSS(IFI)/v88\nCseq: 1\nContent-Type: application/sdp\nContent-Base: rtsp://bildeus.ifi.uio.no:8000/12.sdp/\nContent-length: 785\n\nn=2236805513 2236805513 93203转载 2013-06-04 14:44:41 · 6257 阅读 · 0 评论 -
RTP学习笔记(还在持续更新中)
1、通过RTP over TCP的方式得到RTP包,在setup阶段会看到Transport: MP2T/TCP;interleaved=0-1解释下interleaved,因为采用TCP方式传送,所以传送的RTP,RTCP包都在同一个链路上,需要区分,所以有了interleaved,0表示是RTP的通道,1表示是RTCP的通道.体现在包上面就是在RTP,RTCP包上封装了一层interl原创 2013-06-04 15:21:58 · 1435 阅读 · 0 评论 -
谈谈RTP传输中的负载类型和时间戳
http://ticktick.blog.51cto.com/823160/350142转载 2014-01-06 13:55:46 · 1258 阅读 · 0 评论 -
对 I帧、P帧、B帧 的说明
1.I、P、B帧概念简述视频压缩中,每帧代表一幅静止的图像。而在实际压缩时,会采取各种算法减少数据的容量,其中IPB就是最常见的。简单地说,I帧是关键帧,属于帧内压缩,解码时单独的该帧便可完成解码;P帧为向前预测编码帧,即P帧解码时需要参考前面相关帧的信息才能解码;B帧为双向预测编码帧,解码时既需要参考前面已有的帧又需要参考后面待解码的帧;他们都是基于I帧来压缩数据。I帧表示关键帧,I帧画转载 2014-01-26 15:32:49 · 1784 阅读 · 0 评论 -
MPEG4码流分析(1)
先推荐一个非常好用的码流分析工具:Elecard Stream Analyzer。分析结果可以在图片中看到。 第一步,先说说如何对获得MPEG-4编码的视频。我的方法是从纯视频格式(.yuv)利用软件ffmpeg经过MPEG-4编码得到.m4v文件,这个文件就是我们所需要分析的文件。 第二步,得到MPEG-4编码的视频后,我们就可以根据图中所示的文件结构再利用ultraed转载 2014-01-26 19:13:40 · 2001 阅读 · 0 评论 -
SDP 协议分析
一、SDP协议介绍SDP 完全是一种会话描述格式 ― 它不属于传输协议 ― 它只使用不同的适当的传输协议,包括会话通知协议(SAP)、会话初始协议(SIP)、实时流协议(RTSP)、MIME 扩展协议的电子邮件以及超文本传输协议(HTTP)。SDP协议是也是基于文本的协议,这样就能保证协议的可扩展性比较强,这样就使其具有广泛的应用范围。SDP 不支持会话内容或媒体编码的协商,所以在流媒转载 2014-01-28 16:11:49 · 1060 阅读 · 0 评论 -
FLV文件格式解析
flv文件主要由两部分组成:header和body。1.headerheader部分记录了flv的类型、版本等信息,是flv的开头,一般都差不多,占9bytes。具体格式如下:文件类型3 bytes“FLV”版本1 byte一般为0x01流信息1 byte倒数第一位是1表示有视频转载 2017-03-21 10:53:10 · 1079 阅读 · 0 评论