浏览器将摄像头流推送到媒体服务器

Posted

技术标签:

【中文标题】浏览器将摄像头流推送到媒体服务器【英文标题】:broswer push camera stream to media server 【发布时间】:2020-06-11 03:28:39 【问题描述】:

大家。我需要一些帮助来解决一些流问题,这是我的待办事项清单。 我想通过 broswer 将我的相机流、麦克风流传输到媒体服务器和 python 服务器 需要拉这个流来做一些 asr、tts 的事情。之后,它会生成一个回复流并推送回媒体服务器,然后浏览器拉取这个流。我的计划是这样的。

    浏览器流到 rtmp 服务器使用 rtmp 协议 python 服务器使用 rtmp 拉取这个流 python 服务器将其回复推送到 rtmp 服务器 浏览器拉一下

但是,我的问题是如何将 rtmp 流式传输到 rtmp 服务器?因为据我所知,我可以在浏览器中使用 webrtc 来执行此操作?

所以过程可能是这样的?

    浏览器流到 janus(或其他 webrtc 服务器)使用 webrtc python 使用 webrtc 拉取这个流 python 服务器将其回复推送给 janus 浏览器使用 webrtc 拉取此流

但是,我不确定是否可以完成第 2 步或第 3 步,因为我不知道如何在 python 环境中使用 webrtc 并且没有浏览器并使用我自己的流(不是相机流)

或者janus可以将webrtc流转换并推送到rtmp服务器吗?

如有任何帮助,将不胜感激。

【问题讨论】:

【参考方案1】:

我知道使用mediasoup,您可以使用 webrtc 将摄像头发送到服务器。然后您可以使用服务器通过 rtp 将其重新传输到您的算法,最后再次使用 webrtc 将响应发送回客户端。

【讨论】:

感谢您的回复,最后我选择了rtmp来做。我发现带有 Flash Flugin 的浏览器可以将 rtmp 流发送到服务器。并且算法使用ffmpeg拉取rtmp流,并将响应发送回rtmp服务器,最后,broswer拉取这个流。 @hahoo 这个插件叫什么? 我使用 janus 而不是 mediasoup,我不知道 janus 如何使用 rtp 将 webrtc 流重新传输到我的算法,我也不知道如何使用 webrtc 发送自己的流(我只知道如何使用相机流..) @hahoo 顺便说一下,你可以将 rtp 发送到 ffmpeg,这是 mediasoup 的用例之一 闪存播放器。哦,我去学习一下这个webrtc服务器,我觉得janus流插件能做的事情很少(可能是我学的不够深),谢谢..

以上是关于浏览器将摄像头流推送到媒体服务器的主要内容,如果未能解决你的问题,请参考以下文章

将本地 WebRTC 流推送到云端的 NodeJS 服务器

Qt推流程序自动生成网页远程查看实时视频流(视频文件/视频流/摄像头/桌面转成流媒体rtmp+hls+webrtc)

LiveQing高性能RTMPFLVHLS流媒体服务器软件-支持与企业MySQL数据库对接

LiveQing稳定高性能RTMP流媒体服务器软件-支持与企业MySQL数据库对接

网络摄像头如何按需推流?

浏览器低延时播放RTSP安防摄像头/海康大华硬盘录像机/NVR/流媒体服务器硬件开发机设备失去授权如何解决?