gpt4 book ai didi

python - 为什么我不能在网站上显示转换后的视频?

转载 作者:行者123 更新时间:2023-12-02 16:50:27 25 4
gpt4 key购买 nike

我使用django制作了Web应用程序,并且在本地服务器上运行良好。
我上传了慢 Action 视频,可以将转换后的视频下载到网络上
但是,当我使用AWS或pythonanywhere发布网站时,我会隐秘上传视频。我只能显示上传的原始视频,没有任何结果。你能帮助我吗?

from django.shortcuts import render, redirect
from django.core.files.storage import FileSystemStorage
import cv2



def upload(request):
context = {}
if request.method == 'POST':
uploaded_file = request.FILES['videoname']
fs = FileSystemStorage()
name = fs.save(uploaded_file.name, uploaded_file)
context['url'] = fs.url(name)
tujuan = context['url'][1:]
modfile = tujuan + '.mp4'
context['modurl'] = context['url']+'.mp4'
cap = cv2.VideoCapture(tujuan)
# 재생할 파일의 넓이와 높이
width = cap.get(cv2.CAP_PROP_FRAME_WIDTH)
height = cap.get(cv2.CAP_PROP_FRAME_HEIGHT)
print("재생할 파일 넓이, 높이 : %d, %d" % (width, height))
# fourcc = cv2.VideoWriter_fourcc(*'mp4v')
fourcc = 0x31637661
out = cv2.VideoWriter(modfile, fourcc, 30.0, (int(height), int(width)))


ret, pos_frame = cap.read()
while (cap.isOpened()):
ret, frame = cap.read()

if ret == False:
break;
result = cv2.addWeighted(pos_frame, 0.5, frame, 0.5, 0)
result = cv2.transpose(result)
result = cv2.flip(result, 1)
out.write(result)
pos_frame = frame

cap.release()
out.release()

return render(request,'index.html', context)

最佳答案

您正在使用Django's default uploaded files handling。 Django使用MEDIA_ROOTMEDIA_URL设置将文件存储在本地。 On PythonAnywhere您必须设置从MEDIA_URLMEDIA_ROOT的静态文件映射。您可以在settings.py中设置这些常量,但是还需要在PythonAnywhere的“静态文件”部分的“Web”配置页面中配置映射。

关于python - 为什么我不能在网站上显示转换后的视频?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64255419/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com