Хабрахабр

Видеостудия на базе i486

Как многие старьевщики, я люблю время от времени помучить ebay поисками разных старых железок, вдруг, найдется что-нибудь интересненькое занедорого? И оно нередко находится. Да, искать что-то мейнстримово-винтажное, типа материнских плат для 386, 486, памяти SIMM 30 pin, видеокарт и мультикарт ISA, Sound Blaster, и подобных широкоизвестных вещей на ибее не стоит, они там очень переоценены. Однако, порой встречаются малопонятные обывателю платы, которые тру-старьевщикам кажутся жемчугом. Одну из таких плат я недавно приобрел менее, чем за 10 евро, включая доставку. Вот она:

Самое сладкое для меня тут — это 1994 год. С посмощью этой платы, выпускавшейся в 1994-1995 годах, можно превратить типичный для того времени компьютер, ну, ок, далеко не видеостудию, конечно, но в нечто, имеющее способности к нелинейному видеомонтажу. То есть совместимый софт, с большой долей вероятности, будет 16-битным.
предупреждение: много картинок и видео под катом
Еще по картинкам я понял, что приобрел нечто дорогое моему сердцу. Как минимум за год до выхода Windows 95. Это совсем не та miro, что miro video player, опенсорсный мультиформатный плеер, который был очень популярен в свое время, и не совсем та miro, которая Pinnacle miro video (компания Pinnacle приобрела компанию Miro Computer Systems GmbH в 1997 году). Да, это Miro Video. Тем не менее, имеющая до сих пор свое комьюнити Это оригинальная, немецкая, как ELSA Technology, допиннакловская Miro Video DC1 для 16-битной шины ISA.

Это сейчас любой смартфон способен снимать видео, оцифровывать и сжимать его налету. Да, сейчас восторги по поводу платы оцифровки видеосигнала кажутся странными: подключил телефон по USB, да захватывай мышкой видеофайлы с него и переноси на комп… Но так было не всегда. Но вычислительная мощность — штука наживная. А раньше видео снимали и хранили в аналоговом виде: камерам не хватало мощности для оцифровки и сжатия на лету. Давайте посчитаем. Для наших компьютеров (к которым и современные смартфоны, безусловно, относятся) она росла гигантскими темпами с момента их появления, и цифровое видео позволяет очень наглядно оценить этот темп. Это только поток вывода в буфер видеокарты. Для того, чтобы просто показывать 4К полноцветное видео на экране со скоростью 25 кадров/сек, компьютер должен обрабатывать поток данных примерно в 600 МиБ/сек (3840*2160 пикселей * 25 раз в секунду * 3 байта на RGB пиксель). В общем, работа, для современного компьютера, плевая: шина PCIe 3. До этого надо другой поток (правда, сегодня, это сильно сжатый поток) считать с диска в память и там распаковать. 0 может переварить до 1 ГБ/сек теоретически, но столько и не надо — с диска идет сжатый поток, его скорость сильно ниже, а на прием/распаковку/отправку каждого из 7 млн пикселей в кадре у современного многогигагерцевого многоядерного процессора с SIMD-инструкциями времени полно. 0 16x имеет пропускную способность около 16 ГБ/сек, да даже 1х слот PCIe 3. Да и ОЗУ для таких объемов более, чем достаточно, не говоря о дисковом пространстве.

1994 год — это, в случае хай-энда, Pentium-90, но 486DX2-66, по факту, остается мощным мейнстрим-процессором: Теперь давайте вернемся к нашей карте.


реклама из PC Magazine за май 1994 г.

В лоу-энде сидят 486SX-33 и 486DX-33. Да, версии 486 на 75 и 100 МГц уже есть, но они в основном в хай-энд портативных компьютерах. Pentium-90 — что-то заоблачно дорогое. Pentium-60 уже год как на рынке, но все еще очень дорог. Обратите внимание на объем жесткоко диска, 420-520 МБ! Так что будем отталкиваться от 486DX2-66. А в типичном ОЗУ не вместится даже 1 кадр. Менее, чем на 1 секунду несжатого 4К видео.

