Показаны сообщения с ярлыком nokia n810. Показать все сообщения
Показаны сообщения с ярлыком nokia n810. Показать все сообщения

2008-12-09

Кодирование MKV (matroska) для Nokia N810 используя mencoder

Открытия, как обычно, следуют за засадами. Несколько раз сталкивался с проблемами, когда кодировал файлы .mkv. Например, если пытаюсь извлечь видеотрек из .mkv в файл avi - возникает ошибка при воспроизведении, видео идет какимим-то цветными кубиками.
Или рассинхронизируются аудио- и видеопотоки. Или звук становится таким, как будто его эквалайзером загнали на максимум, и страшно жужжит.
Сегодня нашел в сети такой вариант, и вроде бы он нормально отработал. Буду тестировать.

mencoder filein.mkv -o fileout.mkv -of lavf -oac lavc -ovc lavc -lavcopts vcodec=mpeg4:mbd=2:v4mv:vqscal:mpeg_quant -vf scale=-2:240

P.S. Проверил. Хороший метод.

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
для того, чтобы удалить установочные пакеты из памяти устройства.

2008-05-21

Nokia N810 и интернет через компьютер

Когда я выбирал и покупал Nokia N 810, руководствовался несколькими пожеланиями:
1) большой экран, на котором удобно смотреть видео и читать книги;
2) привычный Linux на борту (кстати основанный на Debian, а значит убунтологи там почти как дома). Удобные программы (включая любимую консоль) и ощущение свободы. На аппарат немедленно водворились Pidgin и Mplayer;
3) отсутствие телефонного модуля (предпочитаю небольшой телефон с bluetooth и GPRS носить отдельно).
Все это я получил, и был очень рад такому делу. Но, как и многие до меня, через денек стал задаваться вопросом: неужели устанавливать программы из репозитариев мне придется только через WiFi (бегая в поисках точки по городу) или GPRS (отстегивая денежки на телефон)? Ни то ни другое мне не нравится. Линукс приучил меня к бесплатности софта, а тут — такая засада! Нечестно!
Размышляя об этом, и поглядывая на прилагающийся в комплекте USB-шнур, подумал — наверняка есть способ организовать доступ в интернет через «Большой Настольный Компьютер». Перерыл полинтернета. Наткнулся на несколько советов и рекомендаций. Сталкиваясь с затруднениями и вопросами, копая глубже и экспериментируя я пришел к просветлению по поводу темы данной заметки. Чем и хотел бы с вами поделиться.
Итак, нам потребуется: аппарат Nokia N 810, USB-шнур из комплекта, БНК с Ubuntu, маленький бубен. Начинаем шаманить!

РАБОТАЕМ С NOKIA N 810
Для начала устанавливаем на устройство маленькую утилиту, позволяющую удобно становиться root. Называется она becomeroot. Кидаем deb-пакет на Nokia и запускаем. У меня установилось без проблем.
Далее находим в меню и запускаем консоль. В консоли пишем:
sudo gainroot
- и вуаля! - становимся суперпользователем.
Теперь нам потребуется поправить пару файлов в режиме root. Я покажу, как они выглядат у меня сейчас. Первое — это
vi /etc/network/interfaces
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp
auto usb0
iface usb0 inet static
address 192.168.2.2
netmask 255.255.255.0
gateway 192.168.2.1
Что мы видим? Настроено сетевое подключение через USB, прописан IP, маска сети и шлюз. Шлюзом будет IP usb-соединения на БНК. До этого мы еще дойдем.
У кого-нибудь возникает вопрос: а почему 192.168.2.2 а не 0.2? А потому, дорогие мои, что в локальных и корпоративных сетях, с которыми я сталкивался, 192.168.0.0 и 1,0 часто используются.
Далее:
vi /etc/resolv.conf
nameserver 192.168.2.1
Опять же прописан IP usb-соединения на БНК.
Далее:
insmod /mnt/initfs/lib/modules/2.6.21-omap1/g_ether.ko
Здесь два момента. Первый — возможно, что вместо «2.6.21-omap1» у вас будет другая версия. Подкорректируйте строку. Второе — лично у меня вывод этой команды в перый раз показывает, что устройство занято и операция не выполнена. Зато во второй раз всегда срабатывает.
И наконец —
ifup usb0
Теперь, чтобы убедиться, что устройство готово, пингуемся:
ping 192.168.2.2
Если пинг проходит нормально — значит все сделано правильно. Теперь приступаем к БНК.

