И тут началось:
- Даже под Windows бесплатных средств конвертации чего угодно в приемлимый для iTunes формат не богато, во всяком случае по информации полученной после пары часов терзаний google, а для Linux, за исключением нашей традиционной "для всего пригодной" семейки mplayer/mencoder и ffmpeg других не нашлось вовсе. :(
- Доступные на момент написания этого текста в unstable Debian /GNU Linux средства для работы с iPod: gtkpod - 0.99.4, libgpod - 0.3.2 не хотели признавать видео файлы в принципе.
- О форматах:
По информации полученной из надежных источников, демонстрироваться могут только файлы закодированные в следущих форматах:
H.264 File formats: .m4v, .mp4, and .mov Video: Up to 768 kbits/sec, 320 x 240, 30 frames per second (fps), Baseline Profile up to Level 1.3. Audio: AAC-LC up to 160 kbits/sec, 48 Khz, and stereo audio.
MPEG-4 File formats: .m4v, .mp4, and .mov Video: Up to 2.5 Mbits/sec, 480 x 480, 30 fps, Simple Profile. Audio: AAC-LC up to 160 kbits/sec, 48 Khz, stereo audio.
- Сборка и установка libgpod, gtkpod
Думаю, что данный вопрос особых проблем ни у кого не вызовет. Но порядка ради отмечу пару моментов:
- собирать следует cvs-версии libgpod и gtkpod, так как они уже содержат изменения касающиеся поддержки устройств 5-го покоеления.
- на исходный код gtkpod необходимо наложить небольшой патч, для поддержки формата h.264
--- src/mp4file-orig.c 2006-04-16 18:22:11.000000000 +1000
+++ src/mp4file.c 2006-04-16 18:21:31.000000000 +1000
@@ -159,7 +159,7 @@
trackId = MP4FindTrackId(mp4File, 0, NULL, 0);
trackType = MP4GetTrackType(mp4File, trackId);
- if (trackType && ((strcmp(trackType, MP4_AUDIO_TRACK_TYPE) == 0)||(strcmp(trackType, MP4_VIDEO_TRACK_TYPE) == 0)))
+ if (trackType && ((strcmp(trackType, MP4_AUDIO_TRACK_TYPE) == 0)||(strcmp(trackType, MP4_VIDEO_TRACK_TYPE) == 0) || (strcmp(trackType, MP4_OD_TRACK_TYPE) == 0)))
{
gchar *value;
Следует отметить, что я как закоренелый пользователь Debian, инсталлировал утилиты в систему, только после того как собрал пакет, хотя в этом случае много труда не потребовалось, так как я просто обновил исходный код пакетов сопровождаемых официальными разработчиками, как это описано в разделе 6.4 Обновление пакета в Руководстве начинающего разработчика Debian.
- Конвертация файлов
- Соотношение 4:3
#!/bin/bash
#Description: video2ipod converts video to iPod format
#Usage: video2ipod origin.avi output (it will add .mp4 by itself) (The origin can be avi, mpg, mov...)
ffmpeg -i "$1" -f mp4 -vcodec mpeg4 -maxrate 1000 -b 700 -qmin 3 -qmax 5 -bufsize 4096 -g 300 -acodec aac -ar 44100 -ab 192 -s 320x240 -aspect 4:3 `basename $1 .avi`.mp4
- Соотношение 16:9
#!/bin/bash
#Description: video2ipod converts video to iPod format
#Usage: video2ipod origin.avi output (it will add .mp4 by itself) (The origin can be avi, mpg, mov...)
ffmpeg -i "$1" -f mp4 -vcodec mpeg4 -maxrate 1000 -b 700 -qmin 3 -qmax 5 -bufsize 4096 -g 300 -acodec aac -ar 44100 -ab 192 -s 320x180 -aspect 16:9 `basename $1 .avi`.mp4
- Соотношение 4:3
- Подключение iPod к системе
В моем случае подключение устройства выглядело примерно так:
- Написание udev правила /etc/udev/local.rules
# my Apple iPod
SUBSYSTEMS=="scsi", KERNEL=="sd*", \
ATTRS{model}=="iPod", \
SYMLINK+="ipod%n", OPTIONS+="all_partitions"
- Добавление в /etc/fstab строки
/dev/ipod2 /mnt/ipod vfat codepage=866,iocharset=koi8-r,noauto,user,umask=002,showexec,quiet 0 0
На вопрос почему я не стал использовать usbmount могу только ответить, что эта утилита вовсе меня не впячетлила.
- Написание udev правила /etc/udev/local.rules
- Копирование файлов в устройство
Процесс простой и интуитивно понятный.
- подключаем iPod, монтируем его файловую систему к корневой;
- запускаем gtkpod;
- создаем новый playlist в который добавляем видео файлы;
- синхронизируем устройство;
- приступаем к просмотру ;).
По мотивам:
Uwe Hermann's blog
Carsten Otto - Video iPod and Linux
Converting videos to iPod using GNU/Linux
July 2 2008, 05:40:35 UTC 3 years ago