直播系统定制开发流程

2019-07-31 浏览: 返回列表

     推流是通过流媒体协议将采集到的音频和视频数据发送到流媒体服务器。

      一、选择流媒体协议

     现在现场应用程序使用rtmp协议,有些使用hls协议。

     使用RTMP协议,有必要查看其与流媒体服务器交互的过程。 RTMP协议的默认端口是1935,使用TCP协议。并且需要了解FLV包格式。

     使用HLS协议,因为它涉及到切片,所以延迟比较大,所以我们需要了解TS流。
直播系统开发

     二、采集音视频数据

     现场直播,数据的来源是必不可少的,是收集相机、麦克风的数据。

     要在iOS平台上收集音频和视频数据,您需要使用AVFoundation.Framework框架从captureSession会话的回调中获取音频和视频数据。

     三、硬编码、软编码音频和视频数据

     软编码使用cpu资源压缩音频和视频数据,硬编码则相反。

     软编码,现在广泛使用FFmpeg库结合编码库来实现,FFmpeg+ X624编码视频数据YUV / RGB输出H264数据,

     ffmpeg+fdk_aac对音频数据进行编码,pcm输出aac数据。

     四、根据选择的流媒体协议包音频视频数据
 
     将音频和视频打包成数据包。

     五、与服务器交互发送数据包

     根据所选的流媒体协议,发送适当的指令连接服务器,当连接成功时,即可发送数据包数据。

     拉流是从流服务器获取音频和视频数据。

  

相关文章阅读

最新文章推荐

PC蛋蛋 pc蛋蛋网址 广西快3 河北快三 河北快三平台 广西快3 pc蛋蛋网站 pc蛋蛋 湖北快3官网 江苏快3代理