从客户端向服务器发送电影流,Python服务器应实时播放该流
我想在无人机上模拟一个摄像头。这个摄像头应该能够提供实时视频流,并通过网络把这个视频流发送到一个服务器上。服务器应该能够实时播放这个视频流,让我能看到。
我原本想的是,客户端(无人机)只需要读取一个视频文件,然后把它发送给服务器。但是服务器要怎么实时播放这个文件呢?我想最简单的方法可能是用xine或者MPlayer来播放视频,那该怎么做呢?
这个项目是用Python和GNU/Linux来实现的。客户端和服务器都在同一台机器上。
主要的问题是,如何让服务器在没有完整文件的情况下,实时播放这个文件。有什么好主意吗?
补充说明:服务器和客户端是通过标准的TCP/IP连接相连的,视频流并不是连接上唯一的数据。
1 个回答
0
试试用'webcam'
sudo apt-get install webcam
在debian系统上。
这个方法会从USB摄像头抓取图片,然后把它们放到/var/www/文件夹里,接着你可以做一个自动刷新得很快的html页面,指向这个图片文件。
我知道这不是一个很优雅的解决方案,但这是我知道的唯一方法。
如果你真的想自己写这个程序,你需要从/dev/video0读取数据(可能是这个),然后可能还要把数据编码成标准的视频格式,打开一个与客户端的连接,并把视频数据写入这个连接。不过,流式传输数据到连接上是有一些规则的。