Saj*_*uzi 3 video android ffmpeg canvas bitmap
在我的应用中,我录制了一个视频,我想在该视频的右下角覆盖我公司的网址。我使用MediaRecorder录制视频,但是录制没有问题,但是在视频中添加文字并没有成功。我搜索并找到了一些库,例如FFmpeg和JavaCV,这些库可以让用户在视频上覆盖文本,但是我不知道是否有任何方法可以在Android中使用它们。之后,找到OnPreviewFrame,它返回camerapreivew的每一帧。我想在用户触摸录制按钮后获取所有帧,并使用画布在每个帧上绘制文本,然后将所有这些帧保存在一起,直到停止录制视频,并且视频持续时间固定为15秒。这是一个好的解决方案吗?如果是,应该如何实现OnPreviewFrame函数?我知道怎么画画布,但是我不知道
使用该方法将是非常明智的性能选择。我绝对建议您对ffmeg进行更深入的研究。我相信它并不难使用,并且ffmeg有简单的库,而没有NDK的麻烦。看一下这个库,检查是否有需要的功能可用。
ffmpeg -i movie.mp4 -i logo.png -filter_complex overlay output.mp4
Run Code Online (Sandbox Code Playgroud)
该命令将是您正在寻找的东西。
如果您仍然想使用ffmeg之外的其他工具,建议您看看MediaMetadataRetriever
public Bitmap getFrameAtTime (long timeUs)
Run Code Online (Sandbox Code Playgroud)
您可以使用此方法。它为您提供了可绘制的位图。但是它仍然会像地狱般缓慢。我尝试使用此方法创建gif,一段时间后返回ffmeg。
希望能帮助到你。