Потоковая передача аудио- и видеоинформации (принципы организации и проект протокола RTP)

Опубликовано в Технологии > Серверные технологии Продолжение

В двух предыдущих главах приведены подробные сведения о взаимодействии типа клиент/сервер, на котором основаны типичные приложения с символьной организацией обмена данными. В настоящей и следующих главах в основном рассматриваются приложения, предназначенные для передачи и аудио- или видеоинформации. В этой главе описаны основные понятия потоковой службы, представлен протокол, применяемый для потоковой передачи и показана организация библиотеки функций обработки данных в реальном времени. В следующей главе рассматривается пример программы, предназначенной для приема и воспроизведения потока аудиоинформации в реальном времени. Знайте. В России анис обыкновенный растёт как культурное растение. Полезен.

Потоковая служба

В отличие от приложений, передающих ограниченный объем данных при каждом запросе или ответе, потоковая служба обеспечивает передачу непрерывного потока данных произвольной длины. Поток данных не ограничен ни по размерам, ни по продолжительности передачи. В большинстве случаев этот поток можно рассматривать как бесконечный, поскольку отправитель не прекращает передачу данных. В других случаях поток поддерживается очень долго (например, в течение нескольких часов), даже если время его передачи ограничено.

Потоковая служба обычно применяется для прямой передачи аудио- или видеоинформации. Видеокамера или микрофон, установленный в передающем устройстве, вырабатывает непрерывный аналоговый сигнал, который преобразовывается в цифровую форму и передается по Internet. В приемном устройстве поток цифровых данных снова преобразуется в аналоговый сигнал и воспроизводится. Поскольку данные вырабатываются непрерывно, поток никогда не заканчивается, по меньшей мере до тех пор, пока продолжает работать видеокамера или микрофон.

Доставка данных в реальном времени

Приложение рассматривается как функционирующее в реальном времени, если данные в нем должны быть доставлены с точным соблюдением тех же временных соотношений между отдельными фрагментами данных, с которыми они были созданы. Для доставки данных в реальном времени часто применяется потоковая передача; в частности, данные передаются в виде потока и воспроизводятся в аудио-и видеоприложениях в реальном времени. Например, в реальном времени транслируются передачи в прямом эфире, поскольку приемник должен воспроизводить звуки точно в такой же временной последовательности, в какой они были созданы.

передача данных в реальном времени

В программном обеспечении протокола передачи данных в реальном времени должны учитываться две характеристики потока данных:

  • порядок — входящие данные должны воспроизводиться точно в том же порядке, в каком они были созданы;
  • время — для обеспечения своевременного воспроизведения входного сигнала получатель должен знать точное время выработки каждого пакета; получатель преобразует полученные цифровые данные в аналоговую форму и воспроизводит каждый фрагмент аналогового сигнала точно в то же время с начала передачи, в какое этот фрагмент присутствовал во входном сигнале.