15 мая 2009 г.

Линукс. Извраты с DVD:)

Понадобилось мне заменить аудио-дорожку на двд-диске на аудио-дорожку с другого (иной перевод, но качество хуже). После демультиплексирования (под виндовс) получил по 2 файла с каждого диска соответственно, подогнал новую аудио-дорожку под оригинальную (под windows, в Sony Vegas), чтобы совпадали спецэффекты, в итоге сохранил в .wav и вырубился. Утром сбросил звуковой файл на флэшку с мыслями доделать все на работе. Взять с собой видео-файл без звука я забыл, поэтому на работе пришлось сливать его с диска повторно. Поскольку на работе Линукс, то использовал приложения OpenSource.

Для начала при помощи AcidRip слил все сразу в видео-файл mpeg (режим copy) без аудио-дорожки.

"Правильные" файлы у меня были, осталось их мультиплексировать. Замучавшись искать способ с GUI (единственно подошедший avidemux мутил что-то с пропорциями и предлагал ждать мне вечность до окончания), обратился к интернету. В итоге наткнулся на утилиту mplex из пакета mjpegtools. Но для работы с ней исходный материал должен быть в виде m2v и ac3, пришлось перекодировать.

Поскольку качество у необходимой дорожки было ниже среднего, кодировал с битрейтом 256:

$ ffmpeg -i Untitled.wav -ab 256000 -ar 48000 result_audio.ac3

Затем видео (input.mpeg):

$ transcode -i input.mpg -y ffmpeg --export_prof dvd-pal --export_asr 3 -o result_video.mpg -D0 -b224 -N 0x2000 -s2 -J modfps=clonetype=3 --export_fps 25

Образуются 2 файла: result_audio.ac3 и result_video.mpg. Мультиплексинг:

$ mplex -f 8 -o ready_dvd.mpg result_video.mpg result_audio.ac3

В итоге получается готовый к проигрыванию и авторингу видео-файл ready_dvd.mpg

При помощи DVD Styler файл с легкостью перегоняется в удобоваримый для проигрывателей формат и там же прожигается. Все:)

Под Linux все очень просто решилось при помощи ffmpeg и transcode. С другой стороны - они есть и под Windows, да и с Sony Vegas вряд ли сравнятся доморощенные визуальные редакторы под Линукс (перепробовал все, что было в репах). Как бы то ни было, рад легкому решению на рабочей ArchLinux, собсно впредь буду выполнять подобное только под Линуксом.

Вдобавок, немного попсы:

Извлечь информацию о файле:
ffmpeg -i sample.avi
и
tcprobe -i sample.avi


Извлечение звука из видеофайла с сохранением в формате mp3 с битрейтом 192:
ffmpeg -i source_video.avi -vn -ar 44100 -ac 2 -ab 192 -f mp3 sound.mp3

Преобразование flv в AVI
ffmpeg -i video_original.flv -ab 56 -ar 44100 -b 200 -s 320x240 video_final.avi

13 мая 2009 г.

Скрипт, управляющий звонком. Windows Mobile

В операционной системе Windows Mobile имеется возможность настраивать звонок скриптом (твик найден был на форуме 4pda.ru), что дает гикам-мобильникам возможность определенного изврата над звонком своего зверька.

Сам скрипт храниться в реестре по адресу

HKEY_CURRENT_USER\ControlPanel\Sounds\RingTone0

ключ - Script

Собственно настройки:

a - вывести оповещение на дисплей
f - Включение/выключение подсветки. Значения: f1 = включить, f0 = выключить.
p - начало проигрыша мелодии.
c - установка громкости мелодии. Возможные варианты: C50, c100, c150, c200.
v - вибрация. vX, где цифра Х после v отвечает за длительность вибрации в секундах. X=0 - вибрация до конца скрипта.
w - пауза. wX = X секунд задержки.
r - повторение скрипта (зацикливание).

Примеры скриптов:
af1w60f0 = Только подсветка, загорающаяся на 60 сек
apw3r = Проигрыш мелодии, по окончании через 3 сек повтор
ap = Один раз проигрывается мелодия
c50apw3c150r = Мелодия с увеличивающейся громкостью
v3w3apw3r = 3-х секундная вибрация, пауза 3 сек, вывод на экран, проигрыш мелодии, 3 сек. пауза, повтор скрипта
av3w3r = 3-х секундная вибрация, 3 сек. пауза и повтор
av1w3r = короткая вибрация (1 сек), пауза 3 сек и повтор
v3w3v3w3apw3r = длинная (3 сек) вибрация, пауза 3 сек, вибрация 3 сек, пауза 3 сек, вывод на экран, проигрыш мелодии, пауза 3 сек и повтор
av0pw3r = вывод на экран, включается вибрация до конца скрипта, проигрыш мелодии, пауза 3 сек и повтор скрипта
c50apv3w3c150r = увеличивающая громкость мелодия, вывод на экран, 3-х сек. вибрация, повтор
af1v1w1f0r = вибрация и мигание экрана
av0pr = Постоянная вибрация и проигрыш мелодии без задержки повторения.

У меня установлено как av0pw3r. Приятных эксперементов:)