如何用直播APP源码搭建一个简易的直播平台
推流可以采用命令: ffmpeg -i input -vcodec copy -acodec copy -f flv rtmp://127.0.0.1/live/cgstream0input 可以是实时流,也可以是文件,如果是文件 需要加上-re。运用中需要将127.0.0.1换成rtmp所在机器的ip地址。
1.打开视频流,filename可以文件名称也可以是实时流url.
2.创建输出上下文以及输出流,输出流的格式需要设置成flv
3. 从输入流中读取音视频包
1.首先 下载CrtmpServer服务,运行双击文件夹下的crtmpserver.exe,如果没有闪退,说明运行成功.
2.下载ffmpeg.exe,在命令行执行 ffmpeg -i input -vcodec copy -acodec copy -f flv rtmp://127.0.0.1/live/cgstream0 127.0.0.1改成crtmpserver.exe所在服务器的地址.如果你在linux下推流,需要linux版本的ffmpeg。cgstream0可以根据需要任意修改。在 windows平台下如果推流成功ffmpeg会一直打印信息,出错也会有相应的提示。
3.播放:播放可以用ffplayer.exe(这个工具对rtmp流支持不是很好 ,播放的地址是rtmp://127.0.0.1/live/cgstream0 live=1),还可以用CGPlayer播放器。
个人开发直播系统的难点
1、机型配适问题,网络直播系统至少需要面向全国观众,这样一来,系统与机型的广泛适配就成了非常痛苦的工作。移动电话系统大致可以分为Android和iOS。iOS还好,只有几个型号,因此,直播系统开发可以在规范和大小等编码问题上节省大量精力。有了一个,其他机型进行小的修改就可以被完全应用。Android市场上手机型号产品众多,买卖得火热的少说都有七八个,而且在安卓开源的基础上,每个品牌都有自己的手机系统,这使得产品应用程序开发人员更难开发,所以机型配置是一个非常令人头疼的问题。
2、网络不佳状况下保证直播质量,网络直播系统在运营时,非常怕的一点是在弱网情况下产生卡顿。同样是弱网络别人家的直播就能正常进行,而你家的系统就卡卡顿顿,那不是很尴尬嘛,这对于用户使用感也是非常大的打击。cdn分销网络对用户来说是不可见的,但用户的体验和清晰度与之密切相关。当然,随着5G网络的搭建部署完成,出现卡顿的情况会大大减少。
3、画面延迟状况,直播最主要的要求就是流畅快捷。主播开始直播后,直播视频数据就会及时被网络直播系统内置的编码器压缩编码并推流到服务器,待用户打开服务器就会进行拉流和解码,方可观看,在这时,如果解码时间过慢,画面延迟情况就会产生,所以如何优化解码器也考验着开发人员。
4、防盗链机制,平台运营期间,原创的唯一性是非常关键的,如果你随边让一个小平台链接到防盗,那么这个防盗机制就做得不算好了。
5、 美颜技术的好坏,通常我们会将美颜SDK嵌入网络直播系统,实现在直播过程中进行美颜。美颜SDK基于人脸识别技术,根据人脸关键点部位进行美颜、美型等操作。美颜的同时是否会影响画面清晰度以及美颜效果的稳定性、自然度都是判断美颜SDK好坏的标准。