【发布时间】:2019-10-26 05:55:16
【问题描述】:
在我的 Rails 应用程序中,我有一个带有视频作为附件的模型。我想显示视频的时长(持续时间),但似乎无法弄清楚在 blob 上调用什么方法或什么属性来获取该信息。
理想情况下,应该是这样的:
Lecture.video.blob.duration
但这并不存在。我似乎在文档中找不到它;也许我只是在寻找错误的地方。
感谢您的帮助,谢谢。
【问题讨论】:
标签: ruby-on-rails
在我的 Rails 应用程序中,我有一个带有视频作为附件的模型。我想显示视频的时长(持续时间),但似乎无法弄清楚在 blob 上调用什么方法或什么属性来获取该信息。
理想情况下,应该是这样的:
Lecture.video.blob.duration
但这并不存在。我似乎在文档中找不到它;也许我只是在寻找错误的地方。
感谢您的帮助,谢谢。
【问题讨论】:
标签: ruby-on-rails
** 下面的文档链接指出,使用 VideoAnalyzer 需要 FFmpeg 库。这可以通过自制软件安装,$ brew install ffmpeg
这是VideoAnalyzer 文档的链接。
基本上,您可以执行类似...
ActiveStorage::Analyzer::VideoAnalyzer.new(@lecture.video.blob).metadata[:duration]
【讨论】:
你快到了:
Lecture.video.blob.metadata.fetch(:duration, nil)
【讨论】:
blob 也适用于我(Rails 6.1)Lecture.video.metadata
Lecture.video.analyze,我认为您需要在系统中安装FFmpeg