Реальное видео

Купидон Гончаров

Потоковое видео в Интернете существует с 1995 года. К настоящему времени явным лидером по распространенности в Сети является фирма Real Networks со своим продуктом RealVideo. Наиболее серьезными ее конкурентами могут стать Microsoft с продуктом Netshow (или Windows Media Service) и Apple Computer с QuickTime 4 streaming.

Летом 1997 года, когда в московском Интернет-клубе СКРИН мы начали исследовать возможность трансляции видео по сети Интернет, существовало только два реальных способа: технология Mbone, которую нам предлагали специалисты из Института космических исследований РАН, или RealVideo от Progressive Networks, которую нам никто не предлагал. Mbone не подошла, потому что работала только по технологии multicast, то есть зрителями могли стать очень немногие люди, для которых надо было открыть маршрутизирование. К тому же для данной технологии требовалось очень редкое оборудование в виде плат захвата. А технология RealVideo предлагала полный набор программ: и сервер, и плейер, и перекодировщик — и все бесплатно! Их можно было устанавливать на стандартные персональные компьютеры и использовать широко распространенные платы захвата. На этом формате мы и остановились и пока об этом не жалеем. (В скобках замечу, что в то время существовало еще несколько «нереальных» технологий видеотрансляций: Vivo, Vosaic, VDO и, кажется, Xing. Нереальных потому, что серверная часть стоила немалых денег, а зарабатывать на видеотрансляциях в Интернете в нашей стране даже сейчас довольно проблематично.)

С сентября 1997 года мы уже регулярно транслировали все наши акции в Интернет, благо мероприятий хватает: концерты, перфомансы, хэппенинги, театрализованные постановки — в общем все, что попадает в разряд отечественной альтернативной культуры. Но до 1998 года клуб не имел собственного видеосервера и мы создавали видеоархив в Интернете, а для прямых трансляций использовали чужой RealServer 4, который стоял в РИА «Новости». Позднее мы поставили уже свой видеосервер в «Демосе»

Немного истории: Progressive Networks начинала с того, что создала популярный формат для трансляции аудиоматериалов. И до сих пор RealAudio — самый популярный способ (практически стандарт) для радиостанций и всех вещающих звук в Интернете. Окрыленная успехом, фирма предложила RealVideo для трансляции видео со звуком и даже переименовалась в Real Networks. Удалось. Нумерация для варианта с видео началась с четырех. Через несколько месяцев была предложена пятая версия, в которой было улучшено только качество звука, а видео продолжало оставаться довольно странной картинкой.

Странность выражалась в очень дискретной и слабо меняющейся картинке. При быстрой смене плана картинка распадалась на квадратики с резко очерченными границами, и резкость наводилась только через несколько секунд. А если исходное видео полностью состояло из меняющихся планов, то рекомендовалось в программе оцифровки RealEncoder устанавливать жесткое значение — 2 (или, допустим, 0,5) кадра в секунду, при этом видео выглядело как ровное слайд-шоу. Звук, естественно, шел непрерывно, но соответствующего качества. Поток можно было выбирать произвольный, но программа-видеосервер не давала возможности просмотра зрителям, у которых скорость соединения с Интернетом была ниже скорости исходного видеопотока.

Трансляция выглядела так. Для прямой трансляции и создания архивных видеофайлов предлагалась одна программа RealEncoder, которая могла брать видео и звук с платы захвата и либо передавать на видеосервер по локальной сети или через Интернет, либо записывать на жесткий диск в формате *.rm. Видеосервер представлял собой стандартный компьютер с практически любой операционной системой (кроме Mac OS) и установленной на нем программой RealServer, которая, кстати, требовала не так много ресурсов — Pentium-120 и немного памяти, а поток слегка кэшировался для надежности и множился по количеству запросов.

Вообще говоря, программа-видеосервер нужна практически только для прямых трансляций. Для размещения на своей странице в Интернете и показа видео в формате *.rm можно обойтись обычным Web-сервером. Главное — правильно сделать ссылку: не на сам видеофайл, иначе браузер скачает его полностью и только потом запустит программу-плейер для просмотра (это уже не потоковое видео), а на файл с расширением ram, который состоит из одной текстовой строки, содержащей ссылку уже непосредственно на видеофайл. Произойдет следующее: после установки у себя программы RealPlayer браузер запомнит, что rm, ram и ra — это все к плейеру, и при скачивании *.ram запустит плейер, который прочтет ссылку и начнет показ видео в потоке.

Каковы преимущества использования видеосервера для показа архивных роликов? Во-первых, видеосервер может обеспечивать более гладкий, то есть непрерывный, показ путем небольшого уменьшения выходящего потока в случае непостоянной скорости соединения с Интернетом у зрителей. И, во-вторых, Web-сервер не предназначен для длительной передачи чего-либо. А поскольку в данном случае показом видео будет заниматься именно Web-сервер, то в случае большой загруженности или по другой причине он может перестать передавать видеоданные. Назначение же видеосервера — именно обеспечение передачи своих данных любой длительности, например круглосуточной трансляции телевизионного канала в Интернет.

