Получение видеопотока с GoPro

Получение видеопотока с GoPro

GoPro имеет приложения для iOS, Android, позволяющие подключаться к камере и смотреть видео. Т.к. под iOS прямые трансляции можно смотреть только по протоколу HLS, то я задумался над вопросом взять этот поток и ревещать куда-нибудь на сайт в интернете.

Подключение к GoPro с компьютера

Подключение к потоку достаточно простое: надо подключить компьютер по Wi-Fi к GoPro и зайти на http://10.5.5.9:8080. ip-адрес, судя по всему, постоянный для всех GoPro.

Дальше можно посмотреть на содержимое папок с отснятым видео и с прямым (папка live).

Прямая трансляция идет по url: http://10.5.5.9:8080/live/amba.m3u8

Правда в десктопных браузерах просто так открыть этот файл нельзя, т.к. воспроизводить HLS умеют только мобильные браузеры, safari и FlashPlayer. Так что надо поставить отдельную программу: http://videolan.org.

После запуска VLC нажать Ctrl+N и указать URL: http://10.5.5.9:8080/live/amba.m3u8

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

Альтернативный вариант получения потока

Включаем непосредственно трансляцию: заходим в браузере по адресу http://10.5.5.9:8080/gp/gpControl/execute?p1=gpStream&c1=restart (для старых версий прошивок) или http://10.5.5.9/gp/gpExec?p1=gpStreamA9&c1=restart (для новых версий прошивок).

Поток становится доступен по udp на 10.5.5.9:8554

Можно запустить через ffplayer командой ffplay udp://10.5.5.9:8554

Через какое-то время камера прекратит вещание.

Чтобы начать снова — нужно каждый раз запускать ссылку в браузере или написать специальный скрипт, дергающий данный URL.

Проблемы

Если поток я бы получил в приемлемом качестве, то дальше его осталось просто ревещать на какой-нибудь сервер с ПК. К сожалению, видеопоток нестабилен, прерывается и в таком видео никому он не нужен, поэтому идея провалилась. Конечно, если очень сильно нужно, можно попробовать самому по файлу m3u8 скачать видеофрагменты и уже потом объединить их в поток, но мне не на столько это все нужно было, так что в следующей жизни.

Что можно выжать

В принципе, записываемый файл доступен по http прямо во время записи, но стримить в браузер его вряд-ли получится т.к. пока запись файла не остановится, в него не будут записаны нужные для воспроизведения метаданные. Поэтому, сходу я вижу пользу только в том, что можно без перетыкания SD-карты прямо по Wi-Fi быстро переносить отснятое видео на отдельный веб-сервер, с которого раздавать свежие записи через сайт в каком-нибудь плеере.