【问题标题】:How to create a fake Camera如何制作假相机
【发布时间】:2013-01-01 13:47:48
【问题描述】:

是否有可能,如果可以,“如何”在 Android 应用程序中创建“假”相机。所谓“假”,我的意思是一个所有软件创建,它看起来就像操作系统的普通相机,但实际上将位图或字节数组作为其输入数据。我想用这样的设备和 MediaRecorder 来创建 h.264 视频。

这可以用于:

  • 图像幻灯片视频创建
  • 截屏到视频文件

注意事项:不生根,不修改ROM​​

【问题讨论】:

    标签: android video android-camera video-encoding


    【解决方案1】:

    我认为您正在寻找一种将视频编码为 H.264 的方法,这种方法类似于 MediaRecorder 所做的,但不是来自相机。您并不特别关心这是使用“假相机”还是以其他方式完成的,对吗?那样的话……

    您可以使用 Android 4.1 及更高版本中提供的MediaCodec API。您可以只给它一系列图像,它会创建使用(如果可用)硬件编码器编码的视频。部分示例代码:Create video from screen grabs in androidEncoding H.264 from camera with Android MediaCodec

    【讨论】:

      【解决方案2】:

      如果您预计您的“假相机”会影响其他应用,则只能通过修改 Android 源代码并滚动您自己的 ROM 模组来实现。

      【讨论】:

      • 不,我不想让它作为伪设备提供给其他应用程序。
      • @Mondain:在这种情况下,媒体子系统算作另一个应用程序,因为它不在您的进程中。
      【解决方案3】:

      是的,你可以! 无需root,无需修改ROM​​,最好的办法是构建一个虚拟应用程序,将其他应用程序作为插件运行,这样您就可以修改目标应用程序中的任何内容。但是有很多工作要做,最好的消息是有几个开源项目可以做到这一点。 因此,接下来的事情并不难,您只需在/system/lib 中挂钩几个影响相机录制的库。 其实我是在我的设备上做的,但是我直接修改了system lib,当然要root了。但它适用于几乎所有应用程序,除了一些使用该服务捕获视频的应用程序。 我们必须修改服务库,但是有点困难。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-12-08
        • 2018-07-29
        • 2015-05-21
        • 2013-06-24
        • 1970-01-01
        • 1970-01-01
        • 2011-10-25
        相关资源
        最近更新 更多