【问题标题】:Saving V4L2 video camera output保存 V4L2 摄像机输出
【发布时间】:2011-01-03 16:09:48
【问题描述】:

如果我以位图格式捕获使用 V4L2 保存相机的输出时,哪种视频格式最容易?当然,直接获取 mpeg 可能很好,但不幸的是,我不能指望这一点。

我已经设法捕捉到帧,现在我需要以某种方式查看视频。我可以使用一些 Linux 工具简单地转换这些帧,还是可以直接从我的应用程序中轻松保存视频?

【问题讨论】:

  • 哎呀,对不起,我的错,没有注意到您在谈论“我的应用程序”,所以这实际上与编程相关 - 无论如何,libffmpeg 无论如何都可能是值得一看的东西...
  • 好吧,这么说吧:它是一个“设备”,我需要编写一个代码来简单地验证相机(以及其他)是否工作。视频格式不需要花哨或任何东西,只要我能证明它是实际抓取视频的相机就足够了。所以问题的一部分是我不知道我是否可以在设备上安装大量非标准库(例如那些不在 Linux 中的库)。

标签: linux video-capture video-encoding v4l2


【解决方案1】:

为简单起见(如在概念验证演示中),您可以继续将从设备捕获的 YUV 帧直接存储到文件中。

有很多查看器支持播放文件中的单帧/多帧 YUV 数据。

一个这样的 YUV 查看器是freecode.com/projects/yay

【讨论】:

    【解决方案2】:

    如果您使用mencoderffmpeg,您几乎可以使用任何格式/编解码器

    顺便说一句,这个问题真的应该在 superuser.com 上

    【讨论】:

      【解决方案3】:

      如果您已经在捕捉帧,您可以将它们保存为 PPM 图像,然后转为 JPEG。我使用 v4l2 和 ImageMagick 做到了这一点。也许您可以将 JPEG 推送到 Motion JPEG 流中。它可能不像 MPEG 那样高科技,但你可以让它快速运行。 PPM 文件很容易创建。如果我没记错的话,v4l2 示例代码向您展示了如何执行该部分。

      【讨论】:

      • V4L2 规范中的 capture.c 示例中没有这样的东西。
      • 好吧,谢谢你……已经很久了。我在一些 v4l2 相关站点上找到了一个示例。这不像他要求 PPM 特定的代码示例。
      猜你喜欢
      • 2019-08-11
      • 2017-09-20
      • 1970-01-01
      • 2021-12-09
      • 1970-01-01
      • 2013-06-29
      • 1970-01-01
      • 1970-01-01
      • 2012-03-16
      相关资源
      最近更新 更多