РАБОТАЕМ С БОЛЬШИМ НАСТОЛЬНЫМ КОМПЬЮТЕРОМ
vi /etc/network/interfaces
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet dhcp
address 192.168.0.1
netmask 255.255.255.0

allow-hotplug usb0
mapping hotplug
script grep
map usb0

iface usb0 inet static
address 192.168.2.1
netmask 255.255.255.0
up echo 1 > /proc/sys/net/ipv4/ip_forward
up iptables —P FORWARD ACCEPT
up iptables —A POSTROUTING —t nat —j MASQUERADE —s 192.168.2.0/24
down echo 0 > /proc/sys/net/ipv4/ip_forward
down iptables —t nat —F POSTROUTING

Здесь нас касается код, начиная с «allow-hotplug usb0». Выше — это ваши сетевые настройки, и если у вас сеть работает хорошо, то, как в анекдоте «ничего не трогай ничего не меняй». Только добавить то, что касается usb0. Как видно, кроме настроек сетевого интерфейса по шнуру USB, здесь прописаны команды, открывающие для соединяющегося по USB устройства выход во внешний мир. Внесли изменения? Сохранили?
Теперь самое ответственное. Если у вас есть барабан или хотя бы бонго — то желательно сделать дробь. На крайний случай — можно использовать табуретку.
Nokia уже подготовлена и пинг прошел. Подключаем ее шнуром к БНК. Не торопитесь включать содениение usb0 на БНК. Сначала нужно убедиться что подключился нужный нам модуль. Для этого потребуется команда
lsmod | grep usbnet
Если модуль подключился — кричим «Аллилуйя». Потому что без него ничего не выйдет. Я не знаю, что там идет по умолчанию при установке Ubuntu. Когда устанавливал Ubuntu на БНК, моя нокия была подключена к нему через USB и постоянно пинговала его
ping 192.168.2.1
Возможно, что это включило модуль usbnet при установке, а может быть он и так есть. Не знаю. Можете написать в комментах, как с этим обстоит дело, буду рад поправиться.
Если «Аллилуйя» прозвучало — идем дальше. Теперь поднимаем соединение:
sudo ifup usb0
После этого с БНК «ping 192.168.2.2», а с нокии соответственно «ping 192.168.2.1» должны пройти. Если все ок — поздравляю, вы в сети.

И КОЕ ЧТО ЕЩЕ
Моя корпоративная сеть использует прокси сервер с авторизацией. Поэтому, чтобы получить доступ в интернет, в консоли на Nokia N 810 я дополнительно пишу:
export http_proxy=http://Имя:Пароль@имя_или_IP_прокси:порт_прокси
Дома же мой провайдер несколько иначе строит свою политику, поэтому предыдущая команда не поможет. Поможет другое: перед тем, как поднимать сетевое соединение на Nokia, мне нужно прописать DNS сервера провайдера:
vi /etc/resolv.conf
nameserver 192.168.2.1
nameserver IP_DNS1
nameserver IP_DNS2
Конечно я не прописываю заново все каждый раз, а просто комментирую
# то, что мне в данный момент не нужно
Умные парни давно написали скрипты, которые автоматизируют эти манипуляции. Они молодцы. А мне неохота.

И НАПОСЛЕДОК
Не ожидайте, что сможете лезть в браузер и идти на любимые странички. Возможно, после большого бубна и это рализуемо, но уж коли у вас под рукой БНК — можно ведь и на нем поработать, верно? Зачем же тогда такое соединение? Читай сначала — для реализации установки программ из репозитариев. Иначе говоря, в режиме root теперь можно сделать
apt-get update
apt-get install mplayer pidgin

Спасибо за внимание!