完成:带水印的视频
过程如下:
- 使用 user、video_file、upload_date 字段创建一个 models.py
- 创建一个 forms.py 以接受带有验证的 video_file
- 最后使用views.py链接文件并在上传视频时处理水印过程。
这是我的意见.py
def upload_video(request):
if request.method == "POST":
form = VideoUploaderForm(
data = request.POST,
files = request.FILES,
)
if form.is_valid():
obj = form.save(commit = False)
vid = request.FILES['video_file']
clip = VideoFileClip(vid.temporary_file_path())
#watermark
video = VideoFileClip(clip)
logo = (ImageClip(LOGO_PATH)
.set_duration(video.duration)
.resize(height=50)
.margin(right=8, top=8, opacity=0)
.set_pos(("center","bottom")))
final_ = CompositeVideoClip([video, logo])
final_.write_videofile("watermarked.mp4")
obj.save()
return redirect(page_to_load)
else:
form=VideoUploaderForm()
return render(request,'page.html',{"form":form})
引用我还想在视频中添加 LOGO,它可以是一个简单的 PNG 图像。
我得到的错误:
'VideoFileClip' object has no attribute 'endswith'