我正在尝试同时录制视频(背面和正面摄像头)在同一时间。正面摄像头是全屏和近摄像头在左边。我正在使用camera2 API打开2相机同时和记录,记录视频将保存到2. mp4文件。现在,我希望输出是1. mp4文件(正面视频是完整的,背面视频在左边)。我做了研究,我可以通过使用MediaMuxer将2个摄像头资源合并成一次并保存到一个文件中。那么我如何才能安排在左边的近视频?所以,任何人都有任何建议这样做?和任何建议做同时录制视频(近和前置摄像头)在同一时间,并保存到一个文件谢谢。
qlfbtfca1#
MediaMuxer只能将多个音轨合并到一个容器文件中。它不能进行视频合成。可能解决方案的高级概述:您可以将两个摄像头设备中的帧输入SurfaceTexture对象。这使它们可用作OpenGL ES外部纹理。接下来,您可以使用OpenGL ES将这些帧组合成单个图像。最后,您可以使用MediaCodec API对OpenGL ES的输出进行编码,并使用MediaMuxer将其写入文件。一些入门文档:1、2、3
MediaMuxer
SurfaceTexture
MediaCodec
1条答案
按热度按时间qlfbtfca1#
MediaMuxer
只能将多个音轨合并到一个容器文件中。它不能进行视频合成。可能解决方案的高级概述:
您可以将两个摄像头设备中的帧输入
SurfaceTexture
对象。这使它们可用作OpenGL ES外部纹理。接下来,您可以使用OpenGL ES将这些帧组合成单个图像。最后,您可以使用MediaCodec
API对OpenGL ES的输出进行编码,并使用MediaMuxer
将其写入文件。一些入门文档:1、2、3