Как создать образ из Byte[] отправить пакеты RTP
Привет,
Я работаю над захватом изображений, вызывая службу RTSP.
Для вызова службы RTSP я создал один пример приложения (в качестве клиента), в котором я создал объект socket и вызвал метод прослушивания службы RTSP.
Я также могу получить byte[] с помощью UDP-прослушивателя, но я не могу использовать это значение byte[] ни для создания изображения, ни для создания видео, и оно выдает ошибку типа "недопустимый параметр". Итак, как я могу создать изображение/видео, используя этот байт[] ?
Для справки здесь я приложил изображение и в нем вы можете увидеть полученный байт[]
2017-07-11_1531[^]
Что я уже пробовал:
-- Код вызова службы RTSP -----
IPEndPoint ip = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 322); Socket server = new Socket(AddressFamily.InterNetwork, SocketType.Stream,ProtocolType.Tcp); server.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReuseAddress, true); server.Connect(ip); var msg ="PLAY rtsp://{cameraIP}/axis-media/media.amp?resolution=352x240&compression=80 RTSP/1.0\r\nRange: npt=0-\r\nCSeq: 5\r\nUser-Agent: Lavf57.62.100\r\nSession: 100\r\n\r\n")"; server.Send(msg);
-- Код для приема UDP-пакетов, отправленных службой RTSP -----
var myEndPoint = (EndPoint)endPoint; var udpListener = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp); udpListener.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReuseAddress, true); udpListener.Bind(myEndPoint); var buffer = new byte[65536]; var size = udpListener.ReceiveFrom(buffer, ref myEndPoint); Array.Resize(ref buffer, size); //code for save image MemoryStream ms = new MemoryStream(buffer); var image = Image.FromStream(ms); var path = string.Format(@"d:\MyImage\camImage-temp.jpeg"); image.Save(path);