В конце 1998 года появилась новая версия RealVideo: 6-я по счету, но с маркой G2 (видимо, Generation 2). В ней было кардинально улучшено качество картинки — сильно переработан видеокодек. Визуально это выражается в том, что резко очерченные квадратики при смене плана не появляются. Картинка может потерять фокус, то есть размыться, а потом постепенно проясниться. Это более удобно для человеческого глаза. Плюс к этому улучшено качество звука и изображения в целом и добавлено большое количество сервисных функций. Перечислим их.

Появилась возможность при создании видеоролика делать его многопоточным, то есть в программе RealProducer (так стал называться RealEncoder) можно задать несколько значений для создаваемого потока. А видеосервер при прямой трансляции или при показе архивного ролика проверит соединение с каждым зрителем и выдаст видео и звук наиболее подходящего качества. Это было реализовано и в предыдущей, 5-й версии, но очень неочевидно и поэтому коряво. В свете этого новшества для нас возникла проблема — сколько потоков использовать в одном ролике, чтобы еще и дисковое пространство экономить. Сейчас мы, как правило, оцифровываем архивные ролики с потоками 20, 45 и 220 Кбит/с или только 20 и 45 Кбит/с. На самом деле оцифровываются они еще хитрее: 8, 11 и 32 Кбит/с для звука и 11, 18, 33, 40, 130 и 188 Кбит/с для видео. И при показе видеосервер комбинирует потоки для каждого клиента отдельно. До сих пор непонятно, почему ни в одну технологию не заложена возможность создавать обычный видеоролик, да чтобы программа-видеосервер уменьшала видео- и аудиопоток путем ухудшения качества или уменьшения кадров. Видимо, это требует больших ресурсов. Кстати, максимальный поток, которым оперирует RealServer для одного ролика, — 500 Кбит. Это, вообще говоря, не телевизионное качество, но для глобальной сети более чем приемлемое. (Да и для локальной на 10 Мбит — тоже.) Видеосервер может работать и в глобальной, и в локальной сети. Бесплатная версия рассчитана на 25 одновременных пользователей либо существует еще на 10 одновременных пользователей и на 30 дней, но со всеми дополнениями. Бесплатная версия RealProducer рассчитана на два одновременных потока и создает видео, просмотр которого может быть произведен только RealPlayer версии G2 и выше, а на тот момент для Mac OS и Unix пока существовала предыдущая 5-я версия плейера. На сегодняшний день для Mac OS уже существует RealPlayer G2, но он требует мощного процессора G3, поэтому, вообще говоря, важно поддерживать возможность просмотра видеороликов и пятой версией плейера. Бесплатная версия RealPlayer не запоминает просмотренное видео на диске вашего компьютера. Но найти платную версию «плейера» и «продюсера» в Интернете можно легко, а сервера — нет. Кстати, до недавнего времени Интернет-сервер Real Networks не поддерживал докачку своих программ, и вообще для скачивания предлагалось заполнить анкету, на основании которой создавалась временная папка на сервере, куда копировалась запрашиваемая программа. Эта папка через сутки исчезала, после чего приходилось снова заполнять анкету. Хотя на анонимных FTP-серверах чего только нет.

Начиная с 5-й версии появилась возможность оперировать с текстом и картинками, используя возможности RealServer: так называемые RealText и RealPix. Выглядит это так: в текстовом редакторе можно записать последовательность действий по показу текста или картинок с возможностями постепенного появления на разных однородных фонах, бегущих справа налево или снизу вверх — для текста, или проявления и передвижения — для картинок в фирменном синтаксисе. После этого необходимо все запомнить с расширением *.rt или *.rp. RealPlayer все покажет, и не обязательно в отдельном окне — можно вставить плейер в html-страницу.

Кроме того, с 5-й версии появилась возможность показывать flash-файлы от фирмы Macromedia в потоке. Но эта возможность продается в виде отдельного модуля. Кстати, в виде отдельных приложений к серверу предлагаются: возможность вести учет и соответственно брать деньги за реальный просмотр pay-per-view, возможность связывать два видеосервера воедино и возможность вставлять баннеры в презентации.

В 6-й версии появилась возможность вместо файла *.ram, который может состоять только из одной строки, создать текстовый файл с расширением *.smi или *.smil, в котором по стандарту XML можно описать порядок запуска нескольких видео- или аудиороликов, RealText и RealPix и даже отдельных потоков из многопоточных роликов.

