随着网络科技的不断发展,“直播”已经成为商贸企业的标配和大家日常消遣娱乐的好工具 ,特别是互联网+智能手机的普及,直播软件系统搭建是做直播平台的必需技术,我们通过直播可以拉近与外界的联系,最短的时间内看到更大更广阔的世界,好比我们的另一双眼和脚,带领我们领略世界万物的神奇之道。那神奇的直播软件系统搭建需要那几步:
一、直播软件系统搭建
1)第一你得先下载CrtmpServer服务,运行双击文件夹下的crtmpserver.exe,如果没有闪退,说明运行成功.
2)第二你得下载ffmpeg.exe ,在命令行执行 ffmpeg -i input -vcodec copy -acodec copy -f flv rtmp://127.0.0.1/live/cgstream0,127.127.0.1改成crtmpserver.exe所在服务器的地址.如果你在linux下推流,需要linux版本的ffmpeg。cgstream0可以根据需要任意修改。在 windows平台下如果推流成功ffmpeg会一直打印信息,出错也会有相应的提示。
3)播放:播放可以用ffplayer.exe,这个工具对rtmp流支持不是很好 ,播放的地址是rtmp://127.127.0.1/live/cgstream0 live=1,还可以用CGPlayer播放器。
以上是一款简易的直播软件系统搭建,如果您需要进军直播市场的直播软件,这款简易的直播软件只适合用来技术学习的。
二、流媒体传输
1)TCP:TCP为点对点的协议,虽然能保证了数据传输的可靠性,但是对服务器资源耗费较大,在数据流大的场合难以保证数据流传输的实时性。
2)UDP:UDP为不可靠传输协议,不需要维护连接状态,也不认为每个数据包都必须到达接受端,因此网络负荷比TCP小,传输速度也要比TCP快;但在网络越拥挤时,越有更多的数据包丢失。
3)RTMP:RTMP一个专门为高效传输视频,音频和数据而设计的协议。它通过建立一个二进制TCP连接或者连接HTTP隧道实现实时的视频和声音传输。
4)FFmpeg:FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。采用LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案。
三、直播软件系统搭建的采集端
1)目前比较知名的有VideoCore:目前国内很多知名的推流框架都是对VideoCore的二次开发。这个框架主要使用C++写的,支持RTMP推流,但对于iOS开发者来说有点晦涩难懂(精通C++的除外)。想开源和免费的可以选择现在的几个知名项目VideoCore + GPUImage+基于GPU的美颜滤镜 ,播放用IJKPlayer自己修改。
2)国内比较火的LiveVideoCoreSDK:框架提供IOS苹果手机的RTMP推流填写RTMP服务地址,直接就可以进行推流,SDK下载后简单的工程配置后能直接运行,实现了美颜直播和滤镜功能,基于OpenGL,前后摄像头随时切换,提供RTMP连接状态的回调。
3)可读性比较好的推流LFLiveKit:框架支持RTMP(Real Time Messaging Protocol ):实时消息传输协议,Adobe公司的。
HlS (HTTP Live Streaming) :苹果自家的动态码率自适应技术。主要用于PC和Apple终端的音视频服务。包括一个m3u(8)的索引文件,TS媒体分片文件和key加密串文件。
4)美颜滤镜功能:美颜滤镜的话一般都是使用的GPUImage基于OpenGl开发,纯OC语言,这个框架十分强大,可以做出各种不同滤镜,可拓展性高。如果对美颜没有具体思路可以直接用BeautifyFace,可以加入到项目中,很方便的实现美颜效果。
现在的直播软件系统搭建有了更多有趣新颖的功能:娱乐直播、一对一直播、短视频、游戏直播、财经直播等等,支持各种二次开发等等,想了解更多的来咨询小编吧,感谢您的阅读。
文(山东布谷科技)