【问题标题】:Python Requests - no response when requesting mjpeg dataPython 请求 - 请求 mjpeg 数据时没有响应
【发布时间】:2017-01-06 18:18:37
【问题描述】:

我有一个简单的流媒体服务器,提供 mjpeg 流 (https://blog.miguelgrinberg.com/post/video-streaming-with-flask/page/3)。通过浏览器访问 mjpeg 数据时,它按预期工作。我看到一个网络摄像头流。

如果我通过 python 发出 get 请求(使用 python 请求:http://requests.readthedocs.io/),我既没有收到任何响应(也使用 Insomnia REST Client 进行了测试),也没有收到状态码/异常。

requests.get(url)

我想做的是编写一个代理脚本(在 python 中),它只是转发 mjpeg 流。

【问题讨论】:

    标签: python http python-requests mjpeg


    【解决方案1】:

    requests 库可能不是转发视频流的正确选择,因为您必须获取一段视频,然后以某种方式将其解释为视频,然后将其转回您可以放入的流中在网络上。此外,您的视频可能不会通过 HTTP 流式传输,这是 requests.get 支持的协议。最好的选择是简单地将您的计算机设置为代理服务器:http://www.aboutdebian.com/proxy.htm,这样一个数据包基本上会被写入和读取一个套接字,只需重写高层信息,例如发送数据包的位置,而无需必须解释数据包的内容。

    也就是说,如果你真的想按照你的建议去做,并且万一视频以某种方式通过 HTTP 流式传输,你想要stream=True

    stream = requests.get(url, stream=True)
    if stream.ok:
        chunk_size = 1024
        for chunk in stream.iter_content(chunk_size=chunk_size):
            interpret_video_and_write_to_socket_somehow(chunk, blocking=True)
    

    【讨论】:

    • 谢谢!我将看看将我的服务器(ubuntu)设置为代理服务器..
    猜你喜欢
    • 2016-03-30
    • 1970-01-01
    • 1970-01-01
    • 2017-06-29
    • 2015-11-16
    • 1970-01-01
    • 2020-08-04
    • 2017-09-22
    • 2021-10-01
    相关资源
    最近更新 更多