Код: Выделить всё
SDK: General_NetSDK_Eng_Win64_IS_V3.052.0000002.0.R.201103
Проблема в том, что я не могу найти никакой документации о том, как обрабатывать эти данные, и образцы из SDK также не показывают, что вместо этого они строятся с Winforms, и они только передают ручку окна в управлении Picture Box к функции экспортированного DLL, и «магически» показывает потоковое видео: < /p>
[DllImport(LIBRARYNETSDK)]
public static extern IntPtr CLIENT_RealPlayEx(IntPtr lLoginID, int nChannelID, IntPtr hWnd, EM_RealPlayType rType);
< /code>
uss: 'hwnd' param - это ручка окон для отображения видео в. и только тогда я могу преобразовать его в какой -то тип, который я могу обрабатывать. private void RealDataCallback(IntPtr lRealHandle, uint dwDataType, IntPtr pBuffer, uint dwBufSize, IntPtr param, IntPtr dwUser)
{
switch (dwDataType)
{
case 0: // original data
break;
case 1: // frame data
HandleFrameData(lRealHandle, dwDataType, pBuffer, dwBufSize, param, dwUser);
break;
case 2: // yuv data
break;
case 3: // pcm audio data
break;
}
}
private void HandleFrameData(IntPtr lRealHandle, uint dwDataType, IntPtr pBuffer, uint dwBufSize, IntPtr param, IntPtr dwUser)
{
// The pBuffer parameter format is DHAV (.dav)
byte[] buff = new byte[dwBufSize];
Marshal.Copy(pBuffer, buff, 0, (int)dwBufSize);
using (var ms = new MemoryStream(buff))
{
}
}
< /code>
Обновление < /h3>
Я могу преобразовать данные YUV, представленные в Funcion Callback в RGB, но это не идеальное решение. Было бы намного лучше (и быстрее), если бы я мог преобразовать исходные (.dav) данных. Любая помощь будет оценена.
Подробнее здесь: https://stackoverflow.com/questions/666 ... eo-streams
Мобильная версия