如何获取活动存储视频附件的持续时间?

时间:2019-06-11 18:44:22

标签: ruby-on-rails

在我的Rails应用程序中,我有一个带有视频作为附件的模型。我想显示视频的时长(持续时间),但似乎无法弄清楚在Blob上调用哪种方法或属性以获取该信息。

理想情况下,会是这样:

Lecture.video.blob.duration

但是那不存在。我似乎在文档中找不到它;也许我只是在错误的地方寻找。

感谢您的帮助。

2 个答案:

答案 0 :(得分:2)

**下面的文档链接指出,FFmpeg库是使用VideoAnalyzer所必需的。可以使用$ brew install ffmpeg

通过自制程序安装

这里是VideoAnalyzer文档的链接。

本质上,您可以做类似...

ActiveStorage::Analyzer::VideoAnalyzer.new(@lecture.video.blob).metadata[:duration]

答案 1 :(得分:1)

您快到了:

Lecture.video.blob.metadata.fetch(:duration, nil)