我搜索了很多但没有找到答案,因为他们都使用命令“ffmpeg xxxx”来完成这项工作。我想使用低级别的apis:libavcodec
,libavformat
...
android摄像头的默认格式为NV21(YUV420sp)
,我想使用.so文件将摄像头预览中的帧编码为h264视频。这有什么例子吗?
答案 0 :(得分:3)
ffmpeg源代码中有一些示例显示如何使用低级API编码视频,ffmpeg/doc/examples
。
您要查看的文件是muxing.c
这是一个简单的例子,展示了如何打开音频和视频流,将它们复用并将其全部写入文件。它为视频输出和音频的正弦波生成程序测试模式,您只需更改fill_yuv_image()和get_audio_frame()函数即可使用您的数据,然后将main()函数替换为JNI导出的函数,你差不多完成了。