Russian Qt Forum
Ноябрь 25, 2024, 17:15
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Работа с сетью
>
Miracast (WiFi Display) RTP, RTSP
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Miracast (WiFi Display) RTP, RTSP (Прочитано 7046 раз)
NoIdea
Новичок
Offline
Сообщений: 12
Miracast (WiFi Display) RTP, RTSP
«
:
Октябрь 16, 2018, 17:08 »
Технологии не стоят на месте, наверное, за этим будущее - уже сейчас телевизоры, телефоны, а теперь и PC (Windows 10) поддерживают эту технологию.
А что с отдельными программами?
Кто-нибудь уже реализовывал в своих приложениях для стрима видео?
В основе всё тот же RTSP, для которого в большинстве случаев используют GStreamer:
https://gstreamer.freedesktop.org/data/doc/gstreamer/head/qt-gstreamer/html/examples.html
С удивлением обнаружил, что Qt, вроде как, умеет стримить "из коробки" для любого приложения:
https://code.woboq.org/qt5/qtbase/src/plugins/platforms/openwfd/
Код
Bash
.
/
helloworld
-platform
openwfd
Как использовать? Это работает?...
(
https://stackoverrun.com/ru/q/5871760
)
На сколько понял, реализация в Qt основана на старом, не поддерживаемом проекте:
https://www.freedesktop.org/wiki/Software/openwfd/
Уже есть реинкарнация:
https://github.com/albfan/miraclecast
Ещё натыкался на реализацию от Intel:
https://github.com/intel/wds
«
Последнее редактирование: Октябрь 16, 2018, 21:32 от NoIdea
»
Записан
Igors
Джедай : наставник для всех
Offline
Сообщений: 11445
Re: Miracast (WiFi Display) RTP, RTSP
«
Ответ #1 :
Октябрь 17, 2018, 07:32 »
Не уверен что вполне понимаю о чем Вы, предполагаю речь идет о захвате видео/аudio с внешних устройств. Мой интерес чуть другой - чтение/запись видео и захват его с экрана, но технология видимо та же. Да, GStreamer. Долго я пытался отвертеться, пытались нанять человека, но увы
Пришлось самому. Впечатления
- многое можно сделать просто командной строкой или ее аналогом в runtime. Богатый набор кодеков, рулить ими научиться несложно. Вообще все очень солидно. "Собирать" самому хотя и можно, но не советуют, предоставляют готовые сборки, очень приятно.
- но если где-то заклинило - решение может оказаться весьма сложным, а то и вообще не найтись. Дока хотя и обильная, но реальных примеров - раз-два и обчелся. Чистый "С" (написано без плюсов) изрядно бьет по ушам. Спрашивать на ихнем mailist - шансов на ответ мало.
Записан
kuzulis
Джедай : наставник для всех
Offline
Сообщений: 2812
Re: Miracast (WiFi Display) RTP, RTSP
«
Ответ #2 :
Октябрь 17, 2018, 13:16 »
У gstreamer не все кодеки аппаратные. Зависит от платформы. Оно более-менее работает в Linux, где для разных видео-карт (или ембеддед железок) сразу в дистрибутиве и gstreamer-овские кодеки для них идут (там где есть аппаратное кодирование). Но если gstreamer нужен для Windows - то нужно очень хорошо постараться чтобы оно заработало с аппаратными кодеками (их надо компилять из отдельных проектов, используя Intel/NVidia SDK и прочую фигню, как мне объясняли, я просто в итоге забил). Под андройд тоже кодеков может не быть.
Мы делали некий проект с передачей некоей двигающейся картинки на удаленный дисплей в режиме "реалтайма", т.е. почти без задержек, картинка передавалась по изменениям, а не с каким-то определенным фрейм-рейтом, через WiFi.
В итоге получилась хрень, т.к. часто возникали артефакты от кодирования и потери кадрови прочая гадость... Да и сас WiFi еще та какашка. Еще и кодеки не все нормально настраиваемые там.. более менее софтварный x264 там можно поднастроить... Но если аппаратные, да еще для разных платформ - то фигвам
ЗЫ: А мож руки у меня кривые.
ЗЫЗЫ: Но как бы там ни было, но ИМХО, альтернативы у gstreamer нету.
«
Последнее редактирование: Октябрь 17, 2018, 13:19 от kuzulis
»
Записан
ArchLinux x86_64 / Win10 64 bit
NoIdea
Новичок
Offline
Сообщений: 12
Re: Miracast (WiFi Display) RTP, RTSP
«
Ответ #3 :
Октябрь 18, 2018, 20:39 »
У Windows 10 при стриме 1080p на телевизор (виртуальный дисплей) через Miracast, это занимает не более 5% CPU и ~8Mbit WiFi хотелось бы сопоставимой производительности, но похоже, что с gstreamer всё не так просто (раз нет аппаратных кодеков под Windows), как и с Miracast (бывают аппаратные ограничения WiFi).
OFFTOP:
А текущую задачу со стримом возможно получится решить и как-то проще через генерацию и отправку JPEG:
https://libjpeg-turbo.org
https://github.com/roehrdor/opencl-jpeg-encoder
Или это дохлый номер?... Просто есть вероятность, что принимающая сторона (аппаратная) сможет принять только JPEG кадры, но боюсь даже представить какого FPS и нагрузки удастся в этом случае добиться.
Вот ещё наткнулся на интересный проект со стримом:
https://github.com/obsproject/obs-studio
Там даже есть аппаратные кодеки, стримит в огромное количество web-сервисов (WebRTC, RTMP)
Записан
Igors
Джедай : наставник для всех
Offline
Сообщений: 11445
Re: Miracast (WiFi Display) RTP, RTSP
«
Ответ #4 :
Октябрь 19, 2018, 08:00 »
Цитата: NoIdea от Октябрь 18, 2018, 20:39
У Windows 10 при стриме 1080p на телевизор (виртуальный дисплей) через Miracast, это занимает не более 5% CPU и ~8Mbit WiFi хотелось бы сопоставимой производительности, но похоже, что с gstreamer всё не так просто (раз нет аппаратных кодеков под Windows), как и с Miracast (бывают аппаратные ограничения WiFi).
Что там есть или нет - лучше проверить самому, это написания кода не требует. Скачайте и установите GStreamer. Подберите нужные кодеки/модули используя утилиту gst-inspect. Потом запустите цепочку этих модудей утилитой gst-launch направив выход на экран (playbin) или в файл (filesink). Примеры работы с командной строкой найдете, на худой конец есть маны.
Цитата: NoIdea от Октябрь 18, 2018, 20:39
Или это дохлый номер?... Просто есть вероятность, что принимающая сторона (аппаратная) сможет принять только JPEG кадры, но боюсь даже представить какого FPS и нагрузки удастся в этом случае добиться.
Могу только сказать что такой "контейнер" (jpеg анимация) существует давно и используется многими
Записан
kuzulis
Джедай : наставник для всех
Offline
Сообщений: 2812
Re: Miracast (WiFi Display) RTP, RTSP
«
Ответ #5 :
Октябрь 19, 2018, 09:31 »
> Скачайте и установите GStreamer. Подберите нужные кодеки/модули используя утилиту gst-inspect
Нет там аппаратных кодеков для Windows!
Записан
ArchLinux x86_64 / Win10 64 bit
Igors
Джедай : наставник для всех
Offline
Сообщений: 11445
Re: Miracast (WiFi Display) RTP, RTSP
«
Ответ #6 :
Октябрь 19, 2018, 10:40 »
Цитата: kuzulis от Октябрь 19, 2018, 09:31
> Скачайте и установите GStreamer. Подберите нужные кодеки/модули используя утилиту gst-inspect
Нет там аппаратных кодеков для Windows!
Даже если и так - лучше убедиться в этом самому
. И откуда такая уверенность? Навксидку гуглим напр "GStreamer rtsp windows" - совсем не пусто. Пусть товарищ изучает
Записан
kuzulis
Джедай : наставник для всех
Offline
Сообщений: 2812
Re: Miracast (WiFi Display) RTP, RTSP
«
Ответ #7 :
Октябрь 19, 2018, 12:54 »
> И откуда такая уверенность?
Оттуда что я уже ранее этим заморачивался. Gstreamer-овское SDK для Windows не содержит никаких аппаратных кодеков. Их нужно искать и компилять самому под конкретную видеокарту.
Записан
ArchLinux x86_64 / Win10 64 bit
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...