2008-06-18

О конвертировании видео в mencoder

За то время, пока я обживаюсь в linux, в мои руки попадались некоторые портативные устройства, позволяющие смотреть видеофайлы. Для путешествующего каждый день утром и вечером в электричках - актуально. Был коммуникатор с QVGA экраном (320x240) и есть таблетка Nokia N810 (800x480). С каждым из них возникла одна и та же задача: из имеющегося видео сделать клип под экран устройства. Чтож, нет ничего невозможного. Для решения задачи имеем: Ubuntu linux, mencoder, умелые ручки.
Все довольно просто. Чтобы кодировать файл для просмотра с приемлемым качеством на портативном устройстве:
mencoder file_in.avi -oac copy -ovc lavc -lavcopts vcodec=mpeg4:vhq:vbitrate=384:keyint=250 -vf scale=320:240 -o file_out.avi
Здесь вы меняете file_in.avi, file_out.avi, 320:240 на ваши параметры. Качество звука менять не люблю, поэтому "-oac copy" - копирую его как есть.
Для владельцев Nokia N810 - не пытайтесь сделать клип на полное разрешение экрана - видеопроцессор не потянет такую нагрузку. Видео высотой в 240 пикселей для просмотра в дороге - вполне достаточно, поверьте. Кроме того, используйте mplayer для этого устройства, и забудьте проблемы с субтитрами как страшный сон.
Так как лень двигатель прогресса, через некоторое время завелся скрипт
~/bin/mne
который несколько облегчает мне жизнь (если захотите использовать, не забудьте сделать его исполняемым).
Текст скрипта:

#!/bin/bash
if [ $3 ]; then A=`echo "-aid $3"`; else A=""; fi;

case "$2" in

nokia)
[ -d nokia ] || mkdir nokia
echo "ДЛЯ NOKIA N770/800/810 С СОХРАНЕНИЕМ СООТНОШЕНИЯ СТОРОН"
sleep 2
mencoder $1 -mc 0 -oac lavc -ovc lavc -lavcopts vcodec=mpeg4:mbd=2:v4mv:vqscale=2:mpeg_quant -vf scale=-2:240 $A -o nokia/$1
#mencoder $1 -oac copy -ovc lavc -lavcopts vcodec=mpeg4:vhq:vbitrate=384:keyint=250 -vf scale=-2:240 $A -o nokia/$1

exit 0
;;

*x*)
[ -d scale ] || mkdir scale
echo "$2 БЕЗ СОХРАНЕНИЯ СООТНОШЕНИЯ СТОРОН ОРИГИНАЛА"
sleep 2
W=`echo $2 | awk -Fx '{print($1)}'`
H=`echo $2 | awk -Fx '{print($2)}'`
mencoder $1 -oac copy -ovc lavc -lavcopts vcodec=mpeg4:vhq:vbitrate=384:keyint=250:abitrate=128 -vf scale=$W:$H $A -o scale/$1
;;

*)
echo "======================================================================================================";
echo "Использование возможно с вариантами:"
echo "filename.avi nokia (для просмотра на Nokia N770/800/810 без тормозов)"
echo "filename.avi 320x240 (жестко по заданным параметрам, их можно изменить в таком-же формате)"
echo "После первого параметра можно добавить второй числовой, обозначающий номер звуковой дорожки, например"
echo "filename.avi nokia 1"
echo "для дублированных фильмов, содержащих оригинальный звук на 1 дорожке,"
echo "который вам нужен. Дорожки нумеруются с 0"
echo "======================================================================================================";
exit 1
;;
esac

2008-06-02

Софт для Nokia N810. Проблемы и радости.

Одной из первых вещей, о которых задумывается счастливый владелец Nokia N810, является программное обеспечение. Где взять? Как устанавливать? Какие плюсы и минусы? Постараюсь вкратце рассмотреть этот вопрос, однако так, чтобы читающий уразумел.
Во-первых, где взять. Человек, знакомый с Linux, особенно с современными дистрибутивами на основе Debian, такими как Ubuntu, обнаружит, что порядок установки через визуальное приложение очень напоминает аналогичный процесс на Большом Настольном Компьютере (БНК), а установка пакетов из консоли - так и вовсе один в один. Apt он и в Африке apt.
Я не претендую на звание самого-знающего-предмет-человека, а просто излагаю MyWay решения насущных вопросов. Поэтому, если кто ищет здесь полного структурного изложения со всеми ньюансами - то боюсь, разочаруется. А кому нужно просто знать, как сделать это уже проверенным путем - читать.

