如今的直播软件遍地都是, 数不胜数, 视频直播异常火爆, 可以从手机或 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://www.bubuko.com/infodetail-2862706.html