zilia
@zilia
Автоматизируй это!

/dev/video0 >> netcat >> motion — как?

Есть гигабитный роутер с OpenWRT с USB, к нему подключена UVC вебкамера. Она работает проверено.

При попытке сделать cat /dev/video0 выдаёт ошибку:
cat: read error: Invalid argument.

Сам файл устройства присутствует, права на чтение есть.

Можно ли как-то из него вытянуть сырые данные и передать их по сети не нагружая особо процессор роутера?


Задача запустить motion на стороннем серваке и скормить ему по сети поток с камеры, которая подключена к роутеру.

Если запустить motion прямо на роутере, то это беспощадно грузит проц, так нельзя.

Я хочу использовать netcat вроде так:
cat /dev/video0 | nc [server_IP] 5000

а на серваке принимать
nc -l -p 5000

Не понятно 2 вещи:

во-первых, cat рукается на камеру

во-вторых, как потом на сервере скормить поток в motion

man v4l2 ничего вразумительно не дал

В итоге конечная задача снизить нагрузку на проц роутера до минимума.
  • Вопрос задан
  • 6718 просмотров
Пригласить эксперта
Ответы на вопрос 5
blo
@blo
инженер-программист
Предлагаю посмотреть в сторону
dd if=/dev/video0 of=/dev/stdout ...
Ответ написан
@ur3ckr
Как вариант попробовать mjpg-streamer
Возможно для Ваших целей подойдет (если интересует простой просмотр)
Ответ написан
Комментировать
Lerg
@Lerg
Defold, Corona, Lua, GameDev
А видео в итоге захватывается на openwrt? Если c помощью ffmpeg записать в файл и потом посмотреть?
Можно написать простую программу, которая открывает видео устройство и посылает данные по сети (лучше UDP). Правда не знаю на сколько это реализуемо на openwrt.
Ответ написан
jcmvbkbc
@jcmvbkbc
"I'm here to consult you" © Dogbert
Я когда-то статью писал о захвате и передаче картинок по сети, может вам чем поможет: habrahabr.ru/post/66015/#habracut
Ответ написан
Комментировать
noonv
@noonv
можно самому ручками написать ) там ничего сложного нету ;)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы