「tryin」はアンドロイドカメラで生成されたプレビューフレームを取得し、data[]
をffmpeg入力パイプに渡してflvビデオを生成します。 私が使用したコマンド:AndroidカメラのキャプチャFFmpeg
ffmpeg -f image2pipe -i pipe: -f flv -vcodec libx264 out.flv
私もyuv4mpegpipe
とrawvideo
に入力フォーマットを強制しようとしたが、成功しません...アンドロイド、カメラによって生成されたプレビュー枠の デフォルトの形式はNV21
。 道午前invokin' ffmpegのはProcess API
経由で、プレビューを書くことは、プロセスへdata[]
フレームonPreviewFrame()
定義は以下のとおりである stdin
...:
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
で提供されたドキュメントに基づいて計算されます。 何か間違っていますか?
おかげで...
あなたは、プロセスのAPIを使用してffmpegのプロセスを起動したか説明できますか? – datayeah