【问题标题】:Discard MediaCodec output after encoding编码后丢弃 MediaCodec 输出
【发布时间】:2021-04-12 06:31:38
【问题描述】:

我在 Camera2 应用程序中使用 MediaCodec,并且我有一个通过运行一天的录制来测试它的用例。 我想要对视频进行编码,但我希望它一完成就被丢弃,因此不使用存储空间。如果可能的话,最好将 MediaCodec 输出路由到 dev/null 之类的东西。

任何类型的 hack 也可以,只是应该继续对视频进行编码但不保存。

【问题讨论】:

    标签: android testing android-camera2 android-mediacodec dev-null


    【解决方案1】:

    我找到了解决方案。即使在 Android 上,我们也确实可以重定向到 dev/null。

    private fun create(): MediaMuxer {
        return  MediaMuxer(openFile("dev/null")!!, MediaMuxer.OutputFormat.MUXER_OUTPUT_MPEG_4)
    }
    
    private fun openFile(path: String): FileDescriptor? {
        val file = File(path)
        val fos = FileOutputStream(file)
        return fos.fd
    }
    

    另一种解决方案是使 muxer null 发生编码但不保存。 muxer?.start() 如果您想在轨道索引超过最大值的问题上运行几天的编码,此解决方案会更好。

    【讨论】:

      猜你喜欢
      • 2017-04-12
      • 1970-01-01
      • 2014-04-30
      • 2016-03-27
      • 1970-01-01
      • 1970-01-01
      • 2019-12-11
      • 2014-10-06
      • 1970-01-01
      相关资源
      最近更新 更多