我正在尝试获取 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()
。有什么做错了吗...?
谢谢...