Сейчас вышла уже 7-я версия видеосервера, в которую добавлены сервисные функции. Самые значимые из них: возможность после перезагрузки видеосервера восстановить прерванные показы; возможность показа в плейере текстов со ссылками и переход по ним в плейере же; возможность просмотра при соответствующем разрешении администратора списка всех роликов на сервере. За это видеосервер требует 512 Мбайт оперативной памяти, что крайне удручает. Дело в том, что новая версия существует только для операционных систем Windows NT, Solaris 2.6 и 2.7, Linux 2.2, которые являются наиболее предпочтительными для Real Networks, во всяком случае новые версии всех программ от Real Networks появляются сначала для этих операционных систем, а для всех остальных — позже. Новые сервисные функции не настолько важны, чтобы захотелось разориться на 512 Мбайт. Хотя требование к памяти продержалось не больше недели, сейчас оно выглядит так: 64 Мбайт плюс 12 Кбайт за каждый килобит трансляционных роликов. То есть для бесплатного сервера на 25 пользователей 100 Мбайт оперативной памяти будет достаточно. Но, опять же, предыдущую, 6-ю версию для всех операционных систем пока еще разрешают к перекачке.

В версии G2 в состав программы видеосервера входит одна приятная утилита g2slta, которая позволяет симулировать «живой» поток из роликов *.rm, «известных» Real-серверу, то есть лежащих в папке Content/. Причем утилита g2slta имеет замечательное свойство, которого мне не достает во всех существующих программах видеосерверов: она умеет понижать качество роликов формата *.rm, то есть из 50 Кбит сделать, например, 20. А RealProducer этого не умеет, он может перевести видеоролик формата avi, mov или mpeg в формат rm, но не может при этом транслировать «живой» поток на видеосервер. Хотя на web-сервере Real Networks предлагается перекачать Development Kit и самому дописать недостающие возможности — премного благодарны! У утилиты симуляции «живого» потока обнаружился один недостаток, подтвержденный службой поддержки Real Networks (которая отвечает всем, а не только официальным клиентам): невозможность организации трансляции с многопоточными файлами в обычной 6-й версии видеосервера — только для однопоточных файлов.

Формат *.rm вообще считается «билетом в один конец», так как видео в формате *.rm монтировать уже нельзя. То есть предлагается оцифровать видео через специальные, достаточно дорогие платы захвата, обработать в программе монтажа, например Adobe Premiere, и экспортировать в формат *.rm. За одним исключением: в 5-й версии была программа Real Media Tools, с помощью которой можно было монтировать видео и звук отдельно в режиме прямой склейки, но с точностью до 2 секунд. В версии G2 эта программа тоже присутствует, но только из командной строки. А если ваше видео оцифровано в формате G2 с поддержкой 5-й версии плейеров, то монтировать уже нельзя никак.

При работе с 4-й и 5-й версиями формата никаких сложностей не возникало, за исключением довольно сырой программы RealEncoder 5, которая занимает полностью весь процессор вне зависимости от мощности компьютера. В 6-й или версии G2 пришлось столкнуться с несколькими странностями: под операционной системой Windows 95 или 98 RealProducer может «упасть», после чего необходимо перезагрузить компьютер, так как перестает корректно работать драйвер платы захвата. Поэтому приходится работать или с Windows NT, или с Linux. В 6-й версии при прямой трансляции через коммутируемое соединение невозможно, запустив RealPlayer на том же компьютере, что и RealProducer, увидеть транслируемое с сервера видео. А в предыдущих 5-й и 4-й версиях это было возможно. Скорее всего это связано с тем, что в новой версии предлагается использовать не фирменный протокол передачи данных pnm, а стандартный rtsp.

Все описанные возможности, несмотря на недостатки, позволяют работать с видео в Интернете. И чем больше появится там русскоязычных видеоматериалов, тем интереснее будет жизнь в Сети.

КомпьютерПресс 6'2000

1999 1 2 3 4 5 6 7 8 9 10 11 12
2000 1 2 3 4 5 6 7 8 9 10 11 12
2001 1 2 3 4 5 6 7 8 9 10 11 12
2002 1 2 3 4 5 6 7 8 9 10 11 12
2003 1 2 3 4 5 6 7 8 9 10 11 12
2004 1 2 3 4 5 6 7 8 9 10 11 12
2005 1 2 3 4 5 6 7 8 9 10 11 12
2006 1 2 3 4 5 6 7 8 9 10 11 12
2007 1 2 3 4 5 6 7 8 9 10 11 12
2008 1 2 3 4 5 6 7 8 9 10 11 12
2009 1 2 3 4 5 6 7 8 9 10 11 12
2010 1 2 3 4 5 6 7 8 9 10 11 12
2011 1 2 3 4 5 6 7 8 9 10 11 12
2012 1 2 3 4 5 6 7 8 9 10 11 12
2013 1 2 3 4 5 6 7 8 9 10 11 12
Популярные статьи
КомпьютерПресс использует