Androidカメラによって生成されたプレビューフレームを取得し、data[]
ffmpeg入力パイプに渡してflvビデオを生成しようとしています。私が使用したコマンドは次のとおりです。
ffmpeg -f image2pipe -i pipe: -f flv -vcodec libx264 out.flv
yuv4mpegpipe
また、入力形式をandに強制しようとしまし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()
ます。何か間違っているのでしょうか...?
ありがとう...