【问题标题】:Capture Video Length with FFMPEG and Paperclip使用 FFMPEG 和 Paperclip 捕获视频长度
【发布时间】:2011-05-19 20:54:59
【问题描述】:
我正在尝试在视频上传期间获取视频长度。我们正在使用 SWFUpload 上传文件。然后用回形针将其存储在 S3 上。我们当前的过程是将文件加载到内存中,然后对其进行分析。它与大型电影一起爆炸。我知道之后我可以将文件从 S3 重新下载到我的 EC2 实例。
我想知道是否有一种方法可以在 Paperclip 获取文件之前对其进行处理,以便对其运行 FFMPEG 检查。
【问题讨论】:
标签:
amazon-s3
ffmpeg
paperclip
【解决方案1】:
如果您不直接上传到 s3,您可以在保存临时文件之前执行 before_save 处理。这可能是最简单的方法。
我想知道您真的需要使用 FFMPEG 加载整个文件吗?您所需要的只是文件的元数据。我为音频编写了一个应用程序,它做了类似的事情。您可以从 Paperclip 中获取文件大小,如果您可以获取 mpeg 的比特率,则可以通过将文件大小除以比特率来轻松计算文件的长度。
使用 before_save/before_create 回调从文件中获取比特率并将其作为字段存储在数据库中。从此值动态生成长度。