K230怎样把处理过后的图像保存为MP4

Viewed 156

已经验证过官方的mp4保存代码,成功,有声音和图像
已经验证过对于摄像头视频帧的处理,在视频显示文字成功

但是如何把摄像头获取的视频经过加工后保存为mp4还是一片茫然,尝试在mp4_muxer.Process()调用前处理视频帧,但是缺告诉我Sensor占用。

这个mp4创建是不是自动获取的是摄像头和音频数据?无法使用处理后的数据。

以上是基于MicroPython的

谢谢

2 Answers

mp4_muxer.Process 的功能是采集摄像头画面,编码并存储为 MP4 文件。由于其内部实现将摄像头模块和编码器模块绑定在一起,因此无法完全满足你的需求。

你需要先将加工后的摄像头画面进行编码,再封装成 MP4。

  1. 如何将加工后的摄像头画面编码?

    可以参考 video_encoder.py 中的 stream_venc_test 函数,该函数演示了如何将已有的视频数据编码成 H.264/H.265 格式。

  2. 如何将生成的 H.264/H.265 格式数据封装成 MP4 文件?

    需要调用 k_mp4_* 系列函数来完成该功能,但这些接口并未通过示例对外开放。

    你可以参考 mp4_muxer.Process 的内部实现,主要关注 Mp4Container 类如何调用 k_mp4_* 系列函数封装 MP4 文件。

我后来大概也明白了需要自己进行Mp4Container类似的操作,但是哪里能看到mp4这个类的代码来方便我参考?
稍微找了一下,没有找到,麻烦指点一下,谢谢。

src/canmv/port/builtin_py/media/mp4format.py,参考这个文件中关于k_mp4_* 系列函数的调用。

不好意思,能给完整的地址吗?我到https://github.com/orgs/kendryte/repositories?type=all 找了一圈没有找到

找到了,找错地方了