如今的直播软件遍地都是,数不胜数,视频直播异常火爆,可以从手机或PC端观看视频直播,只要支持HTML5的浏览器就都可以收看。直播的势头正旺,在火个三五七年根本不是什么问题,但是,你知道视频直播平台的搭建技术和实现原理吗?
一、首先讲解一下全套直播源码如何搭建
1)、第一步下载CrtmpServer服务(可以直接从群里下载),运行双击文件夹下的crtmpserver.exe,如果没有闪退,说明运行成功。
2)、第二部下载ffmpeg.exe (可以从群里直接下载),在命令行执行 ffmpeg -i input -vcodec copy -acodec copy -f flv rtmp://127.0.0.1/live/cgstream0
128.0.0.1改成crtmpserver.exe所在服务器的地址.如果你在linux下推流,需要linux版本的ffmpeg。cgstream0可以根据需要任意修改。在 windows平台下如果推流成功ffmpeg会一直打印信息,出错也会有相应的提示。
3)、第三部播放:播放可以用ffplayer.exe(可以从群里下载,这个工具对rtmp流支持不是很好 ,播放的地址是rtmp://128.0.0.1/live/cgstream0 live=1),还可以用CGPlayer播放器。
二、全套直播源码在播放端主要流程
如果在网页上播放(IE),可以选择JwPlayer,如果用插件的也是可以。Android端播放器如果底层基于ffmpeg,也可以播放CrtmpServer
转发的音视频流(ffmpeg需要引入librtmp库),IOS系统 同理。播放的url是rtmp:/
三、全套直播源码在服务端主要操作
服务端可以选择crtmpserver,crtmpserver开源,在windows平台以及linux平台下都可以运行。
随着人们对视频质量要求的提高,基本上视频的分辨率都是高清(1080p),码率基本会在4M以上。试想如果服务器
网卡选择千兆网卡,单个网卡最多也就支持两百多路。一般来讲,服务器的cpu配置会比普通电脑高很多,支持几百路并发是不会出现性能问题。
如果您要踏入视频直播行业的话,这些经验还远远不够,您可以咨询专业的直播平台开发商。
四、全套直播源码在前端推流的方式
推流可以采用命令: ffmpeg -i input -vcodec copy -acodec copy -f flv rtmp://128.0.0.1/live/cgstream0
input 可以是实时流,也可以是文件,如果是文件 需要加上-re。运用中需要将128.0.0.1换成rtmp所在机器的ip地址。
用命令推流时间戳信息不能任意修改,想要达到一个满意的结果还是要用代码实现。
主要方法代码如下:
1)、打开视频流,filename可以文件名称也可以是实时流url.
2)、创建输出上下文以及输出流,输出流的格式需要设置成flv
3)、从输入流中读取音视频包
直播拥有着很好的发展前景,2016年人们开始接触直播到现如今,直播的热度一直在增加,这是一个很好的机会,移动直播自风口之起,就一直在寻找新的商业模式,短短一年时间,直播尝试过综艺,尝试过直播电商,也正在尝试短视频,最终平台们将目光投向前辈们已经验证过的互动交友模式,虽然听起来不够高大上,逃脱不了争议的声音,但毕竟能赚钱,这就够了!今天的分享就先到这里,如果你也有兴趣继续看的话可以关注我,后续我会发表更多技术性的文章供大家参考
原文地址:http://blog.51cto.com/14052805/2322404