美文网首页
总体框架

总体框架

作者: 贝克街的猫大哥呀 | 来源:发表于2017-10-19 14:32 被阅读0次

    总体流程为:客户端采集数据------上报nginx服务器-------服务器分发视频流到其它客户端

    其中服务器分发视频为nginx去实现。

    故这里的重点是采集数据&上报服务器。

    先说采集数据

    这里要采集两种,音频&视频

    ----------------------------------------------------------------------------------------视频

    首先将安卓Camera采集到的视频NV21数据转码成YUV420给到H264进行编码。

    NV21与YUV420p都属于YUV420格式,每四个Y共用一组UV分量。区别是UV分量的空间排列不同。

    采用H264对视频进行编码!IPB帧压缩, 编码后放入视频数据队列。

    ----------------------------------------------------------------------------------------音频

    fireAudio将麦克风采集到的音频数据使用faac编码,并加入到队列中。

    每次从实时的pcm音频队列中读出量化位数为8的pcm数据,用8个二进制位来表示一个采样量化点(模数转换)。然后利用FAAC进行编码。 编码后放入音频数据队列。

    ----------------------------------------------------------------------------------------传输层

    利用RTMP协议将编码后的视频数据&音频数据发送到流媒体nginx服务器。

    Real Time Messaging Protocol(实时消息传送协议协议)是Adobe Systems公司为Flash播放器和服务器之间音频、视频和数据传输开发的私有协议。RTMP协议是TCP/IP五层体系结构中应用层的协议。

    这就是整体的一个流程,比较详细的流程见1204.

    最终其它客户端去获得直播流,需要用支持RTMP协议的播放器才能正确解码,android自带的播放器并不能支持此协议。可用第三方开源框架解决

    相关文章

      网友评论

          本文标题:总体框架

          本文链接:https://www.haomeiwen.com/subject/sbkuuxtx.html