从Android相机即时加密视频

我想要根据Android摄像头捕获的视频加密视频。 所以我需要告诉android MediaRecorder将它的视频流写入我的CipherOutputStream 。 问题是MediaRecorder.setOutputFile()方法只接受FileDescriptor并且无法从CipherOutputStream获取加密文件描述符。

所以我的问题是如何模拟FileDescriptor来接收数据写入并手动进行加密,或者以某种方式说服MediaRecorder将视频流传输到CipherOutputStream


你可以使用LocalServerSocket和LocalSocket来实现你想要的。

通过LocalServerSocket.getFileDescriptor()提供FileDescriptor的LocalServerSocket

  • 启动一个LocalServerSocket。
  • 启动一个LocalSocket对象并连接到LocalServerSocket。
  • 调用LocalServerSocket.accept()以接受来自LocalSocket的连接。
  • 建立连接后,您可以从LocalServerSocket获取FileDescriptor。
  • 摄像机写入LocalServerSocket的每个字节都可以从LocalSocket.getInputStream()中获取,您可以使用for-loop获取字节流并写入CipherOutputStream。
  • 请记住将所有步骤放入一个新的线程中。

    我使用这些API来创建流媒体流处理器,并将相机作为流源。

    我希望这有帮助。

    链接地址: http://www.djcxy.com/p/61809.html

    上一篇: Encrypt video on the fly from android camera

    下一篇: Disabling committing object changes in SQLAlchemy