Четверг, 30 апреля


Частенько, во время каких-то там дополнительных небольших дел можно получить намного больше интересного опыта, чем во время целенаправленной и длительной работы в том или ином направлении. Неделю тому назад возникло у меня простейшее задание — оцифровать VHS. Имея сервер видеонаблюдения с RCA-входами, нетрудно было бы на некоторое время подключить вместо камеры видеомагнитофон и заполучить вожделенную цифровую запись с магнитной кассеты. Увы, все оказалось далеко не так просто, как выглядело до начала работы.

Как вы знаете, пять дней тому назад вышла новая версия дистрибутива Debian под восьмым номером. Сервер видеонаблюдения работал на Debian 7, поэтому как раз за день до того, как я взялся за новое задание, мне в голову пришла идея обновить этот сервер как наименее востребованный и такой, от простоя которого никому не будет ущерба. Обновление путем изменения параметров репозитория привело к тому, что система перестала отвечать где-то на половине установки (блин, когда же я научусь обновляться только из консоли, а не из графической оболочки!), после чего сервер просто пришлось перезагрузить. Обновление, конечно, было запущено заново и таки привело к успешному запуску восьмого Debian. Он, что правда, меня не порадовал. Для начала сразу скажу, что эта версия дистрибутива просто таки засыпает журнал разнообразными ошибками, касающимися Gnome. Сначала мне показалось, что это из-за кривого обновления, однако в новой установке принципиально ничего не изменилось. Вторая существенная проблема — отвал ТВ-тюнеров, на которых, собственно, работа сервера видеонаблюдения и основана. Тюнера вроде как и работают, однако при попытке воспроизведения через VLC начинают идти только часики, а в области видео так и остается эмблема проигрывателя. Cheese же бодро сообщал в журнал об ошибке, решения и описания которой, впрочем, мне все равно нигде отыскать не удалось. Ну что же, Debian 8, наверное, пришло время прощаться. Кстати, отмечу для любителей unetbootin: netinstall Debian 8, записанный через unetbootin на флешку, ругается на отсутствие важных файлов. Проблема решается через dd if of (зачем вообще нужен unetbootin, если есть такая фишка, о которой я раньше даже и не знал?).

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

Поддержка сети изначально отключена (в netinstall, ага). Сетевые параметры — это последний пункт первого меню установки. Первым же стоит выбор источника установки. Источник из сети недоступен, поскольку нет поддержки сети, зато предлагается выбрать iso-образ. Почему-то мне показалось, что нужен тот образ, который записан на мою флешку, однако флешку найти не удалось. Не беда, нашел образ на жестком диске. На этом экране все подошло, однако после возвращения на главный экран снова ошибка. Это уже потом я выяснил, что сначала нужно включить поддержку сети, затем ввести адрес репозитория вручную. Почему адрес какого-то из основных репозиториев отсутствует в установщике с образа netinstall — большая загадка. Если установка произошла успешно — не спешите радоваться. Теперь еще нужно запустить CentOS. Grub этого делать не хочет, так как после установки у него прописаны кривые пути. Для загрузки нужно в режиме rescue установить корень и путь к файлам grub:

set prefix=(hd0,1)/grub2/i386-pc
set root=(hd0,1)
insmod normal
normal

После этого шаманства вы таки увидите меню загрузки Grub. Весело, правда? С такими проблемами после установки я ни в Gentoo, ни в Slackware не сталкивался. В итоге моему взгляду предстала ужасно тормозная система, в которой даже прогрессбар двигался только в том случае, если шевелить при этом курсор. VLC, конечно, не поднялся (проблемы как и в Debian, но прибавляется еще и тягомотина с репозиториями, так как VLC и большинства компонентов с зависимостями в базовом репозитории нет). Дальше ничего и не смотрел, сразу снес. Да здравствует старый добрый Debian 7.

В Debian 7 все сразу поднялось, но приглянулась мне интересная штука в поведении VLC. Воспроизведение с /dev/video работает отлично, а вот запись приводит к каким-то кошмарным файлам, которые частенько даже сам VLC прочесть не может. Я, конечно, понимаю, что машина у меня слабоватая, но раньше она вытягивала пять камер видеонаблюдения с конвертацией, а тут уже от одного потока все ложится на лопатки. Ни один из кодеков не помог, более-менее стабильной записи удалось добиться с ASF, но независимо от битрейта видео выглядело так, как будто он стоит где-то на уровне 10-20. Я уже почти собрался нести кассету в бюро по оцифровке видео, как вдруг решил попробовать записать видео тем же способом, которым работает видеонаблюдение — через консоль с cvlc. Моему удивлению не было предела, когда я увидел, что из консоли с теми же параметрами видео в том же ASF записывается без малейших заминок, при этом в идеальном качестве, которое соответствует оригинальному. Интересно, но в графической версии VLC отметка, оставляющая качество в соответствии с оригиналом, приводит к тому, что видео или аудио не записывается вообще, а если отметить сохранение потока в исходном виде, то даже конечный файл создан не будет. Что правда, видео, записываемое таким образом, в размерах не сильно-то легкое: десятисекундная запись заняла 180Мб. Таким образом, в минуту это уже 1Гб, а за час будет израсходовано примерно 60Гб (и это не супер HD, а просто VHS со стандартным для PAL разрешением). Интересно, конечно, но экспериментировать с параметрами качества придется однозначно. Из всех mux'ов, кстати, работает только ASF, хотя камеры наблюдения всю жизнь работали через MP4. Все-таки, столько всего интересного нас окружает!


30.04.2015, 22:21
  Debian, Linux, CentOS, VLC.
Просмотров: 7343.