Как отобразить видео в реальном времени из ffmpeg в C # / WPF? - PullRequest
1 голос
/ 09 апреля 2019

Я пытаюсь получить вывод из FFmpeg.exe для отображения в реальном времени на моем медиаплеере wpf.Входные данные для FFmpeg - это IP-камера и видеофайл (mp4).

Медиаплеер WPF нуждается в URI в качестве входа.Итак, я попытался разместить сервер Udp для публикации на FFmpeg (на котором я могу регистрировать данные, поступающие на консоль).Затем я пытаюсь получить поток с помощью медиаплеера, но безуспешно.

Мой слушатель Udp:

UdpClient _udpServer = new UdpClient(5000);
UdpClient _udpClient = new UdpClient(5001);
private void UdpListen() {
   while (true)
   {
      IPEndPoint RemoteIpEndPoint = new IPEndPoint(IPAddress.Any, 0);
      Byte[] receiveBytes = _udpServer.Receive(ref RemoteIpEndPoint);
      if (RemoteIpEndPoint.ToString() != "192.168.1.110:5001")
      {
         IPEndPoint ep = new IPEndPoint(IPAddress.Parse("192.168.1.110"), 5001);
         _udpClient.Send(receiveBytes, receiveBytes.Length, ep);
      }
      Console.WriteLine("receive data from " + RemoteIpEndPoint.ToString() + ": " + receiveBytes.Length);
   }
}

Вывод ffmpeg: ... -f mpegts udp: //192.168.1.110: 5000

Я передаю это в медиаплеер: udp: //192.168.1.110: 5001

Я ожидаю увидеть отображаемый видеофайл, поскольку ffmpeg обрабатывает вывод.Но я просто вижу, как ffmpeg выполняет свою обработку, а слушатель Udp пишет в консоль.Дайте мне знать, где я иду не так, спасибо заранее

...