51学通信论坛2017新版

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1252|回复: 0
打印 上一主题 下一主题

如何实现一个移动视频直播应用?

[复制链接]

 成长值: 15613

  • TA的每日心情
    开心
    2022-7-17 17:50
  • 2444

    主题

    2544

    帖子

    7万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    74104
    跳转到指定楼层
    楼主
    发表于 2017-9-16 17:27:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式


    视频直播已经成为2016年移动互联网最受关注的一类应用。那么移动视频直播应用是如何实现的呢?
    一个基本的视频直播应用主要由三部分组成:流推送端、转发服务端、直播客户端。因为视频应用都需要一边下载,一边播放;直播应用更是一边录制,一边传输,同时一边播放。所以必须使用流的形式进行内容传输,而不能以完整的视频文件的形式来传输。直播应用常用的流传输协议是RTMP和HLS. 直播传输协议


    RTMP(Real Time Messaging Protocol)实时消息传送协议,是Adobe Systems公司为Flash播放器和支持RTMP协议的流媒体服务器之间传输音频、视频和数据的开放协议。基本的RTMP基于TCP协议,除了RTMP基本协议,还有很多RTMP的变种协议,包括RTMPT、RTMPS、RTMPE协议等,RTMP其实是一个协议族。
    HLS 是由Apple公司定义的用于实时流传输的协议。HLS基于HTTP协议实现,传输内容包括两部分,一是M3U8描述文件,二是TS媒体文件。HLS 的基本原理


    当采集推流端将视频流推送到流媒体服务器时,服务器将收到的流信息每缓存一段时间就封包成一个新的 ts 文件,同时服务器会建立一个 m3u8 的索引文件来维护最新几个 ts 片段的索引。
    当播放端获取直播时,它是从 m3u8 索引文件获取最新的 ts 视频文件片段来播放,从而保证用户在任何时候连接进来时都会看到较新的内容,实现近似直播的体验。

    HLS协议流程图

    RTMP与HLS的比较


    与RTMP协议不同的是,HLS是把视频流分割成一个个小的片段文件,服务器上需要留存这些文件,服务器和客户端之间其实也是以文件的形式来传输的,严格意义上HLS应该说算是一个伪流传输协议。
    相对于 HLS 来说,RTMP 延时较小,通常为 1-3s,且基于 TCP 长连接,不需要多次建连。因此业界大部分直播业务都会选择用 RTMP 作为流媒体协议。如何实现一个直播应用?


    一个直播应用主要包括三个部分:流推送端(主播用)、流媒体服务器(直播平台)、客户端(观众)。


      流推送端可以采用OBS直播软件。很多直播平台都使用这款软件,比如龙珠直播等。
      开发直播客户端APP,可以基于bilibili的开源框架ijkplayer,像斗鱼TV等直播平台都在使用。ijkplayer是基于ffplay的直播客户端框架。
      - ffplay 是一个使用了 ffmpeg 和 sdl 库的、一个简单的可移植的媒体播放器,支持所有ffmpeg支持的视频格式,也可以播放rtmp流媒体。

      - 客户端弹幕一般使用TCP协议传输,并使用XMPP协议对弹幕信息封装。

      直播平台的搭建基于RTMP流媒体服务器和web服务器(主要起展示所用),并配合CDN为客户端推送音视频流。
      - 直播平台的核心是流媒体服务器。直播流媒体服务器的前端对流推送端传来的数据进行实时转码,使码流的格式和速率符合流媒体服务器所需的规格。
      - 如果自己搭建流媒体服务器,可以采用Red5服务器,这是用Java开发的开源流媒体服务器。
      基于 Red5 的流媒体服务器的搭建和应用

      https://www.ibm.com/developerworks/cn/opensource/os-cn-Red5/
    云平台解决方案


    如果要搭建一个直播平台,也不一定非要自己来建流媒体服务器。目前有很多云平台,腾讯云、乐视云等,都提供了网络直播平台的搭建方案,而且除了直播以外,还可以实现点播(VOD)等功能。

      乐视方案 http://live.lecloud.com
      腾讯方案 http://www.qcloud.com
      网易方案 http://netease.im
      暴风方案 http://www.baofengcloud.com


    原文地址:http://www.toutiao.com/a6408307460969152769/
    扫描并关注51学通信微信公众号,获取更多精彩通信课程分享。

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?立即注册

    x
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    Archiver|手机版|小黑屋|51学通信技术论坛

    GMT+8, 2025-1-31 15:57 , Processed in 0.059156 second(s), 32 queries .

    Powered by Discuz! X3

    © 2001-2013 Comsenz Inc.

    快速回复 返回顶部 返回列表