Онлайн трансляция потока с камер GoPro

Онлайн трансляция потока с камер GoPro

Эти же лайфхаки позволяют транслировать видео и аудио потоки практически с любой камеры GoPro.

Для начала, подключаем по Wi-Fi нашу камеру к ноутбуку, далее открываем страницу: http://10.5.5.9/gp/gpControl/execute?p1=gpStream&a1=proto_v2&c1=restart и затем мы можем получить поток UDP, используя этот URL: udp: //10.5.5.9: 8554

Онлайн трансляция потока с камер GoPro

ПРИМЕЧАНИЕ. При использовании ffplay (ffMPEG) попробуйте использовать флаг nobuffer для потока с низкой задержкой.

Пример:

ffplay -fflags nobuffer udp://:8554

Это уменьшает задержку примерно до 0,5 с, что соответствует тому, что я получаю в приложении GoPro на Android.

В дополнение к видеопотоку (# 0: 0) и аудиопотоку (# 0: 1) существует третий поток (# 0: 2), который ffplay не распознает, и это увеличивает время, необходимое для обнаружения ffplay. Можно использовать  -probesize 16192 для обнаружения первых двух (хотя я не слышу звука) и сократить время запуска до 1,5 с вместо 6,5 с.

Кроме того, иногда ffplay не может обнаружить контейнер -f: v mpegts. В общем, это то, что я использую:

ffplay -fflags nobuffer -f:v mpegts -probesize 8192 udp://:8554

Дополнения, примечания и команды

GoPro HERO4 Session — это упрощенная версия популярной камеры HERO. Из-за этого камера отвечает на запросы GET, только когда находится в режиме APP, чтобы переключить камеру в режим APP, отправьте волшебный пакет (WoL) со следующими параметрами: MAC-АДРЕС КАМЕРЫ, 10.5.5.9 как IP-АДРЕС, Маска подсети 255.255 .255.0, порт 9. Для сеанса Hero4 этот магический пакет должен быть отправлен, перед тем, как вы хотите получить поток с камеры.

И чтобы убедиться, что у вас есть доступ к камере, ПОЛУЧИТЕ статус 31 камеры и убедитесь, что он не равен 0 (больше информации на CameraStatus.md)

Режим protune на камере GoPro HERO

Согласно версии прошивки 2.00, сеанс GoPro HERO 4 позволяет управлять настройками Protune для режима Video, но некоторые параметры отличаются от камер HERO4 Black / Silver.

Управление:
  • off: http://10.5.5.9/gp/gpControl/setting/10/0
  • on: http://10.5.5.9/gp/gpControl/setting/10/1
Баланс белого:
  • Auto: http://10.5.5.9/gp/gpControl/setting/11/0
  • 3000k: http://10.5.5.9/gp/gpControl/setting/11/1
  • 5500k: http://10.5.5.9/gp/gpControl/setting/11/2
  • 6500k: http://10.5.5.9/gp/gpControl/setting/11/3
  • Native: http://10.5.5.9/gp/gpControl/setting/11/4
Цвет:
  • GOPRO: http://10.5.5.9/gp/gpControl/setting/12/0
  • Flat: http://10.5.5.9/gp/gpControl/setting/12/1
ISO:
  • 1600: http://10.5.5.9/gp/gpControl/setting/13/1
  • 400: http://10.5.5.9/gp/gpControl/setting/13/2
Резкость:
  • ON: http://10.5.5.9/gp/gpControl/setting/14/3
  • OFF: http://10.5.5.9/gp/gpControl/setting/14/4
EV:
Value URL
+2 http://10.5.5.9/gp/gpControl/setting/15/0
+1.5 http://10.5.5.9/gp/gpControl/setting/15/1
+1 http://10.5.5.9/gp/gpControl/setting/15/2
+0.5 http://10.5.5.9/gp/gpControl/setting/15/3
0 http://10.5.5.9/gp/gpControl/setting/15/4
-0.5 http://10.5.5.9/gp/gpControl/setting/15/5
-1 http://10.5.5.9/gp/gpControl/setting/15/6
-1.5 http://10.5.5.9/gp/gpControl/setting/15/7
-2 http://10.5.5.9/gp/gpControl/setting/15/8

Стриминг

Сеанс GoPro HERO4 на прошивке 2.00 работает несколько иначе, когда дело доходит до потоковой передачи. Вы по-прежнему используете те же методы, которые описаны в документации по Livestreaming, но вам необходимо HTTP GET URL-адрес состояния http://10.5.5.9/gp/gpControl/statusuntils status: 31 (количество подключенных клиентов) имеет значение выше 0 (> = 1). Тогда канал будет работать через UDP-порт 8554. Обратитесь к этому сценарию Python на примере реального мира.

Поскольку я работаю с протоколами UDP и системными вызовами, я рекомендую использовать инструмент GoProStream, который является простым в использовании потоковым клиентом GoPro, написанным на Python:   https://cloud.mail.ru/public/2vvg/qAh95XLzM

Расширенные параметры потоковой передачи

Параметры потоковой передачи:

Битрейт потока передачи :

Поддерживает любое количество (например, 7000000), но ограничено пропускной способностью Wi-Fi, могут появляться потери пакетов и видео. Правильный идентификатор параметра — 62!

  • 250 Kbps: http://10.5.5.9/gp/gpControl/setting/62/250000
  • 400 Kbps: http://10.5.5.9/gp/gpControl/setting/62/400000
  • 600 Kbps: http://10.5.5.9/gp/gpControl/setting/62/600000
  • 700 Kbps: http://10.5.5.9/gp/gpControl/setting/62/700000
  • 800 Kbps: http://10.5.5.9/gp/gpControl/setting/62/800000
  • 1 Mbps: http://10.5.5.9/gp/gpControl/setting/62/1000000
  • 1.2 Mbps: http://10.5.5.9/gp/gpControl/setting/62/1200000
  • 1.6 Mbps: http://10.5.5.9/gp/gpControl/setting/62/1600000
  • 2 Mbps: http://10.5.5.9/gp/gpControl/setting/62/2000000
  • 2.4 Mbps: http://10.5.5.9/gp/gpControl/setting/62/2400000

Размер окна потоковой передачи:

Размер кадра с высотой 720 протестированы на Hero 5 Black.

  • Default: http://10.5.5.9/gp/gpControl/setting/64/0
  • 240: http://10.5.5.9/gp/gpControl/setting/64/1
  • 240, 3:4: http://10.5.5.9/gp/gpControl/setting/64/2
  • 240 1:2: http://10.5.5.9/gp/gpControl/setting/64/3
  • 480: http://10.5.5.9/gp/gpControl/setting/64/4
  • 480 3:4: http://10.5.5.9/gp/gpControl/setting/64/5
  • 480 1:2: http://10.5.5.9/gp/gpControl/setting/64/6
  • 720 (1280×720) : http://10.5.5.9/gp/gpControl/setting/64/7
  • 720 3:4 (960×720) http://10.5.5.9/gp/gpControl/setting/64/8
  • 720 1:2 (640×720) http://10.5.5.9/gp/gpControl/setting/64/9

3 Replies to “Онлайн трансляция потока с камер GoPro”

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *