直播源码,直播系统如何开发搭建与运营?

直播源码,直播系统如何开发搭建与运营?,第1张

直播的火爆让各行各业对直播这块新市场垂涎不已,而进军直播市场的第一步——直播系统源码却让企业头疼不已,那么直播系统源码如何进行开发呢?一、媒体模块:1、采集:通过SDK接口,直接从用户设备采集视频、音频等数据,视频采样数据一般采用RGB或YUV格式、音频采样数据一般采用PCM格式。2、预处理:对采集到的数据通过SDK层面接口进行润化处理,主要是图像方面的处理,如美颜、水印、滤镜等,GPU优化提速,平衡手机功耗及效果。3、编码:对采集到的数据进行压缩编码,比较常用的视频编码为H264,音频为AAC,在分辨率、帧数、码率等参数设计上找到最佳平衡点,使之匹配推流所需协议,提高上传效率。4、推拉流:推流就是将压缩后的音视频变为流数据,上传至服务器。拉流即通过播放端获取码流,从服务端拉取支持以RTMP、HTTP-FLV及HLS等协议的音视频流。5、解码:对拉流获取封装的视频数据进行高性能解码,让直播更流畅。6、播放:解码后的音频数据即可在播放端进行播放,支持包括MP4、FLV、M3U8等多样视频播放格式。

二、服务模块

1、聊天系统:包括聊天室功能、弹幕、私聊

2、礼物系统:礼物的收发,礼物的图形

3、支付系统:充值、提现、收益兑换

4、运行系统:提供直播方案

5、安全系统:实名认证、截图、自动鉴黄、录制、回播、禁播6、统计系统:点击量、收益、流量统计

三、管理模块

1、前端:移动端、PC端页面效果展示设计,维护

2、后台:管理运营,数据库管理

我们都知道,搭建一个完整的直播平台过程包括:采集、处理、编码、推流、分发、解码和播放,搭建直播平台是需要借助三方账号的支持的,比如服务器、推拉流、短信服务等,搭建直播平台都也是如此,除了本身的系统功能外,想用直播系统源码搭建平台,还需要一些三方的协助:

1、 CDN,提供视频加速和视频分发服务,一般视频cdn可以使用腾讯的直播cdn加速服务,也可以使用ucloud的视频cnd加速服务,具体费用咨询对应厂商客服。只要是支持rtmp直播协议的就可以。

2、 美颜SDK,实现美颜功能

3、 支付账号,支付宝支付和微信支付的支付账号

4、 云存储,大量的录播视频、短视频、直播间实时互动消息,需要动态存储和静态存储的支持。

5、登录和分享的账号,微信和qq的登录和分享

6、 苹果公司开发者账号,分发和苹果上架使用。

众多的三方接口接入也是直播系统源码平台后期能够正常运营的先决条件,好在大部分直播系统源码服务商都可以提供协助接入服务免去了很多后顾之忧,因此搭建运营直播系统源码平台不仅仅要选对直播系统源码,还要选择正确的服务商。

具体如下:

一、数据采集及预览。

二、原始帧处理。

三、视频编码。

四、rtmp推流使用librtmp库推流。

五、服务器搭建。

rtmp的视频流使用video-js插件即可直接播放。

rtsp的视频流无法直接在浏览器端播放,http的视频流工作中需要播放格式为mjpeg的视频流,所以,也无法直接播放。

通过使用插件vlc可以使以上两类视频流直接播放,即在电脑上安装vlc插件,播放视频时打开该插件,并且播放时浏览器版本不可使用新版本的,我使用的是chrom 300可以正常播放这两类视频。

如果有用户名密码,可以在协议后方加入。

但由于使用插件及浏览器版本限制,这种方式并不是首选,只能用作备用。

rtsp视频流播放可以依据下方链接, 搭建nginx服务器 ,将rtsp流转成rtmp流后进行播放。

这两天我就在试玩Adobe Media Server 5 extend,流媒体服务所用的环境就是一台win7 64位旗舰版的i5 24GHz、4G内存Dell笔记本,3个独立IP的测试发布终端(Wirecast、Adobe live media encoder、Matrox MonarchHD)都以RTMP协议往服务器中发布直播流,除了MonarchHD因为只具有有线接入外,全部设备包括AMS所在的笔记本都用无线AP接入一个局域小网。其中MonarchHD publish给笔记本中安装的AMS推送一个2M码流的1920x1080 i50 H264直播流,用各种接收终端接收流都很清晰流畅

遇到一个问题,FMS与WOWZA中如何使用RTMPE加密协议。

  Wowza作为一个Media Delivery System,它要起很重要的作用。一直在摸索如何保证文件不会被下载。RTMP协议肯定是不行的。然后我就把目光放到了RTMP协议的众多变体上。

首 先是RTMPT协议,用HTTP协议封装的RTMP协议。不知道怎么回事,服务器似乎不能很好的接受RTMPT协议,不知道是设置问题还是别的什么。而且 在Wowza官方论坛上,Wowza的开发者也不建议使用RTMPT协议,因为它需要500ms轮询一次,而且服务器的CPU开销(协议封装需要消耗 CPU)和带宽开销(封装成HTTP协议时需要额外内容)都比较大,唯一的优点就只有可以突破带有协议扫描的防火墙。

然后就是RTMPS和RTMPE。前者是用SSL协议加密的,后者是Adobe自己的128位加密算法。Wowza和Adobe都推荐后者,因为使用简单无需设置。而RTMPS需要设置证书等比较复杂的设置,而且安全性据说也不比RTMPE协议高。

最后就是RTMPTS和RTMPTE协议,看名字也知道是怎么回事了。

最后我选择了RTMPE协议,简单就是美。

接 下来的问题是如何屏蔽RTMP协议。不像Red5和Adobe Flash Media Server那样可以通过修改端口来简单的屏蔽,Wowza的RTMP,RTMPE,RTMPT协议是捆绑在一个端口上的。因为这个问题我甚至一度放弃了 Wowza而改用Adobe Flash Media Interactive Server,不过怎么都读取不到内容。

仔细研究了一下Wowza的论坛,发现原来官方发布过一个源码可以只使用RTMPE,RTMPS,RTMPTS这一类加密的协议。然后自然就是下载Wowza IDE,建了个工程,把代码粘贴进去,保存后再把自动生成的jar文件复制到服务器上。然后把applicationxml文件修改一下,大功告成!

这样设置后如果尝试使用RTMP协议,会提示拒绝连接,要求加密。而且现有的所有下载工具都不能下载RTMPE协议。连网址变换都可以不用做了。

不得不赞叹一下Wowza的接口,确实很强大,而且是Java的。虽然FMIS也有接口,不过ActionScript语言毕竟是门冷门语言。

附上链接:http://wwwcuplayercom/player/PlayerCode/Wowza/2015/1230/2212html

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 直播源码,直播系统如何开发搭建与运营?

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情