Android手机直播之打包技术原理
视音频在传输过程中需要定义相应的格式,这样传输到对端的时候才能正确地被解析出来。
1、HTTP-FLV
Web 2.0时代,要说什么类型网站最火,自然是以国外的Youtube,国内的优酷、土豆网站了。这类网站提供的视频内容可谓各有千秋,但它们无一例外的都使用了Flash作为视频播放载体,支撑这些视频网站的技术基础就是——Flash 视频(FLV) 。FLV 是一种全新的流媒体视频格式,它利用了网页上广泛使用的Flash Player 平台,将视频整合到Flash动画中。也就是说,网站的访问者只要能看Flash动画,自然也能看FLV格式视频,而无需再额外安装其它视频插件,FLV视频的使用给视频传播带来了极大便利。
HTTP-FLV即将音视频数据封装成FLV,然后通过HTTP协议传输给客户端。而作为上传端只需要将FLV格式的视音频传输到服务器端即可。
一般来说FLV格式的视音频,里面视频一般使用h264格式,而音频一般使用AAC-LC格式。
FLV格式是先传输FLV头信息,然后传输带有视音频参数的元数据(Metadata),然后传输视音频的参数信息,然后传输视音频数据。
2、RTMP
RTMP是Real Time Messaging Protocol(实时消息传输协议)的首字母缩写。该协议基于TCP,是一个协议簇,包括RTMP基本协议及RTMPT/RTMPS/RTMPE等多种变种。RTMP是一种设计用来进行实时数据通信的网络协议,主要用来在Flash/AIR平台和支持RTMP协议的流媒体/交互服务器之间进行音视频和数据通信。
RTMP协议是Adobe公司推出的实时传输协议,主要用于基于flv格式的音视频流的实时传输。得到编码后的视音频数据后,先要进行FLV包装,然后封包成rtmp格式,然后进行传输。
使用RTMP格式进行传输,需要先连接服务器,然后创建流,然后发布流,然后传输相应的视音频数据。整个发送是用消息来定义的,rtmp定义了各种形式的消息,而为了消息能够很好地发送,又对消息进行了分块处理,整个协议较为复杂。
还有其他几种形式的协议,比如RTP等等,大致原理差不多,也就不一一进行说明讲述了。图玩智能科技为企业提供直播平台二次开发服务,搭建更加完善的直播系统,欢迎随时咨询www.toivan.com.
以上是 Android手机直播之打包技术原理 的全部内容, 来源链接: utcz.com/z/515179.html