Создание видео для Ipod (Iphone) в Ubuntu Linux

09.02.2010 0 Автор Vovanys

Для кодирования под форточками (Windows) лучшим кодировщиком является XviD4PSP. А вот для кодирования под Linux можно использовать различные комбинации и программы.

Напишу о программе, точнее о скрипте Podencoder. Скрипт позволяет кодировать видео для ipod-a прям с DVD привода, либо с папки VIDEO-TS если мы ее куда то скопировали. Так же позволяет кодировать файлы avi, wmv  и др.

А теперь про установку. Для работы скрипта необходимо установить: lsdvd mplayer gpac zenity mencoder.
apt-get install lsdvd mplayer gpac zenity mencoder

Скачиваем сам скрипт: wget http://podencoder.googlecode.com/svn/trunk/podencoder -O /usr/sbin/podencoder

-O позволяет указать куда сохранять файл

Делаем исполняемым: chmod +x /usr/sbin/podencoder

Подробную информацию можно получить используя команду:  podencoder --help

Для того чтобы перекодировать файл необходимо его просто указать скрипту название файла: podencoder video.avi

Если в вашем компьютере достаточно памяти т.е. больше 2-х gb можно хранить временные файлы кодирования в памяти, это позволяет увеличить скорость кодирования на 10%. Для этого необходимо, создать раздел и подключить его:
mkdir /tmp/tmpfs
mount -t tmpfs tmpfs -o size=1024M,nr_inodes=1M /tmp/tmpfs/

Команда позволяет создать раздел на 1 Гб и монтируется в /tmp/tmpfs. Если вы положите сюда файлы, то скорость считывания с этой папки будет намного быстрее чем с другого места, но если вы оставите эти данные там и перезагрузите систему то их там уже не будет, т.к. это оперативная память. Для того чтобы использовать этот раздел для временных файлов при кодировании надо указывать параметр -s:podencoder -s /tmp/tmpfs video.avi

Еще одна особенность заключается в том что podencoder-у можно передавать один файл, например если у вас есть папка с каким-то сериалом где лежат одни avi файлы, вам придется указывать их либо по одному и дожидаться когда он перекодируется, либо использовать оператор && и писать команду для каждого файла. Это очень неудобно, поэтому я сделал небольшой скрипт на bash-е чтобы просто указав директорию он брал оттуда все файлы и кодировал.

Создаем произвольный файл и  даем права на исполнение:
touch decode.sh
chmod +x decode.sh

Вносим сам скрипт:
#!/bin/bash
for i in $( ls $1 ); do
podencoder -o $2 $1$i
done

Использование:  ./decode.sh путь_к_папке_с_видео пробел путь_куда_складывать_готовые_файлы

Путь к папке должен заканчиваться / В папке не должно лежать ничего кроме видео файлов. Если не нравится, то доделывайте скрипт  

p.s. если мои буковки вас устроили, тыкните плиз пару раз на гуглорекламу (если ее видно), вверху страницы.