我正在尝试获取 android 相机生成的预览帧并将其传递data[]给 ffmpeg 输入管道以生成 flv 视频。我使用的命令是:
ffmpeg -f image2pipe -i pipe: -f flv -vcodec libx264 out.flv
我也尝试强制输入格式yuv4mpegpipe,rawvideo但没有成功...... android-camera 生成的预览帧的默认格式是NV21. 我调用'ffmpeg的方式是通过Process API并将预览帧写入data[]进程' stdin......onPreviewFrame()定义如下:
public void onPreviewFrame(byte[] data, Camera camera)
{
try
{
processIn.write(data);
}
catch(Exception e)
{
Log.e(TAG, FUNCTION + " : " + e.getMessage());
}
camera.addCallbackBuffer(new byte[bufferSize]);
}
processIn连接到ffmpeg流程stdin并buffersize根据为 提供的文档进行计算addCallbackBuffer()。有什么做错了吗...?
谢谢...