Android App 直播实现流程(android直播解决方案)

一、直播的本质

实时推送/拉取音视频数据

二、视频直播流程

安卓版视频直播软件的视频直播的流程可以分为如下几步:

  • 采集
  • 处理
  • 编码和封装
  • 推流
  • 服务器分发
  • 播放器流播放

Android App 直播实现流程(android直播解决方案)

1、采集

视频的采集涉及两方面数据的采集:音频采集和图像采集,它们分别对应两种完全不同的输入源和数据格式。

两个传感器:

  • CCD:图像传感器,用于图像采集和处理,把图像转换为电信号
  • 拾音器:声音传感器,用于声音采集和处理,把声音转换为电信号

格式:

  • 视频采样数据 : 一般都是 YUV 或 RGB 格式
  • 音频采样数据 :一般都是PCM格式

由于所采集的内容非常大,所以需要进行压缩。常见的音频压缩格式有:MP3,AAC,HE-AAC,Opus,FLAC,Vorbis (Ogg),Speex 和 AMR等。视频编码压缩成 H.264 等格式的数据分发出去。常见的视频封装格式有:mp4、3GP、AVImkvwmvmpg、VOB、flv、SWF、MOV、rmVB 和 WebM 等。

2、处理

视频或者音频完成采集之后得到原始数据,为了增强一些现场效果或者加上一些额外的效果,我们一般会在将其编码压缩前进行处理,例如:美颜及水印。各种美颜和视频添加特效的App都是基于GPUImage框架实现。

3、编码和封装

视频编码的意义:原始视频数据存储空间大。核心思想就是去除冗余信息。

常见的视频编码器

  • H.264/AVC
  • HEVC/H.265
  • VP8
  • VP9
  • FFmpeg :是一个跨平台的开源视频框架,能实现如视频编码,解码,转码,串流,播放等丰富的功能。其支持的视频格式以及播放协议非常丰富,几乎包含了所有音视频编解码、封装格式以及播放协议。

封装:是把编码器生成的多媒体内容(视频,音频,字幕,章节信息等)混合封装在一起的标准。

常见的封装格式:

  • AVI 格式(后缀为 .avi)
  • DV-AVI 格式(后缀为 .avi)
  • QuickTime File Format 格式(后缀为 .mov)
  • MPEG 格式(文件后缀可以是 .mpg .mpeg .mpe .dat .vob .asf .3gp .mp4等)
  • WMV 格式(后缀为.wmv .asf)
  • Real Video 格式(后缀为 .rm .rmvb)
  • Flash Video 格式(后缀为 .flv)
  • Matroska 格式(后缀为 .mkv)
  • MPEG2-TS 格式 (后缀为 .ts)

4、推流

传输协议:

  • RTMP:实时消息传输协议,Adobe Systems公司为Flash播放器和服务器之间音频、视频和数据传输开发的开放协议,因为是开放协议所以都可以使用了。 RTMP协议用于对象、视频、音频的传输。
  • HLS(HTTP Live Streaming):是苹果公司(Apple Inc.)实现的基于HTTP的流媒体传输协议
  • RTSP(Real Time Streaming Protocol):实时流传送协议,是用来控制声音或影像的多媒体串流协议,由Real Networks和Netscape共同提出的

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

(0)
上一篇 2023年5月13日 上午10:40
下一篇 2023年5月13日 上午10:56

相关推荐