首页 > 解决方案 > 如何从 Django 中的 ffmpeg_streaming PUT 请求访问文件?

问题描述

我正在尝试使用名为 ffmpeg_streaming 和 Django2.0 的 python 包从我的网络摄像头流式传输视频。我可以看到服务器端收到的请求,但我无法访问视图中的实际文件。

这是我的意见.py

@csrf_exempt
def stream_video(request):
    stream = QueryDict(request.body)
    print("Stream: ", stream)
    data = {'stream': 'streaming...'}
"""
    if hasattr(request, '_post'):
        del request._post
        del request._files
    try:
        request.method = 'POST'
        request._lost_post_and_files()
        request.method = 'PUT'
    except(AttributeError):
        request.META['REQUEST_METHOD'] = 'POST'
        request._load_post_and_files()
        request.META['REQUEST_METHOD'] = 'PUT'
    request.PUT = request.POST
"""
    file_ob = request.POST
    print('Files: ', file_ob)
    files = request.FILES
    print('Files:' , files)
    return JsonResponse(data)

流视频.py

import ffmpeg_streaming

video = ffmpeg_streaming.input('/dev/video0', capture=True)
_480p  = Representation(Size(854, 480), Bitrate(750 * 1024, 192 * 1024))
hls = video.hls(Formats.h264(), hls_list_size=10, hls_time=5, method='POST', post_data='File')
hls.flags('delete_segments')
hls.representations(_480p)
hls.output('http://127.0.0.1:8000/stream_video/out.m3u8')

我将如何访问这些文件并将它们视为上传?

标签: pythondjangoffmpeg

解决方案


推荐阅读