0

我在计算机上运行了一个 Python 应用程序,它使用我的网络摄像头,进行一些图像处理,并提供一些数据。

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

我知道如何使数据可用——我可以使用 Flask 之类的东西设置 HTTP 服务器。

但是,我不太确定如何以类似的方式使视频流可用。我确实找到了这个问题——OP 的场景与我的场景几乎相同——但答案相当缺乏技术细节。我还找到了这个答案,它推荐了一种叫做“flumotion”的东西,但评论指出它是一个'nix解决方案,我主要使用windows。

以所述方式公开视频流的最佳方法或最佳 Python 库是什么?

4

1 回答 1

3

我曾经制作了一个完全用 Python 编写的 DVR,用于控制视频采集卡的 V4L2 参数,并实现协议以通过低速无线电链路传输记录的文件。对于流媒体,我尝试了VLCffserver。在这个答案中,您可以找到很多我使用 VLC 进行的测试,这可能适用于您想要做的事情。

由于我必须将文件记录到磁盘并将它们流式传输到本地 Web 界面(也使用 Python 使用web2py编写),因此我最终使用了一个ffmpeg过程将流编码为h264,将其记录到磁盘并将其转​​发到视频环回设备。然后,当用户访问 Web 界面上的视频配置屏幕时,ffmpeg将启动另一个进程,使用 UDP 将视频从环回设备流式传输到视频播放器:

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

值得注意的是,由于此流是原始h264流,因此用户必须拥有 VLC 插件才能查看它,因为大多数基于 Flash 的视频播放器无法处理原始h264流。

于 2013-08-06T13:08:38.097 回答