gpt4 book ai didi

Android——在播放视频时分析编码帧

转载 作者:太空狗 更新时间:2023-10-29 13:49:48 31 4
gpt4 key购买 nike

我有一个摄像头应用程序,可以在录制时分析视频(检测摄像头移动)。我使用 camera2 API 并在录制视频(使用 MediaRecorder)时获取帧(来自相机)。但视频文件需要在服务器上再次分析。问题是我在手机上分析非压缩帧。但是服务器在压缩和解压后分析视频帧。这些框架绝对不同。

我的 MotionDetector 从相机获取帧,使用 Phase Correlate 计算当前帧和前一帧之间的偏移。视频文件上传到服务器后,使用相同的 MotionDetector 进行分析。

如果我将未压缩帧上的帧间移位与压缩帧上的帧间移位进行比较——它们显然不同。

有没有办法获取压缩后的帧数?

目前的数据流是这样的:

1. Frames from camera
2.1 frames from camera displayed on a screen
2.2 frames from camera are fed to MediaRecorder.
2.3 frames from camera are fed to my MotionDetector
3. MediaRecorder encodes camera frames into H264 format.
4 MediaRecorder output stored to file

我需要数据工作流程如下所示:

1. Frames from camera
2.1 frames from camera displayed on a screen
2.2 frames from camera are fed into MediaRecorder.
3. MediaRecorder encodes camera frames into H264 format.
4.1 MediaRecorder output stored to file
4.2 MediaRecorder output goes to MediaCodec
5. MediaCodec decodes frames.
6. frames from MediaCoded are fed to MotionDetector.

有办法吗?

最佳答案

如果您停止使用 MediaRecorder,而只使用 MediaCodec直接用于编码视频,您应该能够在将编码视频缓冲区写入 MediaMuxer 之前检查它们用于存储到磁盘。

这比直接使用 MediaRecorder 复杂得多,但对于这种情况要灵活得多。

关于Android——在播放视频时分析编码帧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49603884/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com