Есть ли способ получить поток RTSP (клиент RTSP) и получить доступ к входному необработанному буферу?

Я пытаюсь получить поток RTSP (воспроизведение) на устройство Android и получить доступ к байтовому буферу видео/аудиодорожек до/после декодирования.

Есть ли способ добиться этого?


person Mor S.    schedule 21.03.2018    source источник
comment
Где есть воля, там и путь.... so_rcvall...   -  person Jay    schedule 22.03.2018


Ответы (1)


RTSP не совсем обрабатывает потоки данных. Это больше похоже на управление вещами для протоколов, которые фактически обрабатывают данные, например, RTP/RTCP. RTSP действует, например, для обмена информацией SDP, запуска / остановки воспроизведения, быстрой перемотки вперед и т. Д.

Поэтому, если вы хотите получить доступ к необработанным данным контента, вам следует попытаться глубже проникнуть в эти слои «контента».

Если вы попытаетесь использовать какую-либо библиотеку для извлечения данных RTSP, они, вероятно, полагаются на реализации или библиотеки низкого уровня (NDK), а транспортные данные, скорее всего, сжаты или зашифрованы. Это делает очень маловероятным легкое получение данных контента, или, я должен сказать, возможным.

У вас все еще есть возможность реализовать свой собственный RTSP-клиент (не слишком сложно, вам нужно реализовать основы https://tools.ietf.org/html/rfc7826), затем передать управление данными каким-то другим либам, исходники которых вы получаете, например FFMPEG, и погружаться в исходники, писать необходимые (нативные ) код для перехвата и получения данных, повторной компиляции и добавления в ваш проект. Гораздо менее легко.

person caketuzz    schedule 22.03.2018