gpt4 book ai didi

ruby - 在 Ruby 中访问视频每一帧的像素数据

转载 作者:行者123 更新时间:2023-12-04 22:55:22 29 4
gpt4 key购买 nike

我希望能够在 Mac 上使用 Ruby 读取/流式传输视频,并能够访问每一帧的像素数据。

我试过的

  • https://github.com/streamio/streamio-ffmpeg

    它擅长将视频分割成帧,但我不知道如何在不先将每个帧保存为图像的情况下访问像素数据(或者如果有可能的话)。

  • require 'streamio-ffmpeg'
    movie = FFMPEG::Movie.new("flakes.mp4")

    movie.screenshot("screenshots/screenshot_%d.jpg", { custom: %w(-vf crop=60:60:10:10), vframes: (movie.duration).to_i, frame_rate: movie.frame_rate/24 }, { validate: false })`

  • https://github.com/wedesoft/hornetseye-ffmpeg

    这似乎有很大的潜力,但我认为它不再被维护,而且它并不打算在 MacOS 上使用,所以我在那里安装它时遇到了问题(找不到头文件等,并且无法配置它afaik)。

  • 知道我可以为这个用例使用什么工具或方法吗?

    最佳答案

    如果您有可用的 ffmpeg(streamio-ffmpeg 只是将命令行调用包装到 ffmpeg),您可以使用 File.mkfifo 创建一个命名管道并让 ffmpeg 将其屏幕截图写入该管道。

    然后像打开任何普通文件一样在 Ruby 中打开管道,您可以直接从 ffmpeg 读取屏幕截图图像,而无需将它们传输到磁盘或从磁盘传输。使用您选择的 Ruby gem 解析像素数据。

    关于ruby - 在 Ruby 中访问视频每一帧的像素数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54295358/

    29 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com