首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何流畅地显示视频?

如何流畅地显示视频?
EN

Stack Overflow用户
提问于 2013-01-26 22:53:56
回答 1查看 488关注 0票数 0

我正在写一个程序,将从IP摄像机获得视频流,并显示其视频。

我请求MJPEG流,解析数据,并在WPF控件上一帧一帧地显示视频。

我已经将我的程序与其他程序进行了比较,我发现我的程序显示的视频不如其他程序流畅,尽管帧率显示是一样的。

我通过顺序更新控件的图像在WPF控件上显示视频。

谁能告诉我为什么我的程序不流畅?以及如何改进它。

更新:

@LearnedfromMistake:有两个线程。线程#1将请求、解析摄像头流中的数据并将帧附加到队列中。线程#2将从队列中获取帧并显示它。

这是我的伪代码。

代码语言:javascript
复制
Thread #1    
{    
   while(true)    
   {    
      JpegFrame = ReadAFrameFromStream();    
      QUEUE.Append(JpegFrame);
   }    
}

Thread #2    
{    
   while(true)    
   {    
      JpegFrame = QUEUE.GetFrame();    
      WPFControl.UpdateImage(JpegFrame); //Making video here
   }    
}
EN

回答 1

Stack Overflow用户

发布于 2013-01-26 23:19:16

  • 虽然视频帧应该以固定的时间间隔拍摄,但它们可能会使用不同的延迟进行编码,传输和缓冲延迟/通道会应用,最终您的接收速率不是规则的,您需要对此进行补偿以恢复流畅的视频源
  • WPF控件重绘开销比通过专门的多媒体API进行呈现更大

最好的是促进多媒体流API,其中图像被解码为YUV帧,并根据附加的时间戳准确地呈现。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14538073

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档