【问题标题】:Django upload video with automatic thumbnails generationDjango 上传视频并自动生成缩略图
【发布时间】:2018-06-06 17:03:35
【问题描述】:

我想通过自动缩略图生成功能将 mp4 和 mov 视频上传到我的 django 网站。 缩略图可以是 jpg 或 png,将保存在 ImageField 和视频到 FileField。

thumbnail = models.ImageField()
video = models.FileField()

我正在使用 Python 3.6.3、Django 1.11.8 和 dropzone。

请建议我如何创建类似于 youtube 的视频上传页面。

是否有任何可用的开源插件来实现这一点?

【问题讨论】:

    标签: python django video file-upload django-forms


    【解决方案1】:

    您可以使用ffmpeg 来完成。

    import subprocess
    
    video_path = '/tmp/video.mov'
    image_path = '/tmp/video.jpg'
    time = '00:00:00.000'
    
    subprocess.call(['ffmpeg', '-i', video_path, '-ss', time, '-vframes', '1', image_path])
    

    这将在视频的 00:00:00.000 拍摄 1 帧并将其存储为图像。

    【讨论】:

    • 我怀疑在哪里使用此代码。我们应该在 views.py 中使用它,如果是,那么如何,或者我们应该在 html 页面或 models.py 中使用它。
    • @SandipKumar 因为该进程应该需要时间才能运行,最好将它放在异步进程上 - 即。将它放在model.save() 方法或调用延迟芹菜任务的信号上
    • 正如安德烈建议的那样。打开你的models.py,然后在你想要表示的对象的类中创建一个名为def save(self,*args,**kwargs): //what you want then super().save(*args,**kwargs)的新方法
    猜你喜欢
    • 2016-05-05
    • 2019-10-23
    • 2014-06-27
    • 2012-05-19
    • 1970-01-01
    • 2012-09-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多