博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
关于直播的技术整理2
阅读量:7211 次
发布时间:2019-06-29

本文共 1658 字,大约阅读时间需要 5 分钟。

为了减小延时

webrtc+rtsp?

之前用的是srs+http-flv/rtmp+flv.js/jwplayer,延时大概2~3秒

为了进一步减小延时,客户端选择直接用webrtc,那么服务器呢?
因为现在网络摄像头大都是rtsp协议,那么有没有webrtc+rtsp做直播的呢?(同道中人:)
google了好久,终于找到了一个叫Kurento的东西。

Kurento

Kurento is a WebRTC media server and a set of client APIs simplifying the development of advanced video applications for web and smartphone platforms. Kurento features include group communications, transcoding, recording, mixing, broadcasting and routing of audiovisual flows.

一个demon

这个demon依赖Kurento

搭好环境后测试(网页直接播放网络摄像头视频),效果不理想,延时还是2秒左右。

但是这个的优化可能性比之前的要大,还要研究下。

经过一番努力终于找到解决办法:

修改index.js

pipeline.create("PlayerEndpoint", {networkCache: 0, uri: address.value}, function(error, player){...

原来kurento客户端提供了接口,延时变为0.2秒,简直太他妈爽了。

Jsmpeg

官网:

Github:

Kurento确实牛逼,但是要把它移植到ARM上简直是找虐,我甚至没有成功移植到我的物理机(kali linux)上,在Ubuntu12上测试成功!

即便是能成功移植,但是体积估计超过我们的预期容量。在这点上Jsmpeg体现了优势,仅仅需要NodeJS环境,即便不能把NodeJS移植进去,用C写一个WebSocket服务应该不难。
Github有详细的安装教程,我不详述,简单记下测试步骤:
1、获取摄像头rtsp视频流发送到websocket服务器(jsmpeg/websocket-relay.js)

ffmpeg -i rtsp://192.168.2.61 -f mpegts -codec:v mpeg1video -s 960x540 -b:v 1500k -r 30 -bf 0 -codec:a mp2 -ar 44100 -ac 1 -b:a 128k http://localhost:8081/supersecretffmpeg -i rtsp://192.168.2.32  -s 860x640 -f mpegts -vcodec mpeg1video -b 800k -r 30  http://192.168.2.250:8081/supersecret

2、访问: (jsmpeg/view-stream.html)就能看到摄像头的画面,延时很低具体没测,实时性满足要求。

top数据:

PID USER      PR  NI    VIRT RES SHR S %CPU %MEM TIME+ COMMAND 3815 root 20 0 565184 74264 10972 S 54.2 1.9 1:06.32 ffmpeg 1970 root 20 0 2716632 475728 138652 S 28.2 12.1 13:12.39 Web Content 1879 root 20 0 2613608 383752 127160 S 13.3 9.7 6:37.71 firefox-esr

转载于:https://www.cnblogs.com/tomkart/p/9040782.html

你可能感兴趣的文章
如何通过解决精益问题提高敏捷团队生产力
查看>>
打破凉凉诅咒:三个有大量用户基础的区块链项目
查看>>
InfoQ观点:Java EE的未来
查看>>
创新性应用深度学习,IBM在语音识别领域取得了里程碑式突破
查看>>
运用供应链管理实现更快速、更高质量的交付
查看>>
EE4J项目情况汇总,微软加入Jakarta EE工作组
查看>>
华中科大提出EAT-NAS方法:提升大规模神经模型搜索速度
查看>>
Gradle发布4.7版本,支持Java 10
查看>>
大前端时代,如何做好C 端业务下的React SSR?\n
查看>>
分布式团队面临的五大问题及解决办法
查看>>
webpack 热加载你站住,我对你好奇很久了
查看>>
Scala类型系统的目的——Martin Odersky访谈(三)
查看>>
Quarkus:一个Kubernetes原生Java框架
查看>>
Mozilla开发全新的公开网络API WebXR 来实现增强现实
查看>>
多形态MVC式Web架构:完成实时响应
查看>>
如何迅速分析出系统CPU的瓶颈在哪里?
查看>>
艰困之道中学到的经验教训
查看>>
Javaslang 3.0之路
查看>>
Spark Streaming中流式计算的困境与解决之道
查看>>
阿里巴巴收购以色列VR公司,大厂死磕VR为哪般?
查看>>