Отправка потокового видео с клиента на сервер. Сервер Python должен воспроизводить поток на лету - PullRequest
0 голосов
/ 03 декабря 2009

Я бы хотел смоделировать какую-то камеру на беспилотнике. Камера должна обеспечивать прямую трансляцию и отправлять поток через сетевое соединение на сервер. Сервер должен иметь возможность воспроизводить поток на лету, чтобы я мог его увидеть.

Я думал, что клиент (БПЛА) просто прочитал файл-файл и отправил его на сервер. Но как сервер может показать файл на лету? Я полагаю, самый простой способ - использовать xine или MPlayer для показа фильма? Но как?

Это должно быть сделано в python и GNU / Linux. Клиент и сервер находятся на одном компьютере.

Основная проблема заключается в том, чтобы заставить сервер воспроизводить файл на лету, прежде чем он получит доступ ко всему файлу. Есть идеи?

РЕДАКТИРОВАТЬ: сервер и клиент связаны стандартным соединением TCP / IP. Фид видео не одинок в соединении.

1 Ответ

0 голосов
/ 04 декабря 2009

попробуйте "веб-камера"

sudo apt-get install webcam

в Debian.

Он будет захватывать изображения с USB-камеры и помещать их в файл jpg в / var / www /, а затем вы создаете HTML-страницу, которая максимально быстро автоматически обновляется и указывает на файл изображения.

Я знаю, что это не очень элегантное решение, но это единственное, что я знаю.

Если вы действительно хотите написать это самостоятельно, вам нужно будет прочитать данные из / dev / video0 (возможно) и, возможно, закодировать их в соответствии со стандартным видеоформатом, открыть сокет с клиентским процессом и написать видео данные в сокет. Есть некоторые правила для правильного способа потоковой передачи данных через сокет.

...