Для тех, у кого под рукой есть шустрый и бесплатный WiFi - никаких проблем. Заходим в Меню - > Параметры - > Диспетчер приложений. В меню Диспетчера приложений находим Инструменты - Каталог приложений. В открывшемся окне видим список репозитариев, откуда предположительно можно устанавливать приложения. Выбирайте один за другим пункты списка и нажимайте "Изменить" - убедитесь, что галочка "Отключен" снята.
Кроме того списка, что предлагает нам Nokia по умолчанию, доступно еще множество других репозитариев. Чтобы их установить, пройдите по ссылке. Там есть поиск по имени пакетов, и, поставив галочку напротив понравившегося репозитария и нажав кнопку "Install selected" - получаем файл, который при запуске на Nokia N810 добавит репозитарии в список "Диспетчера приложений". Внимательно прочитав то, что на том сайте написано, понимаем, что лучше отключить или удалить имеющийся список репозитариев, чтобы не дублировать строки списка.
Вернемся в Диспетчер приложений. При подключенном соединении с интернетом вновь в меню выбираем "Инструменты - > Обновить список приложений". Через некоторое время, когда процесс обновления завершиться, в "Диспетчере приложений" можно будет пользоваться кнопками "Приложения для установки" для поиска и установки и "Наличие обновлений". Ничего особенно хитрого. Самое сложное здесь - это найти неподалеку точку подключения. GPRS для этого дела конечно тоже годится, но меня жаба душит, к тому же медленно.
И тут нам на помощь приходит возможность Linux все настроить ручками. Я уже описывал способ соединения Nokia N810 с интернетом посредством USB-шнура, идущего в стандартной комплектации. Воспользуйтесь им, чтобы получить в руки инструмент apt, доступный через консоль. Использовать это соединение для установки программного обеспечения через визуальный инструмент "Диспетчер приложений" у меня не получилось, о чем я, впрочем, не сожалею. Диспетчер можно использовать для того, чтобы узнать, как называется требуемый пакет приложения.
Чем консольный способ установки лучше Диспетчера приложений (ДП)? Странно, однако возможности установить через ДП сразу несколько программ я не обнаружил. После каждой установки довольно долго происходит новый сбор информации о пакетах. И если включено много репозитариев, то времени этот процесс занимает довольно. В консоли же это не только возможно, но и удобно, например вот так:
apt-get install mplayer pidgin
Удаление программ осуществляется аналогично:
apt-get remove docreader evince canola2
Естественно, все это проделать можно только под root, для чего установите на аппарат пакет becomeroot и в консоли наберите
sudo gainroot
перед тем, как начать манипуляции с установками и обновлениями через консоль. Надеюсь, я вас убедил.
И еще кое-то о пакетах. Для обновления информации о наличии пакетов в репозитариях, как всегда сработает
apt-get update
Но вот у пользователей Linux сразу же начнут чесаться руки набрать
apt-get upgrade
чтобы обновить уже установленный софт. Имею сказать вам, дорогие мои, что я дважды пытался это проделать. И каждый раз устройство переставало загружаться, так что приходилось перепрошивать все заново. Поэтому пользуйтесь приложением для резервного копирования, и сохраняйте копию на внутреннюю карту памяти, с нее при прошивке данные не удаляются. После прошивки всегда можно будет восстановить все свои настройки. Пакеты правда придется устанавливать заново. О том, как прошить аппарат в интернете уже писали неоднократно, имеет ли смысл тут отписываться и мне? Вот здесь нашел статью человека, проделывающего upgrade без моих проблем, попробуйте сделать как он описал.
Да, кстати, после установок пакетов на Nokia N810 не забудьте
apt-get clear
для того, чтобы удалить установочные пакеты из памяти устройства.