我试着去拍摄Android摄像头生成的预览帧并传递data[]到ffmpeg输入管道来生成一个flv视频.我使用的命令是:
ffmpeg -f image2pipe -i pipe: -f flv -vcodec libx264 out.flv
Run Code Online (Sandbox Code Playgroud)
我也尝试强制输入格式yuv4mpegpipe,rawvideo但没有成功...... android-camera生成的预览帧的默认格式是NV21.invokin'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]);
}
Run Code Online (Sandbox Code Playgroud)
processIn与ffmpeg流程相关联,stdin并buffersize根据提供的文档计算addCallbackBuffer().有什么东西在做错了吗?
谢谢...