Обновить

Комментарии 2

А зачем ffmpeg, он же для декодирования? Да и rstp устарел ж точнее есть альтернативы лучше, зачем?

FFmpeg используется в данном случае потому, что видеопоток внутри RTSP требует декодирования. Сам RTSP — это протокол управления (SETUP, PLAY, PAUSE и т. д.), тогда как передача медиаданных осуществляется по RTP, где, как правило, находятся кадры H.264 или H.265.

Для отображения видеопотока в приложении необходимо:
• принять RTP-пакеты,
• восстановить из них видеокадры,
• декодировать H.264/H.265, • вывести результат на GPU или экран.

FFmpeg обеспечивает выполнение ключевых этапов этой обработки:
• libavcodec — декодирование H.264/H.265,
• libavformat — разбор RTSP/RTP и формирование медиапотока.

Мобильное приложение не определяет, какой протокол будет использовать камера. Если источник передаёт поток по RTSP, задача приложения — корректно воспроизвести его.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации