From 102edd68809344e69d2cb9f9758550c096756755 Mon Sep 17 00:00:00 2001 From: Maxim Devaev Date: Fri, 28 Sep 2018 18:48:22 +0300 Subject: [PATCH] Update README.md --- README.md | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 4dbb85d..e9f7b13 100644 --- a/README.md +++ b/README.md @@ -13,7 +13,7 @@ | Дебаг-логи без перекомпиляции,
логгирование статистики производительности,
возможность получения параметров
трансляции по HTTP | ![#00aa00](https://placehold.it/15/00aa00/000000?text=+) Есть | ![#f03c15](https://placehold.it/15/f03c15/000000?text=+) Нет | | Поддерживаемые входные форматы устройств | ![#ffaa00](https://placehold.it/15/ffaa00/000000?text=+) YUYV, UYVY,
RGB565, ~~MJPG~~ 2 | ![#00aa00](https://placehold.it/15/00aa00/000000?text=+) YUYV, UYVY,
RGB565, MJPG | | Поддержка контролов веб-камер (фокус,
движение сервами) и всяких настроек,
типа яркости, через HTTP | ![#f03c15](https://placehold.it/15/f03c15/000000?text=+) Нет | ![#00aa00](https://placehold.it/15/00aa00/000000?text=+) Есть | -| Возможность сервить файлы встроенным
HTTP-сервером | ![#f03c15](https://placehold.it/15/f03c15/000000?text=+) Нет 3 | ![#00aa00](https://placehold.it/15/00aa00/000000?text=+) Есть | +| Возможность сервить файлы встроенным
HTTP-сервером, настройки авторизации | ![#f03c15](https://placehold.it/15/f03c15/000000?text=+) Нет 3 | ![#00aa00](https://placehold.it/15/00aa00/000000?text=+) Есть | Сносочки: * ```1``` Для mjpg-streamer существует [мой патч](https://github.com/jacksonliam/mjpg-streamer/pull/164), предотвращающий зависание при отключении устройства и добавляющий поддержку DV-таймингов, однако трансляция при этом все равно прерывается. В данный момент этот патч не принят в апстрим, и я даже не гарантирую его стопроцентную работоспособность, поскольку код mjpg-streamer очень плохо структурирован и чрезвычайно запутан, и я мог что-то упустить. @@ -21,3 +21,18 @@ * ```2``` Поскольку µStreamer писался в первую очередь для устройств видеозахвата, в нем реализованы только те форматы, которые для них были нужны. MJPG в контексте входных данных означает, что устройство умеет самостоятельно сжимать картинку в JPEG и отдавать ее программе, что позволяет значительно снизить загрузку процессора и избавить его от необходимости кодировать картинку софтом. Этот формат поддерживается большинством веб-камер, но не поддерживается ни одном из встреченных мной устройств видеозахвата; его не умеет ни [Auvidea B101](https://auvidea.com/b101-hdmi-to-csi-2-bridge-15-pin-fpc/), ни [EasyCap UTV 007](https://www.amazon.com/dp/B0126O0RDC). Нет никаких технических сложностей добавить поддержку аппаратного MJPG источника, просто у меня пока не дошли до этого руки. * ```3``` ... и не будет. µStreamer придерживается концепции UNIX-way, так что если вам нужно нарисовать маленький сайтик со встроенной трансляцией - просто поставьте NGINX. + +----- +# Сборка +Для сборки вам понадобятся ```make```, ```gcc```, ```libevent``` с поддержкой ```pthreads``` и ```libjpeg8```/```libjpeg-turbo```. На Raspberry Pi програма автоматически соберется с поддержкой OpenMAX, если обнаружит нужные хедеры в ```/opt/vc/include```. +``` +$ git clone --depth=1 https://github.com/pi-kvm/ustreamer +$ cd ustreamer +$ make +$ ./ustreamer --help +``` +Для Arch Linux в AUR есть готовый пакет: https://aur.archlinux.org/packages/ustreamer + +----- +# Использование +Будучи запущенным без аргументов, ```ustremaer``` попробует открыть устройство ```/dev/video0``` с разрешением 640x480, и начать трансляцию на ```http://localhost:8080```. Это поведение может быть изменено с помощью опций ```--device```, ```--host``` и ```--port```. За полным списком опций обращайтесь к встроенной справке: ```ustreamer --help```.