音视频开发之直播详解 对直播的初步认识

前言

至接触音视频开发以来,不知不觉已经快两年时间了,最近突然想起第一次接触这个模块时看到雷神(雷霄骅)的《[总结]FFMPEG视音频编解码零基础学习方法》时候就在心里默默的告诉自己,等我学会了以后,我一定要好好的把自己的学习过程记录下来,以表对雷神的敬仰。

目标

希望通过一套系统的详细记录下来,能重新回顾一下相关的知识点,了解自己的不足之处。对于刚入门的学弟学妹们也有一个前车之鉴的栗子,避免大家跟我一样走太多弯路。

直播的初步认识

直播(live)指广播电视节目的后期(haobc)合成、播出同时进行的播出方式(广播电视词典定义),是充分体现广播电视媒介传播优势的播出方式。

电视现场直播为在现场随着事件的发生、发展进程同时制作和播出电视节目的播出方式。网络直播吸取和延续了互联网的优势,利用视讯方式进行网上现场直播,把产品展示、相关会议、背景介绍、方案测评、网上调查、对话访谈、在线培训等内容现场发布到互联网上,利用互联网的直观、快速,表现形式好、内容丰富、交互性强、地域不受限制、受众可划分等特点,加强活动现场的推广效果。

ok,说的那么官方,我也不知道怎么解释,想要知道怎么从零开始搭建自己的直播平台、开发自己的直播apk,更关键的是实现零成本开发,那么跟着小菜一起来学习就是了。

一、直播框架

一套基础的直播系统,必须是由采集端(如手机、电脑等)、服务端(服务器)和播放端(手机、电脑等)一起组成。下面我们简单的了解一下他们各自的工作都有哪些,最后的栗子中我们最基础的需要实现那些工作。

1、手机端主要工作

如上图所示,手机端的工作基本就是这些,当然推流、CDN分发是需要服务端配合。初学者的话我们建议首先先来实现“采集”和“推流”即可。

由于小菜主要是做android的,下面我们会专门的来对Android端采集和推流进行讲解,这里主要是让大家对整套系统进行理解,方便于我们后期的开发。

2、服务器主要工作

  • 录制 (对采集端发送过来的视频流进行收流,俗称录制,常用于直播转点播)
  • 水印 (给视频添加水印,提高用户体验效果)
  • 截图 (服务端基本不怎么使用,直播转点播可做缩略图使用)
  • 鉴黄 (环境维护)
  • 拼接 (录制基本也可以称为一个拼接过程,当出现推流断流时,恢复后可继续进行拼接,不会重新生成新的视频文件)
  • 时移 (在直播流进行中回放过去任意时间的直播内容)

3、播放端主要工作

  • 拉流 (首先通过播放端获取码流,标准的拉流格式有RTMP、HLS、FLV等)
  • 解码 (拉流获取封装的视频数据后,必须通过解码器解码、渲染后才能在播放器上播放)

到这里就基本完成了,下面的文章会对各个功能模块进行详解,如android端是如何采集、又如何推流,最后在播放端又是如何拉流、解码等相关的框架进行介绍、对服务端如何搭建等相关工作进行详解。

THE END 谢谢查看

编辑:吴明辉

没有更多推荐了,返回首页