java – 从Android摄像头即时加密视频

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

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

解决方法

您可以使用LocalServerSocket和LocalSocket来实现您想要的功能.

LocalServerSocket,它通过LocalServerSocket.getFileDescriptor()提供FileDescriptor

>启动LocalServerSocket.
>启动LocalSocket对象并连接到LocalServerSocket.
>调用LocalServerSocket.accept()以接受来自LocalSocket的连接.
>建立连接后,您可以从LocalServerSocket获取FileDescriptor.
>可以从LocalSocket.getInputStream()中检索Camera写入LocalServerSocket的每个字节,您可以使用for循环获取字节流并写入CipherOutputStream.

请记住将所有步骤放入新线程中.

我使用这些API来创建动态流处理器,并将Camera作为流源.

我希望这有帮助.

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...