Можно ли использовать RTP для одновременной потоковой передачи нескольких видеопотоков?
У меня есть несколько источников видео (2 камеры), и мне нужно отправить оба потоковых видео в клиент (через RTP или любой другой подходящий протокол). Основное требование заключается в том, что оба потока должны быть синхронизированы (поэтому я не могу использовать 2 сеанса RTP). Это возможно с RTP? Любые другие соображения?
1 ответ
Насколько я знаю, на сегодняшний день не существует стандарта для отправки нескольких потоков по RTP ("несколько участников" в RTP lingo), но в настоящее время ведется работа по стандартизации. Обратите внимание, что различные расширения были предложены в течение всего времени существования RTP. Однако, похоже, что этот проект имеет реальные шансы достичь стандартного статуса. Черновик достиг версии 6 и был обновлен менее месяца назад.
Существует также несколько транспортных (или контейнерных) форматов, которые могут быть упакованы в RTP и переносить несколько потоков внутри них. Именно так обычно аудио и видео передаются по RTP. Широко используемый транспортный протокол, обычно упоминаемый как MPEG-TS и часто (но неправильно) просто как MPEG-2, определен в MPEG-2, часть I.
Но, фактически говоря, "можно" или "нельзя" использовать RTP для нескольких потоков, зависит от того, чего вы действительно пытаетесь достичь. Если вы управляете обоими взаимодействующими устройствами, то используйте любую упаковку из нескольких потоков в полезную нагрузку RTP, о которой вы только можете подумать (хотя соблюдение стандарта, даже если оно черновое, не является плохой вещью). Но если вы думаете о совместимости с другой системой, то, скорее всего, вы простужены.