H.264/ACC音视频编码流的RTP/RTSP传输实现(4)

实时流协议RTSP

  RTSP[[[] Schulzrinne,H., Rao.Real time streaming protocol (RTSP) RFC 2326[J]. IETF .1998]]由RealNetworks、Netscape Communications和哥伦比亚大学共同开发而成。1998年5月,IETF作为建议标准发布。RTSP是从HTTP协议框架上继承而来,拥有着HTTP的大部分特性。RTSP(Real Time Stream Protocol,实时流协议)是应用级协议,控制实时数据的发送。RTSP提供了一个可扩展框架,可以建立、传输和控制一条或多条时间同步的媒体流,如音频流和视频流,使实时数据,如音频与视频的受控、点播成为可能。

  RTSP协议本身不传输连续的媒体流,还与媒体流交错传输控制流。对于多媒体服务器,RTSP 协议起着“网络远程控制”的作用。RTSP协议所控制的媒体流的集合,由一种称为“表示描述”的格式所定义,一般采用RFC2327中详细说明的会话描述协议SDP(Session Description Protocol)所定义的格式。

  RTSP中并没有“连接”(connection)的概念,服务器与客户机之间维持一个唯一标识的“会话”(Session)。这个会话是独立于传输层的,在一个会话中,客户端可以建立或取消多次和服务器之间的传输层的连接,来提交请求。

  RTSP协议为选择发送通道如UDP、多播UDP与TCP等提供途径,并为选择基于RTP的发送机制提供方法。

实时流协议(RTSP)建立并控制一个或几个时间同步的连续流媒体。RTSP本身通常并不发送连续媒体流。换言之,RTSP充当多媒体服务器的网络远程控制。

  RTSP实时流协议支持流媒体的操作有:

  1)检索媒体服务器上的媒体

  用户向媒体服务器可以通过 HTTP 或其它手段提交一个演示请求。若演示属于组播,则就包含用于连续媒体的组播地址和端口;若演示是单播发送到用户,则用户为了安全应该提供目的地址。

  2)邀请媒体服务器进入会议

  媒体服务器可以参加正在进行的会议,或记录其中的全部(或部分),或被邀请回放媒体。对于这种模式主要应用在分布式教育应用上,在会议中的几方可轮流进行远程控制。

  3)在现场直播或讲座中添加新媒体

  在现场直播或讲座中当有新的媒体加人时,媒体服务器则告诉用户有新的媒体加入,告知用户可以获取。

  在多媒体流传输的过程中,播放器和服务器之间通过交换RTSP消息来实现资源描述信息的获取、连接的建立、播放控制等功能。RTSP协议采用请求/应答模式,服务器与客户端的简单交互如图3-1所示。

           图3-1 RTSP交互过程示意图

  RTSP定义了OPTIONS、DESCRIBE、PLAY等命令方法用于服务器端与客户端的交互,为流媒体提供诸如播放、暂停、快进等远程控制功能,极大地丰富了流媒体的应用领域和实用范围。RTSP定义的方法如表3-3所示:

时间: 2024-10-12 20:48:51

H.264/ACC音视频编码流的RTP/RTSP传输实现(4)的相关文章

H.264/ACC音视频编码流的RTP/RTSP传输实现(1)

目标: 实现一个用于H.264/ACC音视频编码流的RTP/RTSP传输的简单服务器,主要通过此过程学习基于RTP的NAL.ADTS码流封装技术和基于RTSP的视频交互控制技术.完整系统应该包括服务器和客户端两个部分,其中服务器负责接收客户端请求.封包以及发送音视频数据,客户端负责发送请求和接收视频数据.分别在Windows平台上和Android平台上进行网络传输实体测试,通过客户端网络流抓包和播放器播放对系统进行进一步验证. 简介: 随着互联网和移动通信的飞速发展,H.264凭借其突出的编码效

H.264/ACC音视频编码流的RTP/RTSP传输实现(2)

H.264编码基本原理 为达到良好的编码效率及性能,H.264编码器采用的仍是变换和预测的混合编码法,[[[] 毕厚杰. 新一代视频压缩编码标准: H. 264/AVC[M]. 人民邮电出版社, 2005]]其完整的编码过程如图2-1所示. 在H.264编码标准中,输入的帧或场Fn是以宏块为单位进行处理的,采样后的视频图像都被分成16*16的宏块每个宏块包括1个亮度子块和2个8*8的色度子块.在分割宏块后,宏块按照相应次序进行编码器进行压缩编码.在H.264编码过程中,首先按照根据编码速率.编码

音视频编码基础知识

本文转载自 http://blog.csdn.net/ljzcom/article/details/7336258 ,如有需要,请移步查看. Technorati 标签: 音视频 编码 基础知识 --------------------------------分割线开始----------------------------------------------- 编解码学习笔记(一):基本概念 媒体业务是网络的主要业务之间.尤其移动互联网业务的兴起,在运营商和应用开发商中,媒体业务份量极重,其中

基于H.264协议的视频传输系统中遇到的问题以及解决办法

问题1.视频压缩解码模块在运用的时候出现错误:解码器再解码第二帧视频图片的时候出现异常 client: ../../decoder/T264dec.c:594:T264dec_decode_nal: Assertion `0' failed. Aborted 对于该问题的分析及解决过程为: 1.  修改数据类型,所有缓存区改为unsigned char类型(原来统一为char 类型),但是还是遇到一样的异常错误,问题没有解决. 2.  查看缓存区具体内容是否与服务器端压缩的数据是一致的的,对照数

全志Tina_dolphin播放音视频裸流(h264,pcm)验证

最近在验证tina对裸流音视频的支持,主要指h264视频裸流及pcm音频裸流. 在原始sdk中有针对很多video和audio类型的parser,但就是没有找到pcm和h264的parser,所以需要自己搞个parser,同时找到audio播放的的接口写个demo来验证. 所有支持解析类型的parser方法都在目录:/Homlet-Tina-H2_H3/package/allwinner/tina_multimedia/libcedarx/libcore/parser下 aac Android.

ffmpeg解码RTSP/TCP视频流H.264(QT界面显示视频画面)

我用的ffmpeg版本为 ffmpeg-2.1.8.tar.bz2 版本低了恐怕有些头文件和API找不到. 在Linux下解压后编译,Linux下编译很简单,我这里生成的动态库: ./configure –enable-shared make 就能找到各个so动态库文件. 移动位置后,记得手动链接 一下: ln -s libavcodec.so.55 libavcodec.so ln -s libavdevice.so.55 libavdevice.so ln -s libavfilter.so

调用FFmpeg SDK对H.264格式的视频压缩码流进行解码

由于作者不习惯该编辑器,只是将本文的截图贴了出来,详文见:https://www.yuque.com/docs/share/cce69b1b-b619-44b5-acd1-efa229d88627 原文地址:http://blog.51cto.com/4754569/2324664

音视频处理之编码介绍20180224

一.视频编码数据 1.概述 视频编码的主要作用是将视频像素数据(RGB,YUV等)压缩成为视频码流,从而降低视频的数据量.如果视频不经过压缩编码的话,体积通常是非常大的,一部电影可能就要上百G的空间.视频编码是视音频技术中最重要的技术之一.视频码流的数据量占了视音频总数据量的绝大部分.高效率的视频编码在同等的码率下,可以获得更高的视频质量. 视频编码的简单原理可以参考:视频压缩编码和音频压缩编码的基本原理 注:视频编码技术在整个视音频技术中应该是最复杂的技术.如果没有基础的话,可以先买一些书看一

H.264结构

1. H.264 H.264亦称为H.264/AVC(先进视频编码),由MPEG和ITU合作制定的视频编码标准.从原理上讲,H.264仍旧秉承传统混合编码架构,但由于在编码细节引入和诸多改进,将许多一直停留在纸上的技术如可变尺寸块的运动补偿.多参考帧预测等付诸实践,使编码效率得到了显著的提高,同时也大大增加了编解码器的复杂度和运算量.是由ITU-T视频编码专家组(VCEG)和ISO/IEC动态图像专家组(MPEG)联合组成的联合视频组(JVT,Joint Video Team)提出的高度压缩数字