Но наша плата захвата рассчитана на шину ISA 16 бит, и тут все сильно печальнее. В этом свете, имевшая в 1994 году уже немалое распространение шина PCI не выглядит таким уж узким местом, обеспечивая до 125 МиБ данных в секунду, то есть 1,76 млн пикселей на кадр для полноцветного видео в 25 кадров/сек. Или 213 тыс пикселей на кадр. 8 МГц и 16 бит дают теоретическую максимальную пропускную способность в 16 МБ/сек. И это — теоритический максимум, в реальной жизни недостижимый. Даже кадр разрешением 640х480 имеет больше пикселей!

5 МБ/сек, очень серьезная нагрузка для жестких дисков того времени, которые обеспечивали пиковую скорость линейного чтения в 3-5 МБ/сек. Кроме того, даже видео разрешением в 320х240 при 8 бит цвета и 25 кадрах/сек — это более 1. Даже такое видео без сжатия быстро переполнит типичный 500 МБайтовый диск, буквально за 5 минут. Ну и размер имеет значение. Соответственно, нам необходимо поток данных сжимать, а запаса по вычислительной мощности процессора у нас совсем немного!

Современные операционные системы обладают универсальными фреймворками на все случаи жизни. И это еще не все проблемы. Никаких стандартных видео-кодеков в мире Windows не было, Quicktime оставался эксклюзивом Apple, типичный аппаратно-программный видеокомплекс был вещью в себе, несовместимой ни с чем. Во времена ранней Windows все было не так. Но в 1992 году выходит пакет под названием Video for Windows от Microsoft, и все заверте…

Поначалу пакет не особо расходился среди пользователей, все же видео на компьютерах было еще экзотикой. Ну, почти. Именно этому пакету мы обязаны появлением контейнера AVI. Однако со временем производители устройств и прикладных программ приняли этот пакет, и он стал де-факто стандартом в мире Windows. Что хорошо. Ну и наша плата тоже поддерживает этот пакет полностью. 1 с пакетом Video for Windows. Это значит, что можно будет запустить Adobe Premier, первая версия которого была 16-битной и работала под Windows 3.

Пора переходить к досужим действиям. Ну ок, хватит досужих размышлений. Давайте посмотрим, из чего сделана плата.

Первая из них, — это Декодер цифрового видео, а вторая — энкодер. Сразу бросаются в глаза 2 СБИС от Philips, SAA7196 и SAA7199. Декодер принимает отдельно сигналы яркости и цветности и оцифровывает их с дискретизацией 8 бит/отсчет. Чтобы не путаться, сразу скажу, что здесь декордер — это АЦП, а энкодер — это ЦАП. Для подачи отдельных сигналов яркости и цветности, на плате установлены разъемы S-Video, но есть и композит. То есть по факту имеем 16 бит на пиксел. Декодер довольно умел, он семплирует до 768 пикселей на линию изображения, умеет масштабировать видео и переводить формат цветности YUV в RGB.

А сама плата, согласно документации, способна захватывать видео разрешением в 320х240 в NTSC и 384х288 в PAL/SECAM. Но то декодер. Чудно. Однако, плату можно использовать как аппаратный кодек для разрешений вплоть до 590х442.

Хорошо. Энкодер же позволяет выводить то, что декодер вводит, обратно на Composite или S-video. Далее, среди бесчисленного количества мелких корпусов стандартной и не очень логики, виднеется набор чипов двухпортовой DRAM, стоящих, по-старинке, вертикально.

И JPEG-процессор LSI L64702. Ее здесь 768 КиБ.

Это мы еще посмотрим, конечно, но в даташите на L64702 ничего про временное сжатие не видно, так что вряд ли тут MPEG. Ага, похоже, эта плата отдает видео в формате MJPEG, то есть поток картинок JPEG. Однако, это еще предстоит проверить, как и способность карты выдавать несжатое видео. Но для редактирования так даже лучше: все кадры ключевые, потери от пережатия будут меньше.

