前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Android App 直播实现流程

Android App 直播实现流程

作者头像
齿轮易创说互联网
发布2019-10-15 15:08:49
8390
发布2019-10-15 15:08:49
举报

一、直播的本质

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

二、视频直播流程

视频直播的流程可以分为如下几步:

(1)采集

(2)处理

(3)编码和封装

(4)推流到服务器

(5)服务器流分发

(6)播放器流播放

1、采集

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

(1)两个传感器:

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

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

(2)格式:

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

音频采样数据 :一般都是PCM格式

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

2、处理

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

3、编码和封装

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

常见的视频编码器:

(1)H.264/AVC

(2)HEVC/H.265

(3)VP8

(4)VP9

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

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

常见的封装格式:

(1)AVI 格式(后缀为 .avi)

(2)DV-AVI 格式(后缀为 .avi)

(3)QuickTime File Format 格式(后缀为 .mov)

(4)MPEG 格式(文件后缀可以是 .mpg .mpeg .mpe .dat .vob .asf .3gp .mp4等)

(5)WMV 格式(后缀为.wmv .asf)

(6)Real Video 格式(后缀为 .rm .rmvb)

(7)Flash Video 格式(后缀为 .flv)

(8)Matroska 格式(后缀为 .mkv)

(9)MPEG2-TS 格式 (后缀为 .ts)

4、推流

传输协议:

RTMP :实时消息传输协议,Adobe Systems公司为Flash播放器和服务器之间音频、视频和数据传输开发的开放协议,因为是开放协议所以都可以使用了。 RTMP协议用于对象、视频、音频的传输。

HLS(HTTP Live Streaming):是苹果公司(Apple Inc.)实现的基于HTTP的流媒体传输协议

RTSP(Real Time Streaming Protocol):实时流传送协议,是用来控制声音或影像的多媒体串流协议, 由Real Networks和Netscape共同提出的

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019.10.14 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
图像处理
图像处理基于腾讯云深度学习等人工智能技术,提供综合性的图像优化处理服务,包括图像质量评估、图像清晰度增强、图像智能裁剪等。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档