Category: it

Category was added automatically. Read all entries about "it".

Avisynth + Linux: альтернативный вариант кодирования h264

По моей предыдущей статейке меня посетила идея, как можно улучшить совместимость Avisynth с Linux. Проблема в том, что не все фильтры хорошо работают под Wine. Некоторые вообще не работают, некоторые работают только на каких-то определённых версиях wine, а некоторые необъяснимо тормозят в wine.

Идея вообще-то проста и очевидна: запускать Avisynth вместе с avs2yuv в виртуалке, а для передачи видеопотока в Linux использовать netcat. Надо будет попробовать. Проблема пока видится только в автоматической передаче количества фреймов.

UPDATE. После проведения начальных экспериментов выяснилось, что имеется некоторое снижение производительности при передаче потока из виртуалки в Linux. Если программа avs2yuv в виртуалке генерирует поток примерно 18 Мб/сек, то после передачи его в Linux скорость снижается до 12 Мб/сек (скорость avs2yuv, запущенного из wine в линуксе - 20 Мб/сек). При этом, чтобы снизить накладные расходы, в виртуалке был установлен сетевой контроллер virtio. Увеличение рабочих процессоров виртуалки только снижает производительность, поэтому необходимо оставить только 1 процессор. Замеры производились утилитой dd.

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

Не устанавливайте программу "Мегафон Модем" в Linux

Если у вас есть usb-модем 3G от Мегафона, то ни в коем случае не устанавливайте программу "Мегафон Модем" в Linux (эта программа есть на самом модеме), особенно если до её установки модем и так работал. "Megafon Modem", или "Mobile partner" - это аццкое поделие криворуких быдлокодеров, которое портит систему и создаёт дыру в её безопасности.

Если у вас хватило глупости, чтобы её установить (как у меня), то нужно удалить её из системы. Для этого нужно проделать ряд неочевидных действий. Предположим также, что у вас нет другого доступа в интернет, кроме как через этот самый модем. Инструкция для Ubuntu:

  1. Переустановите пакеты usb-modeswitch и usb-modeswitch-data. Если вы этого не сделаете, то Network Manager не сможет подключать модем. Это происходит из-за того, что Megafon Modem при установки втихую заменяет некоторые файлы из этих пакетов, и не возвращает всё на место при своём удалении. Переустановку можно делать через Synaptic: отмечаете для переустановки нужные пакеты и жмёте "применить"

  2. На всякий случай переустановите пакет modemmanager

  3. Закройте программу Megafon Modem, если она работает

  4. Теперь удаляйте Megafon Modem штатной процедурой:
    sudo /usr/local/Mobile_Partner/UninstallMobilePartner

  5. Удалите то, что деинсталлятор забыл удалить:
    sudo rm -rf /usr/local/hw_mp_userdata

  6. На всякий случай ещё раз переустановите пакеты из п.1 и 2 (от этого поделия можно всего ожидать). При этом подключение к интернету на данном этапе не требуется, т.к. файлы пакетов, скачанные в п.1 и 2, всё ещё есть в системе.

  7. Отредактируйте файл /etc/sudoers. Из него нужно удалить последнюю строку, которую добавлял при установке Megafon Modem:
    ALL ALL=(ALL) NOPASSWD:ALL
    Эта строка разрешала получение полных прав на систему без ввода пароля по команде sudo.

  8. Перезагрузитесь. После перезагрузки отключите/подключите модем. Он должен появляться в Network Manager через несколько секунд после подключения, как и до установки Megafon Modem.

Системные проблемы UNIX-систем при работе с датами и временем

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

Collapse )

Кодирование H.264 под линукс с использованием Avisynth

На сегодняшний момент самым поддерживаемым железом кодеком для высококачественного видео является H.264 (AVC). Самая лучшая программа кодирования видео в H.264 - это x264 (лучшая в смысле качества получаемого видеопотока).

Но исходный видеопоток для кодирования H.264 надо как-то получить. Очень удобная программа для получения видеопотока, по моему мнению - это Avisynth. Точнее, это даже не программа, а библиотека, с которой могут (или не могут) работать другие программы. С помощью Avisynth можно легко делать подвыборку кадров, наложение и склеивание видеопотоков и пр. Делается это написанием соответствующих скриптов. Прелесть Avisynth состоит в том, что подобные преобразования видеопотоков происходят без потери информации: Avisynth не применяет сжатия с потерями к кадрам, предоставляя заниматься этим кодировщику.

Одно неудобно: Avisynth существует только под Windows. А нам это чудо не нужно: нам надо кодировать под Linux. Но Avisynth всё равно хочется использовать. Ведь Avisynth, на самом деле, соответствует UNIX-way, а то, что он написан для Windows - это ошибка природы (шутка).

Collapse )