Примерно-типичный для 1994-1995 годов. А пока соберем для платы компьютер. Как я писал выше, мне кажется, это довольно производительный и очень массовый процессор тех лет. Это будет быстрый 486, но не сверхбыстрый, а на 66 МГц. Все же, 486 — это почти синоним VLB. Я долго думал по поводу материнской платы. Однако в итоге я остановился на PCI-версии, плате LS486E от печально известной Lucky Star на базе чипсета SiS 496/497.

Батарейка CMOS-памяти протекла, микросхема ПЗУ с БИОС отсутствовала, разъем клавиатуры был практически уничтожен коррозией, а в регуляторе напряжения 3. Несмотря на Lucky Star, это довольно надежная плата, которая, впрочем, попала ко мне в руки будучи сильно потрепанной жизнью. Восстановить разъем клавиатуры и прочие повреждения от батарейки труда не составило, а вот последствия вандализма оказались печальнее. 3В отсутствовал силовой транзистор. Последний я решил не восстанавливать вообще, мне достаточно того, что плата работает с процессорами, рассчитанными на 5 Вольт, для этого регулятор не нужен. Ревизий 486Е бесчисленное множество, и периферия на всех разная, как и регулятор напряжения. На моей плате установлен мультиконтроллер SMC, но такого БИОСа нигде не было доступно. А БИОС конкретно для моей ревизии я не нашел. В итоге, прада, версия для ревизии с мультиконтроллерром UMC подошла почти идеально.

Плата поддерживает только FPM, так что, чем богаты, тому и рады, но 12 МиБ для 1994-1995 года, — это внушительный объем памяти. На плату установим 12 МиБ памяти. Но это уже конец 1995 — начало 1996. До выхода Windows 95 стандартом считалось 4 МиБ, после нее требования резко возросли до 8 МиБ и пошли расти дальше. X, тут 12 МиБ — это почти хай-эндовый уровень. А у нас сетап 1994го, с Windows 3.

Это карта из совсем другого времени, из 1999 года. Для вывода видео я буду использовать карту S3 Savage4. Да, мне бы хотелось тут видеть S3 Trio32, но даже для выпущенной в 1999 году Savage4 есть отличный драйвер для 16-битной Windows. Но это единственная плата S3, которая оказалась под рукой, а когда речь идет о Windows 3.х, у меня есть одно простое правило: видеокарта S3. Очень жаль, что у фирмы все так печально сложилось.

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

Сетевая плата ничем не примечательна, но поможет перекидывать софт и результаты работы с/на более современное железо.

Тоже, ничего особенного. Ну и звук. Но нам много не надо. Клон Sound Blaster, к тому же, довольно глючноватый. 8 бит моно с частотой дискретизации 22 кГц, больше нашему компу не осилить.

Версия 5. Итак, начнем с установки DOS. 22, последняя версия MS-DOS, как отдельной ОС. 0 будет в самый раз, хотя 1994 год — это как раз 6. Но в нашем случае различия невелики.

11: Все равно основная работа будет производиться под Windows 3.

11 это для сети. 3. Его не просто не было в стандартной поставке ОС, он еще и требовал установки Win32s, 32х разрядной надстройки над Windows 3. Хочется простого переноса данных, значит, нужен TCP/IP. X, обеспечивавшей сабсет API Win32.

После установки TCP/IP можно залезть на сетевой диск за драйверами всего остального.

И вот почему я люблю S3:

изображение до установки драйвера S3:

и после:

1. Теперь можно установить Adobe Premier 1.

не забыть перезагрузиться, как после любой установки:

В комплект драйвера miro входит утилита, позволяющая проверить скорость передачи данных с/на диск. В поставку уже входит Video for Windows, так что остается только установить драйвер miro Video. Посмотрим:

