Я пытаюсь получить поток RTSP (воспроизведение) на устройство Android и получить доступ к байтовому буферу видео/аудиодорожек до/после декодирования.
Есть ли способ добиться этого?
Я пытаюсь получить поток RTSP (воспроизведение) на устройство Android и получить доступ к байтовому буферу видео/аудиодорожек до/после декодирования.
Есть ли способ добиться этого?
RTSP не совсем обрабатывает потоки данных. Это больше похоже на управление вещами для протоколов, которые фактически обрабатывают данные, например, RTP/RTCP. RTSP действует, например, для обмена информацией SDP, запуска / остановки воспроизведения, быстрой перемотки вперед и т. Д.
Поэтому, если вы хотите получить доступ к необработанным данным контента, вам следует попытаться глубже проникнуть в эти слои «контента».
Если вы попытаетесь использовать какую-либо библиотеку для извлечения данных RTSP, они, вероятно, полагаются на реализации или библиотеки низкого уровня (NDK), а транспортные данные, скорее всего, сжаты или зашифрованы. Это делает очень маловероятным легкое получение данных контента, или, я должен сказать, возможным.
У вас все еще есть возможность реализовать свой собственный RTSP-клиент (не слишком сложно, вам нужно реализовать основы https://tools.ietf.org/html/rfc7826), затем передать управление данными каким-то другим либам, исходники которых вы получаете, например FFMPEG, и погружаться в исходники, писать необходимые (нативные ) код для перехвата и получения данных, повторной компиляции и добавления в ваш проект. Гораздо менее легко.