如何搭建一套完整的视频直播系统
您好,根据我们的开发经验,搭建一套完整的视频直播系统,可以有三种方式进行。
第一种方法是,自己召集人马,如果您资金雄厚,或您本身是一名技术,且有其他技术朋友的话,可以尝试和朋友一起自行搭建视频直播系统,人数的话大约需要五组人,包括产品组、IOS组、安卓组、后台组、测试组等等,人寿和资金都充足的话,大约八个月左右就能搞定。
第二种方法是,寻找外包,定制开发软件,时间上比自己开发要快一些,成本上差不多。
第三种办法是购买开源直播源码,直接搭建运营或者经过二次开发后搭建运营,这种方法是对时间成本和资金成本要求最低的。
以上,有问题可以继续追问我。
直播平台源码开发选择服务器
直播服务器在带宽上的配置要格外的严格,这个是关乎到用户观看直播时体验效果,如果视频卡顿或者消息发送慢都是影响直播的体验效果。直播平台配置的服务器高防系统也是最主要的一个要素,高防系统可以维持服务器免受一些流量攻击像DDOS,CC攻击之类的。直播服务器在服务器的存放管理上可以考虑多位置同步存放。这样便于分布在众多地区的用户都可以快速地访问服务器。
直播服务器的各方面参数配置要看直播平台用户的注册数量,要能够满足用户在线的良好体验为基准。如果视频平台的用户数量越多,同时在线的用户越多,那么服务器的配置就必须更高才能够保障用户的良好使用。
很高兴回答您的问题:我们先从市面上主流的直播间功能说起,先看看直播平台最基础要具备什么样的功能。
一、 基础功能
1 视频直播功能:这是最基础的功能,主播端将视频数据推送出去,观众端进行接收观看,这就需要RTMP推流功能的支持才能实现,并且这一步也会决定画面的清晰度和流畅程度。
2 聊天功能:观众可以在互动区进行文字聊天,和主播对话,想说就说。
3 礼物打赏功能:观众可以对喜爱的女主播进行礼物打赏,游艇、跑车、甚至城堡走起来等等。
4 支付/提现功能:用户为喜爱的直播进行礼物打赏或者守护,主播收到礼物或接受守护后,可将收到的平台虚拟币兑换成现金提取出。
5 视频回放功能:直播时同时录屏,随时随地,想看回放就看回放,粉丝再也不会错过喜爱的主播直播的精彩内容。
6 分享功能:将主播频道或主页分享到微信、微博或者别的平台。
那么由功能出发,来看看我们如何搭建一个基础的直播平台呢。
二、 直播间构成
视频直播功能其实就是从推流到拉流的过程,基本构成也是由以下几部分构成:
采集部分
iOS是比较简单的,因为机型相对固定以及采集方向相对固定,Android则要做些机型适配工作,PC最麻烦各种奇葩摄像头驱动,出了问题特别不好处理,建议放弃PC只支持手机主播,目前大部分的美女直播平台都是这样的,游戏直播平台则略有不同。
处理部分
其实针对视频帧的预处理,现在直播美颜已经是标配了,80%的主播没有美颜根本没法看。美颜算法需要用到GPU编程,需要懂图像处理算法的人,没有好的开源实现,要自己参考论文去研究。难点不在于美颜效果,而在于GPU占用和美颜效果之间找平衡。GPU虽然性能好,但是也是有功耗的,GPU占用太高会导致手机发烫,而手机发烫会导致摄像头采集掉帧,可能原因是过热会导致CPU降低主频。这是全局美颜,还需要针对脸部的调整,比如最普遍的大眼瘦脸,还有瘦下巴,调整额头高度,鼻翼宽度等,拍摄起来不亚于一场外科手术了。这个就需要配合人脸追踪算法来进行调整,先得识别人脸五官部位,再正对特定部位进行不同方法的图形学渲染,基于这些技术,贴纸道具什么也都不是问题。所以基础美颜难度不大,用上了人脸追踪的美颜就价格高点,因为毕竟人脸追踪现在成本还是比较高的。自己如果做基础美颜难度低,成本也不高,但是一旦要做美型,成本高,周期长,也可以考虑第三方的SDK
3 编码
可以采用硬编码或者软编码720p以上,软编会导致CPU过热。能耗过高,之后自然会卡顿,编码要在分辨率,帧率参数设计上找到最佳平衡点,让能耗和效果之间互相协调。视频-编码格式:H265、H264、MPEG-4等,封装容器有TS、MKV、AVI、MP4等。现在比较常用的视频编码是H264。音频-编码格式:G711μ、AAC、Opus等,封装有MP3、OGG、AAC等,比较常用的是AAC编码格式。视频经过编码压缩大大提高了视频的存储和传输效率,当然,经过压缩后的视频在播放时必须进行解码。
4传输,将编码完成后的音视频数据进行传输,早期的音视频通过同轴电缆之类的线缆进行传输,IP网络发展后,使用IP网络优传输。
传输协议:RTP与RTCP、RTSP、RTMP、HTTP、HLS(HTTP LiveStreaming)等
控制信令:SIP和SDP、SNMP等
转码、解码,也肯定要兼容软/硬解码,目前手机普遍支持硬解
整体过程可以这么理解:
OK,说完基本构成,我们再说一下特色功能:
五、 特色功能
比如评论聊天、连麦互动、收费房间、密码房间、礼物打赏等特色功能,也是为直播平台提供更多可能和更多想象空间。
评论聊天可以采用IM方式进行实现,IM提供商也比较多,也可以自己进行实现,因为这个功能不是属于即时音视频通信,没有很复杂。
连麦互动就是属于即时音视频通信了,这个其实自己实现就有点本末倒置,过于浪费时间,并且就算用TCP协议实现了基础功能,稳定性和流畅度也没有保障。
收费、密码房间就属于平台搭建时进行实现的功能,这个对于普通前端工程师而言不是很大的挑战。
礼物打赏就涉及到支付渠道的对接,和渲染功能实现,比如收到费用后,要在屏幕渲染一些特定的特效,比如游艇走起来,火箭biubiubiu~
以上就是我的回答,希望得到您的赞同
1、流媒体采集编码模块:用于将外部音视频信号实时采集编码
2、网络直播服务器:网络视频直播的核心设备,供终端访问
3、网络视频直播软件:对直播的音视频进行配置、管理,并可完成对收看断的用户进行授权管理
4、播放器:终端收看时使用,当下较流行的网络直播方式采用B/S架构,这样无需安装特定播放器
5、传输网络:适合的传输网络。一般对服务器端出口要求较高(比如百兆或者千兆网络);接收端一般带宽不低于1M即可。 网络视频直播系统的软件部分--网络视频直播软件特色:四路视频直播软件界面 多路视频切换板界面
特性:
1 稳定性强:支持7 × 24不间断运行;
2 集成度高:集成了软件编码、直播、录制、Web服务、安全认证、录制文件的点播服务等功能;
3 扩展性强:采用模块化的设计思想,能够轻松进行升级。
功能:
直播:
采用标准流媒体传输协议、支持广域网、城域网、局域网等网络,可以跨路由、网关、防火墙等提供直播服务
直播编码采用FLASH、MPEG、WM7、WM9,直播视频码流1kbps-15000Kbps可调
支持单播(Unicast)、组播(Multicast)等多种协议,音视频完全同步,实时传输延时<1s
支持B/S、C/S架构接收,且可以添加文字交流,logo等
录制:
直播时可以对直播频道进行节目分别同时录制,录制格式为WMV或者ASF等格式,且收看端也可自行录制
媒体文件广播:
支持WMV、ASF、AVI、MPEG、RM、RMVB、DAT、VOB、MP3等格式的文件广播且可以添加运行规则 1、 视频采集的分辨率最高可以达到720576效果;
2、 录制格式为WMV或ASF格式;
3、 直播码流最高支持15Mbps;MPEG4格式传输,清晰度可达到DVD质量(720576);
4、 具备业内先进的软件消除隔行扫描功能,使图像更加清晰流畅,不会出现采集的图像有水纹、拖尾现象;
5、 支持实时游动字幕、台标、时钟等;
6、 支持手动录像、任务录像、全局录像等,通过对任务录像及运行规则的配置,完全可以实现7x24 小时自动预制录制及排序播出(无人职守),并支持远程录像;
7、 支持用户权限管理设定,可以随时添加用户和删除用户,并对不同的用户设定不同的权限(如:是否可以远程录像),并支持在线用户信息显示;
8、 客户端支持B/S架构(不需要安装任何软件,直接在浏览器中观看)进行观看;
9、 支持单播(Unicast)、组播(Multicast)及复杂网络自适应功能;
10、 系统提供分布转发功能,只需将转发服务器IP地址输入一体机,就能够同时将多个视频上传到多个服务器上进行直播,实现了异地用户的同时收看;
直播对网络的要求较高,是网络环境不佳,建议重启下路由器!
斗鱼TV直播视频录制教程:
1、进入在线录屏应用界面,点击“开始录制”按键后,静待几秒应用加载。在主界面中点击话筒图标,选择“系统声音”作为输入的音源。
2、进入斗鱼TV直播页面,根据主播窗口大小,拖动边框来调整应用录制屏幕区域后,点击红色的“REC”按钮开启斗鱼直播录像进程。
3、再次点击录制按键就可以将视频暂停,此时界面右侧会出现不同的选项。尚未完成录制,再次点击“REC”按键继续录屏,对之前录制的直播不满意,点击最右侧的“×”即可重新录制。
4、已将视频录制完毕,并对录制内容满意,点击绿色的“√”就可以进入视频预览界面。点击界面最右侧按钮,可以对视频进行本地保存视频文件,转GIF动图及上传视频分享网站了。
以下是网吧影片服务系统的相关设置(好简单啊)
0首先你的网络已经设置好了,能通过网上邻居实现互访,这是基础(如果你的客户机能上网了,这不是问题吧^!^)
1选择一台电脑(也可能是数台,比一台麻烦一些)做影视服务器,把你的**拷至硬盘,把**文件都设置为共享(通常是共享文件夹, 每个文件夹中放一定数量的**);
2在客户机安装播放软件, 建立影视服务器上**文件的快捷访问方式;
3已经ok了,就是这么简单,(晕,还没完吗?别告诉我你的声卡还没装^!^)
当然其中还有些学问,以让你的影视系统发挥出最佳的性能:
选择合适的播放软件
以下是我用过的几种播放软件:
windows mediapalyer+divx(mpeg的编码解码器),主要用来播放mpeg格式的**,它的优点是启动快速,占用系统资源小,缺点是很多格式不支持(致命)
大多网吧都在用realplayer,因为它是rm格式的专用播放软件,界面简单,容易作,real的 老版本的不支持其它格式的影片 ,新版本因为增加了多个插件,可支持的格式大量增加,包括mpeg格式的,但我使用中发现,某些版本的real播mpeg的时候,不能快进,一拖滚动条就出现假死机, 非要三键结束任务才能解决。
金山影霸iii支持的格式最全(包括音乐文件),而且安装不很占空间(完全安装小于四十兆),占用系统资源也较少。
东方影都支持的格式很多尤其是立体版能看立体**,效果真爽,但缺点不少,如安装比较占空间(完全安装要80兆),而且消耗系统资源比较厉害。
另外超级解霸2003据说不错,我没有用过,不敢妄下结论(但如果没有比2000有质的转变不用也罢),有兴趣的朋友可以试一下,和其它的软件比较比较。
根据我的经验我首推金影iii做网吧的播放软件(本人严正声明:本人绝没有收取金山公司的一分钱广告费^!^)
附:两种流行的压缩影像格式释疑, mpeg(对应文件扩展名为avi)其实是一种影音压缩技术,它是一种通过记录原始影音文件的信息,用一定的算法进行代码替换处理的有损压缩,播放时通过mpeg编码解码器解码。rm是我们最常见的压缩格式,它使用的另一种算法压缩比例更大(文件大小可压至mpeg的二分之一),故失真较大,效果不如mpeg格式。
注意事项
1,影视服务器最好不要和网络服务器作为一台,如果你的网吧够大,建议使用专用的影视服务器(如果不对外营业,配置可以很低,主频300即可;内存64m即可128m最好,多了就是浪费了;支持大硬盘的主板即可,但要稳定;硬盘当然要大,但5400转即可;如果要对外营业配置就要稍高一点的,建议使用赛扬二代的处理器),当然如果你的网吧很小15台以下,那就没有必要专设影视服务器了。
2,尽量安装rm格式的**,优点是占用硬盘空间小,传输速度快,一台影视服务器支持的终端多,缺点的效果没有mpg4和vcd的效果好,但只要光盘做的不是太差一般没有什么影响。
3,一定要为你的所有**共享并创建快捷方式,使其能在任何一台终端能看到所有的影视,如果你的**是分在几台电脑里放置的,应该先建立个文件夹,把其它电脑上**的文件的快捷方式放进来,然后把这个文件夹复制到每台终端的桌面上,换上漂亮的图标,取个类似“影视欣赏”的文件名就ok了。这种方法同样适合各种歌曲的使用,可用类似的方法建立个“音乐欣赏”。
4,网络设置:在微软网络客户中选择快速登录,这样启动过程中将不检测网络驱动器,加快启动速度;
登录中选择windows登录,启动过程将不出现登录对话框,可以避免因登录时点取消而未登录网络的情况(这种情况下,客户机可以上网,但不能访问网上邻居)。
5,同一部片子能同时被数台电脑同时调用,一般不影响效果,但应该尽量避免这种情况的发生(对硬盘损耗较大),如果某个片子同时看的人实在太多,应事先多在硬盘中复制几份(尽量选择不同的分区)供调用。
6,一台**服务器可支持多少用户同时观看?中等的网吧(单影视服务器,客户机50台以下,使用10m的网络即可,当然百兆的网络就更好了)一台影视服务器可同时支持二十台左右的电脑同时播放rm**(mpeg或vcd就要少了)。事实上网吧中不可能所有的顾客都一起看**(通常在50%以下),所以这个数目可基本满足五十台以下的网吧了
实际环境举例(我的网吧):依拖一所大学,电脑三十六台,10m网络,单影视服务器(c2-600, 128m , 240g/5400转,对外营业);把**按类型(如成龙全集,007全集,美国大片,贺岁片,某某电视剧,某某动画片等等)存放在不同的文件夹中,把这些文件夹共享出来,将影视服务器在各个电脑上建立快捷方式,将共享名改为影视欣赏;四个hub(三个16口,一个8口),采用堆叠; 在全满的时候通常是十五人左右同时看**,最高达到十九人同时观看(还有同时从影视服务器调音乐听的),运转正常,从未出现广播风暴。
影视播放中的故障解决及相关问题:
在网吧中有问题都是正常的,没有问题才不正常了,当然影视系统也不例外,但相比网络的问题,它的问题一般还是好解决的。
realplayer的声道问题,realplayer不能调节声道,这是这个软件的最大bug,升级了n次也没解决,不知道这些做软件的干什么去了,当然我们也有办法处理,就是调用系统的声音属性调节声道(稍麻烦了点)。方法是:调出声音属性(最快捷的方式是双击任务栏中的小喇叭图标)调节两个项目,如果你的菜单是中文的,这两项就是主音量和声波,如果是英文的就是volume和wave。声道主要是由volume控制的,声波则能优化声音性质,实际作一下,反复对比你就会知道这两项都是怎么回事了。补充最重要的一点,你的**必须是双声道的才能调节,如果做盘的把两个声道做到了一起,那怎么调就都白扯了。
播放中出现断续的问题, 放映过程中声音或图像出现断续,如果是网络因素,可能是影视服务器出现问题,局域网中的看**的电脑都会这样,现象会很明显,这时应处理影视服务器,如果只是单机这样请重新播放,最次重新启动就能解决。
声像不一的问题,某部片子看的过程中出现声音和图像不一致的问题,这是系统处理时,放音设备和影像设备未能协调,通常关闭当前播放任务再重新打开就能解决。
播放不出来的问题,任凭怎样双击就是打不开**文件,这是由于当前系统资源已无法调出播放程序,需要重新启动电脑才能解决(如果谁有更简便的解决办法别忘了告诉我啊^!^)
音量小的问题,如果你的声卡没有问题(有的声卡音量小,从软件方面不好解决,只能配有源音箱加大音量了), 除了将耳机音量和声音属性中的主音量放至最大外,调节声波属性也很关键,往往声波(wave)的设置不当可造成音量过小,请左右调节“均衡”,找出最佳效果。
[!--empirenewspage--]
好了,说了不少了,我还真有点累了,这些文字如果能给那些正处于迷茫状态的同仁带去些认识,我就最高兴不过了。如果你做出的影视系统切实的帮你提高了效益我就高兴的没法再更高兴了。当然,由于各人所处的具体环境不同,同时为避免理论与实际脱节,行文中我也尽量从实际出发,但出现些错误或不相容的结果也是不可避免的,欢迎大家指正并和我继续探讨网吧影视服务技术及经营上的问题!希望大家都有应有的收获!
补充两点
1,影视服务器的配置无需太高,我用过三种配置c400/64, c566/128, p3 733/256, 对客户机的观看效果并无太大的影响。
2 一台服务器支持的客户机,10m网,一台可支持20个终端播放rm格式,但如果是mpeg格式只能支持10个左右,这里说的是达到较好的播放效果,如果终端超过这个数目,实际上也能支持,但效果就要下降(会出现偶尔的停顿或声像不一等情况)
很多朋友说要做流媒体服务器,说实话,我不建议网吧这样,这样做,因为,网吧都没有很专业的技术员,而且所有的软件都是D版,所有维护很麻烦,虽然网上有破解版,但是效果都不好,不过大家可以学习一下
大多数人对Realplayerer已经是十分熟悉了,利用Realplayer在线看**、听音乐,你是不是自己也想拥有一个Realplayer服务器呢?利网络流媒体服务器端软件Real Server能轻松实现你的愿望,下面笔者就介绍何利用它在局域网中建一个流媒体服务器。
什么是Real Server
RealNetworks 流服务器端软件,用它可以在网上发布Real格式的Audio、Video文件,以流格式(RTSP协议)进行网上传输播放,不必担心rm文件被下载。 要实现网上流视频的点播与直播,在硬件之上需要安装一个服务器端软件,这个就是Real Server。
一、组建多媒体播放系统的组网环境
多媒体播放系统的组网环境要求由主从结构或者对等结构组网的若干台多媒体电脑,带声卡、音响、耳塞、麦克风等发声设备,并不受有盘网络和无盘网络的限制。而服务器操作系统要求Windows NT、Windows 2000Professional 、Win2000 Server,服务器要求指定有固定 IP 地址或者是 Intranet 的虚拟 IP地址,工作站端要求装Realplayer70以上的版本。
二、下载、安装Real Server90
1 如何下载
目前Real server已经有了90版,我们介绍的Real Server通过在线注册获得注册码可以免费使用一年,但在局域网内只允许25人同时使用。可在 RealNetworks 的网站下载 ,也可以到以下的地址直接下载:http://licensekeyrealnetworkscom/rnforms/products/servers/eval/indexhtml
当打开上述地址时,页面上要求你填写一些个人资料,需要特别注意的是,在填E-Mail时,一定要写一个可的地址,因为系统要寄一个授权码(License Key) ,以便软件安装完备后,好在服务器上使用,下载文件的大小有97MB。
2 如何安装
下载完备以后直接双击下载的文件,就可以自解压安装了。安装 Real Server 的过程和一般的软件安装差不多,在自解压完成后弹出图1的对话框,要你填写授权码。这时打开刚才下载软件时填写的信箱,把信箱中收到的授权码用Winzip解压到一某个目录中,在图1的“License File Location”下面填写上解压后保存的目录与文件名,这步很重要,服务器端能否使用全它了。
点击“Next”,选择安装目录、接受协议后,弹出图2对话框。要求填写用户名(Usename)和密码(Password),因为安装的Realserver是一套影音服务器软件,有系统管理者(Administrator)的登录进行管理,在这里我们把username 和 password都设置为“test”。记住它,等一下安装成功启动“Helix Server Administrator”时要用它来登录。 再点“Next”弹出图3的对话框
上面的英文意思是:请键入一个端口号,这个端口将授权给PNA联接,这个联接地址以“PNA://”开头。下面的“7070”是安装默认的PNA联接端口号,不要改它,紧接着在后面的安装中要设置RTSP联接、HTTP联接、MMS联接的端口号,这些都不要改它,以默认的为好。 最后一步会弹出图4的对话框,在“Install Helix Server a NT servce”前面一定要打上勾。
完成安装后,桌面上自动生成两个图标,一个是Helix Server(流媒体服务),另一个是Helix Server Administrator(流媒体服务管理者)。这时系统虽然没有要求重新启动,但是根据本人的使用经验,最好在安装完成后启动一下计算机。
三、启动服务器
启动服务器之前,先确保局域网网络是否接通、每一台工作站是否安装有Realplayer媒体播放软件,最好用70以上的版本。 首先,点击服务器桌面上的Helix Server图标,启动Helix Server,程序是在DOS窗口中运行的,道次运行完成后不能自动关闭程序,要手动关闭,以后再启动运行完成后会自动关闭的。
四、启动管理器
服务器桌面上另一个名为Helix Server Administrator图标,是对整个播放系统进行服务管理的一个系统程序。我们点击它会弹出如图5的“输入网络密码”对话框,其中的“站点:js”中的js实际上是本服务器的计算机名,不同的计算机名有不同的“站点”。“领域:js AdminRealm” 是播放系统自建的网络域,下面就是要输入用户名与密码了。在前面我们进行系统安装时不是把用户名Username和Password都设置为“test”了吗?这时就可以把这个“test”填入用户名与密码中。
在图5中填写好密码点击“确定”后弹出启动IE浏览器如图6,图的左边共有五行黑字,也就是对播放系统进行全部管理的五项基本内容:ServerSetup(建立服务)、Security(安全性) 、Logging & Monitoring(登陆及管理)、Broadcasting(网络广播)、Content Management(内容管理), 这里的每一项的管理细节,大家可以多试试。我们先看看在服务器上对播放系统进行测试。
五、播放系统测试
点击管理项的第一项“ServerSetup”后下拉出一些细项目,点击其中的“Media Samples(媒体实例)”(如图6)
在图6的右边就可以看到一些媒体材料供播放测试用,我们随便选择一个例子来进行测试,例如我们双击“Play SMIL Sample 2 ”弹出Realplayer播放器窗口(如图7),开始时会在播放器的底部看到“正在联接”和“正在缓冲”并且在时间不断的跳动,这说明整个系统安装联接成功。随后Realplayer进行播放。在播放器的“位置”后可看到联接地址为rtsp://js:554/africag2/africasmi。
在这个地址中我们可以看到,播放系统是采用RTSP联接方式进行播放的,js是服务器的计算机名或IP地址,后面的“554”是端口号可省略,“/africag2/africasmi”是媒体文件保存的路径。
六、工作端的连接
在工作站中我们同样启动Realplayer,在播放器的“位置”后输入“rtsp://js:554/africag2/africasmi”,“回车”,当我们同样在播放器的底部看到“正在联接”和“正在缓冲”并且在时间不断的跳动时,那么整个系统才算大功告成,播放文件默认存入路径在Helix Server安装目录下的Content子目录,你可以将rm格试的影片存放该目录下,然后在客户机Realplayer中播放器的位置输入rtsp://js/影片名rm,你就可以慢慢的欣赏影片
有,BGP多线机房的服务器!
1、高清480P的视频码率可以采用4-8Mbps;
2、每天在线100人,同时在线10人左右,如果要保持视频不会出现卡顿,视频的比特率至少300Kbps,十人同时在线播放的话,0310=3Mbps的带宽可以达到完全流畅播放。如果你服务器的用户只针对国内,但没法具体到哪个省和市,那建议选择BGP多线机房的服务器。
3、网站的、视频加防盗链功能,至少需要10M以上的带宽需求。
4、硬盘大小,因为视频网站,数据放在自己硬盘,且视频比较大建议采用1T,1T=1024G
0条评论