2013-08-06 42 views
1

我有一个运行在计算机上的Python应用程序,它使用我的摄像头,进行一些图像处理并提供一些数据。如何使用Python设置摄像头服务器?

现在,我想通过某种服务器或网站提供数据和视频流,以便本地网络上的任何计算机或程序都可以访问数据和视频流(可以访问数据并查看视频Feed)。

我知道如何使数据可用 - 我可以使用像Flask这样的东西来设置HTTP服务器。

但是,我不太确定如何去使用类似的方式提供视频流。我确实发现了this的问题 - OP与我有一个几乎相同的情况 - 但答案在技术细节上相当缺乏。我还发现this答案,其中推荐的东西称为“flumotion”,但评论说,这是一个'尼克斯解决方案,我主要与Windows工作。

什么是最好的方法,或最好的Python库,使所描述的方式公开提供视频流?

+0

是否必须将其集成到您的软件中,然后用Python编写或者将流保存到磁盘或将其重定向到其他软件? – Claudio

+0

任何一种解决方案都可以工作,只要它能够实时工作即可。 – Michael0x2a

回答

3

我曾经制作了一个完全用Python编写的DVR,用于控制视频采集卡的V4L2参数,并实现协议在低速无线链路上传输录制的文件。对于流媒体,我尝试了两个VLCffserver。在this answer你可以找到很多我的VLC测试,这可能适用于你想做的事情。

因为我已经刻录的文件到磁盘,并将它们流式传输到本地网络接口(也使用web2py用Python写的),我结束了使用ffmpeg过程的流H264编码,它记录到磁盘并将其转​​发到video loopback device。然后,当用户访问视频配置屏幕的Web界面上的另一个ffmpeg过程将开始使用UDP从回环设备传送视频的视频播放器:

ffmpeg -loglevel quiet -f v4l2 -i /dev/video1 -f h264 -preset ultrafast udp://hostip:port

这是值得大家注意的是,由于这个流是原始流h264流,用户必须让VLC插件能够查看它,因为大多数基于闪存的视频播放器不能处理流的原始流。

相关问题