Ну что же, что есть то есть. М-да, не густо. У меня не так много источников композитного видеосигнала, так что начну с самого простого, что есть всегда под рукой: ZX Spectrum. Зато теперь, после бесчисленных перезагрузок, можно преступать к веселью. Своеобразный твич а-ля 1994 будет. Попробуем захватить видео геймплея. Но звук я все равно захватывать буду, чтобы оценить реальную нагрузку. Да, вывод звука в ZX Spectrum не предусмотрен конструкцией, так что видео будет немое. И нет, сжатие не улучшит ситуацию, скорее, наоборот: 486-66 неспособен на лету распаковывать MP3 даже с самым низким битрейтом, что уж говорить о упаковке параллельно с видеозахватом? Звук будет несжатым PCM, 8 бит 22 кГц.

При захвате видео окно с превью не работает, и совершенно непонятно, что именно мы захватываем. Итак, первая особенность. Также, перед захватом программа предлагает преаллоцировать файл буфера захвата. К счастью, сигнал со входа карты захвата напрямую пробрасывается на выход, и с помощью внешнего монитора с композитным входом можно увидеть, что мы имеем на входе. Я преаллоцировал 50 МиБ. Я полагаю, чтобы избежать большого времени поиска при записи на фрагментированный диск. Начинаем:

Длинное и скучное видео со спекки

Давайте посмотрим что там внутре… Да, это MJPEG. Для композитного сигнала, захваченного 486м в разрешении 320х240 (да, этот спектрум — NTSCшный harlequin), качество совсем неплохое! Несжатое видео карта захватывать не умеет совсем, при отключении сжатия в настройках захвата видим следующее:

Думаю, из-за того, что захваченый файл в 3 раза превзошел размером преаллоцированый буфер. Из 8,5 тыс захваченных фреймов с разрешением 320х240 и скоростью 25 кадров/сек, 100 было пропущено. После захвата видео копируется из дискового буфера в отдельный файл, и эта операция занимает довольно много времени, вполне сравнимо с самим захватом. Но, в целом, это совсем неплохой результат! Оно определенно соответствует VHS. Надо отметить, качеством захвата я впечатлен. Я готовился к значительно худшему результату, да и те результаты, которые я получал со своей первой картой видеозахвата (которая была обычной PCI-картой ТВ-тюнера Aver Media) на Celerone году в 1996-1997 были, пожалуй, похуже.

1. Ну и давайте посмотрим на то, что представлял собой Adobe Premier 1. Заодно и звук на видео наложим какой-нибудь, для веселья.

С тех стародавних времен, в нелинейном монтаже особо ничего не изменилось. Что тут можно сказать? Все привычно и для того, кто умеет в iMovie или Blender Video Editor, не говоря уже о современном Adobe Premier, разобраться с этой версией будет очень просто. Тот же таймлайн с несколькими дорожками, отдельно для видео, звука и эфектов. Это просто праздник какой-то: И какие классные одскульные транзишены тут!

Давайте я попробую создать небольшой ролик о пользе TR-DOS для ZX Spectrum в стиле 90х!

Для пересжатия я использовал родной кодек видеокарты, то есть пересжатие, по-идее, должно было быть аппаратным. М-да, все очень небыстро. 4х минутный ролик создавался 2 часа 10 минут.

И да, аппаратное сжатие тут есть. Для проверки я попробовал отрендерить короткий 10-секундный ролик с разными кодеками. Вот результаты:

  1. miro MJPEG — время рендеринга 5 минут.
  2. Microsoft RLE — общее время 5 минут (постройка 256-цвет палитры 1 минута и кодирование 4 минуты). Но это сильно более легковесный кодек.
  3. Microsoft Video 1 — время рендеринга 8 минут.
  4. Cinepak — время рендеринга 1 час.

Ну вот, пожалуй, и все. Это было весело. Что интересно. плата не вызвала вообще никаких трудностей при установке/настройке. Вот что значит немецкое качество! А сам факт того, что на 486м о 66 МГц с 12 МиБ ОЗУ и диском в 500 МБ, да еще и под управлением 16-битной версии Windows, действительно можно монтировать видеоролики вызывает во мне истинное восхищение. Очень доволен, как потратил эти 10 евро, обычно, все получается гораздо скучнее.

Теги
Показать больше

Похожие статьи

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Кнопка «Наверх»
Закрыть