私はコーディングとデコードのプロセスでは、コーディングステージは非常によく動作し、私のエンコードされたH.264ファイルを正しく読み取ることができます、問題は私のデコードプロセスと主に変換I420からARGBまで、これを修正するのに役立つことができます。Delphi OpenH264デコード
/*
* [ IN ] SourceData : the encoded frame(s)
* [ OUT ] pTargetbuffer : the Target buffer
* [ OUT ] width
* [ OUT ] height
*/
{
int iStride[2];
init();
... the decoding routine : pData contains the YUV
if (ret != dsErrorFree) {
return -1;
}
if (!m_sBufferInfo.iBufferStatus) {
return -2;
}
LWidth = m_sBufferInfo.UsrData.sSystemBuffer.iWidth;
LHeight = m_sBufferInfo.UsrData.sSystemBuffer.iHeight;
*width = LWidth;
*height = LHeight;
iStride[0] = m_sBufferInfo.UsrData.sSystemBuffer.iStride[0];
iStride[1] = m_sBufferInfo.UsrData.sSystemBuffer.iStride[1];
return 0;
}
、ここで私のDelphiの実装です:
Image.Picture.Bitmap.PixelFormat := pf24bit;
Image.Picture.Bitmap.Width := 320;
Image.Picture.Bitmap.Height := 240;
...
Result:=H264Decoder_decode(FEncodedBuffer,
Image.Picture.Bitmap.ScanLine[Image.Picture.Bitmap.Height-1],
EncodedBufferSize,LWidth,LHeight);
if result=0 then Image.Repaint;
非常に多くのおかげで
はここ(OpenH264ラッパーDLLから)私のデコード機能です。
** OpenH264 **の完全なDelphiバージョンを提供できますか?いくつかのリポジトリにGitHubやダウンロードする他の場所にアップロードすることができますか?私は非常にこれを必要としています:-) –
私は[このモデル](http://www.dobestのようなデバイスの画面のリアルタイムストリームを受信したいDelphi + Android(Java)プロジェクトの例で働いています.me/blog/2016/06/17/Android%E5%B1%8F%E5%B9%95%E7%9B%B4%E6%92%AD%E6%96%B9%E6%A1%88 /しかし、あなたが上記の質問のように「TImage」でDelphiを受け取って欲しいです。 –