1

完成:带水印的视频
过程如下:

  1. 使用 user、video_file、upload_date 字段创建一个 models.py
  2. 创建一个 forms.py 以接受带有验证的 video_file
  3. 最后使用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'

4

0 回答 0