【问题标题】:Get first frame of video rails获取视频轨道的第一帧
【发布时间】:2017-07-20 13:56:55
【问题描述】:

我在参数中获取视频文件如何使用回形针或载波或其他宝石从该视频中获取第一帧作为图片?

params 中的视频如下所示:

 #<ActionDispatch::Http::UploadedFile:0x007fc598ab45b8
 @content_type="video/mp4",
 @headers="Content-Disposition: form-data; name=\"file\"; filename=\"Resource 
Prospector Mobility Test.mp4\"\r\n" + "Content-Type: video/mp4\r\n",
 @original_filename="Resource Prospector Mobility Test.mp4",
 @tempfile=#
<File:/var/folders/cy/q0_j47kn24l58ff4tqlxzsjc0000gq/T/RackMultipart20170720-
6218-1cna8ld.mp4>>

【问题讨论】:

    标签: ruby-on-rails video ffmpeg paperclip carrierwave


    【解决方案1】:

    您将无法单独使用文件上传 gem 来做到这一点——您必须使用其他东西,就像使用 ImageMagick(或 RMagick 或类似的)来处理上传图像中的缩略图一样。

    convert input.mp4[X] thumbnail.png 其中 X 是一个框架。

    更多http://www.imagemagick.org/Usage/video/#gif

    最好的服务器端选择可能是 ffmpeg。您应该能够按照与使用 ImageMagick 对图像进行缩略图(上传、在后台作业中处理等)相同的常规步骤进行操作。

    如果您使用的是第三方视频解决方案(YouTube、Wistia 等),您可能会在将文件发送到他们的服务后使用 API 调用来生成缩略图。

    【讨论】:

    • 我尝试使用 ffmpeg,写了这一行 FFMPEG::Movie.new(Rails.root.join('lovetherents.mov').to_s) 并得到一个错误“无法解析来自 FFProbe 的输出“会是什么?路径正确
    【解决方案2】:

    使用ffmpeg解决

    gem 'streamio-ffmpeg', '~> 3.0', '>= 3.0.2'

    遇到“无法解析来自 FFProbe 的输出”的问题,但通过重新安装 ffmpeg 解决了它

    brew install ffmpeg --with-fdk-aac --with-libass --with-sdl2 --with-x265 --with-freetype --with-libvorbis --with-libvpx --with-opus

    【讨论】:

    • 甜蜜!很高兴解决了这个问题——总是需要用 linux 媒体转换工具找出额外的库:/
    猜你喜欢
    • 1970-01-01
    • 2010-11-12
    • 2017-11-21
    • 2012-05-25
    • 1970-01-01
    • 2020-04-30
    • 1970-01-01
    • 2016-05-26
    • 1970-01-01
    相关资源
    最近更新 更多