我正在使用 django 并且非常新手在使用它。目前正在构建一个基本的上传页面,将视频上传到硬盘(基本上是在media
里面的文件夹中django project
)
所以我的代码工作正常,视频成功上传到媒体文件夹。
我正在使用 html 在单独的 html 页面上显示所有上传的视频video tag
,所以实际上问题是 MP4 格式的视频正在播放而剩余的视频没有。
下面是我的部分html代码和视图函数
uploads_list.html
<div style="padding-top:90px;">
<video id="vid" width="350" height="250" controls="controls">
<source src="{{MEDIA_URL}}videos/django_cms-_frontend_editing_1280x720.mp4" type="video/mp4" />
</video>
<video id="vid_2" width="350" height="223" controls="controls">
<source src="{{MEDIA_URL}}videos/1100000.flv" type="video/ogg" />
</video>
</div>
所以最后我的意图是,在上传时将所有上传的视频转换为MP4
格式并存储在media
文件夹中,以便我们可以使用html video
标签显示所有这些视频。
视图.py
def upload_file(request):
if request.method == 'POST':
form = UploadFileForm(request.POST, request.FILES)
if form.is_valid() and form.is_multipart():
handle_uploaded_file(request.FILES['file'])
return HttpResponseRedirect('/uploads_list') # which renders `uploads_list.html` page
else:
form = UploadFileForm()
return render_to_response('uploads_form.html', {'form': form,'total_files':os.listdir(settings.MEDIA_ROOT),'path':settings.MEDIA_ROOT},context_instance=RequestContext(request))
def handle_uploaded_file(file,path=''):
filename = file._get_name()
destination_file = open('%s/%s' % (settings.MEDIA_ROOT, str(path) + str(filename)), 'wb+')
for chunk in file.chunks():
destination_file.write(chunk)
destination_file.close()
那么任何人都可以告诉我,如何将上传的任何类型的视频(格式如flv
,3gp
等MXF
)转换为MP4
格式,然后再存储到media
django 的文件夹中?