코딩 및 디코딩 프로세스에서 cisco OpenH264 코덱을 사용하고 있습니다. 코딩 단계가 매우 잘 작동하고 인코딩 된 H.264 파일을 올바르게 읽을 수 있습니다. 문제는 내 디코딩 프로세스 및 주로 I420 to ARGB, 어느 누구도이 문제를 해결할 수 있습니다.델파이 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;
}
여기 내 델파이 구현의 :
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 **의 전체 델파이 버전을 제공 할 수 있습니까? 예를 들어 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'에서 델파이를 받고 싶습니다. –