【问题标题】:How to get duration of active storage video attachment?如何获取活动存储视频附件的持续时间?
【发布时间】:2019-10-26 05:55:16
【问题描述】:

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

理想情况下,应该是这样的:

Lecture.video.blob.duration

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

感谢您的帮助,谢谢。

【问题讨论】:

    标签: ruby-on-rails


    【解决方案1】:

    ** 下面的文档链接指出,使用 VideoAnalyzer 需要 FFmpeg 库。这可以通过自制软件安装,$ brew install ffmpeg

    这是VideoAnalyzer 文档的链接。

    基本上,您可以执行类似...

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

    【讨论】:

      【解决方案2】:

      你快到了:

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

      【讨论】:

      • 没有blob 也适用于我(Rails 6.1)Lecture.video.metadata
      • 请务必先运行Lecture.video.analyze,我认为您需要在系统中安装FFmpeg
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-08-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-23
      • 1970-01-01
      • 2020-03-17
      相关资源
      最近更新 更多