最简单的视频流?

3
我有一台相机,正在以每秒约10张的速度拍照并将它们发送到计算机。我需要在PC上显示这些连续的图像序列,使其成为实时视频。
只使用Python GUI框架,并创建一个控件来保存单个图像并快速更改控件中的图像,是否已经足够了?
还是说这种方法显得很糟糕?我应该使用某种视频流库吗?如果是的话,您会推荐什么?

1
我认为非常快速地更改图片会非常低效...最好使用库来获取这些图片并制作流。 - Rafe Kettler
@RichardKnop 我不确定你可能使用哪个视频库,只是确定你现在正在做的事情可能不起作用。S. Lott的答案关于你需要做什么是正确的,只是不知道如何做。可悲的是,我无法帮助你——我最好的建议是你可以使用popen从命令行执行一些任务(压缩、缓冲等)。 - Rafe Kettler
@Rafe Kettler 感谢您的建议,但我已经在使用UDP套接字传输图像,我认为这应该没问题。基本上,我想在服务器(PC)上对所有图像进行编码并创建一个流。我的客户端只是一个带有IP摄像头的小型人形机器人,它没有足够的CPU功率和RAM来执行任何复杂操作(它具有500MHz的CPU和256MB的RAM)。长话短说,我在PC上运行一个程序,该程序从机器人接收图像,我只需要将它们显示为实时视频即可。我可能会稍后提出这个问题,以获得详细的答案。 - Richard Knop
@RichardKnop 500MHz的CPU和256MB的RAM?这可真不少啊,伙计。我还记得我的第一台电脑也差不多是这个配置。 - Rafe Kettler
@RichardKnop 是的,500MHz 可能不够用了,我只是惊讶于微处理器已经发展到了这个地步... - Rafe Kettler
显示剩余2条评论
1个回答

2

或者那只是无聊的吗?

不,根本行不通。

让视频正常播放有一个技巧。苹果的QuickTime实现了这个技巧。微软的一些产品也实现了这个技巧。还有一些开源的视频播放工具。

有几个密切相关的技巧,所有这些技巧都非常麻烦。

  1. 压缩。全尺寸的视频非常大。做一下数学:640x480x24位色深,每秒30帧。它很快就会加起来。没有压缩,你不能快速读取它。

  2. 缓冲和定时。有时数据速率和帧速率不太匹配。你需要一个准备好显示的帧缓冲区,还需要一个精确的时钟,以便在完全正确的时间间隔内显示它们。

将一系列JPEG图像制作成电影是iPhoto和iMovie的功能。

通常,我们会从图像创建视频文件,并通过标准视频播放器播放视频文件。从图像制作QuickTime电影或Flash电影并不难。有很多工具可以帮助从图像制作电影。几乎任何照片管理解决方案都可以创建幻灯片并将其保存为某种标准格式的电影。

事实上,我认为Graphic Converter可以做到这一点。


我需要视频成为实时流(即我在电脑上看到相机当前所见的内容)。因此,我想我需要使用一些视频流库来实现。 - Richard Knop
我有一组JPEG图像。我需要将视频变成一个直播流。我无法遵循您的要求,因为它们似乎是矛盾的,至少是不完整的。请更新问题并提供所有相关信息。 - S.Lott
我不知道该如何更好地解释。相机正在逐一拍摄照片并将它们发送到电脑。我需要从这些图像中显示实时视频(相机每秒大约拍摄10张图片)。我将更新我的问题。 - Richard Knop
@Richard Knop:“我不知道怎么更好地解释了。” 这不是问题所在。 在您最新的更新之前,您根本没有解释清楚。 我们无法读取思维。 因此,如果没有详细信息,我们只能猜测。 在这种情况下,更多的细节会很有帮助,因为您要求的不是适当的视频(30 fps),但您希望它是“实时”的。 您有一个非常复杂的问题,需要提供详细信息。 - S.Lott
我已经在我的新问题中尝试更详细地解释了一切:https://dev59.com/pFHTa4cB1Zd3GeqPRnId - Richard Knop

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接