Я пишу программу, которая будет получать видеопоток с IP-камеры и отображать ее видео.
Я запрашиваю поток MJPEG, анализирую данные и отображаю кадр за кадром на элементе управления WPF для создания видео.
Я сравнил свою программу с другими программами и увидел, что моя программа отображает видео менее плавно, чем другие, хотя ОТОБРАЖЕНИЕ ЧАСТОТЫ КАДРОВ такое же.
Я отображал видео на элементе управления WPF, последовательно обновляя изображение элемента управления.
Кто-нибудь может сказать мне, почему моя программа не работает гладко? и как его улучшить.
ОБНОВИТЬ:
@LearnedfromMistake: есть 2 темы. Поток № 1 будет запрашивать, анализировать данные из потока камеры и добавлять кадры в очередь. Поток № 2 получит кадр из очереди и отобразит его.
Вот мой псевдокод.
Thread #1
{
while(true)
{
JpegFrame = ReadAFrameFromStream();
QUEUE.Append(JpegFrame);
}
}
Thread #2
{
while(true)
{
JpegFrame = QUEUE.GetFrame();
WPFControl.UpdateImage(JpegFrame); //Making video here
}
}