python摄像头流媒体服务器

Posted Rainflow

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python摄像头流媒体服务器相关的知识,希望对你有一定的参考价值。

from flask import Flask, render_template, Response
import cv2

app = Flask(__name__)

camera = cv2.VideoCapture(0)

def generate_frames():
    while True:
        success, frame = camera.read()
        if not success:
            break
        else:
            ret, buffer = cv2.imencode(\'.jpg\', frame)
            frame = buffer.tobytes()
            yield (b\'--frame\\r\\n\'
                   b\'Content-Type: image/jpeg\\r\\n\\r\\n\' + frame + b\'\\r\\n\')


@app.route(\'/\')
def video_feed():
    return Response(generate_frames(), mimetype=\'multipart/x-mixed-replace; boundary=frame\')

if __name__ == \'__main__\':
    app.run(debug=True)

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

【中文标题】浏览器将摄像头流推送到媒体服务器【英文标题】: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流插件能做的事情很少(可能是我学的不够深),谢谢..

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

流媒体服务器海康威视 大华摄像头实现视频监控直播解决方案

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

使用 WebRTC 从网络摄像头捕获媒体流,将流发布到媒体服务器并从那里分发

SRS流媒体服务器搭建及拉取摄像头视频流经opencv处理后再推流至SRS

RTSP安防摄像头/海康大华硬盘录像机/NVR网页低延时播放流媒体服务器EasyNVR调取接口报Unauthorized如何解决?

中维世纪gb28181如何设置