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 быстро переносить отснятое видео на отдельный веб-сервер, с которого раздавать свежие записи через сайт в каком-нибудь плеере.