iPhone pod Debian GNU/Linux (część II)
Po ostatnim wpisie zostałem dosłownie zasypany pytaniami od użytkowników iPhone'a oraz iPod Touch. Pytaliście o sposób konwersji filmów na te urządzenia korzystając z narzędzi linuksowych, pytaliście także o całkowite uwolnienie się od iTunes z zachowaniem możliwości zarządzania kontaktami (skrzynką adresową). Niektórzy pytali o sposób tworzenia własnych dzwonków w formacie m4r.
Wychodząc naprzeciw kolejnym pytaniom powstał ten wpis, w którym opiszę krok po kroku sposób całkowitej integracji iPhone//iPod Touch z Debianem. Zaczniemy od:
Konwersja filmów na format mov
Cel jest prosty. Z wykorzystaniem kopii filmu z dysku lokalnego zmienić jego rozmiar dostosowując go do ekranu iPhone oraz zastosować odpowiednie kodowanie, które pozwoli nam cieszyć się dobrą jakością obrazu i dźwięku. Zaznaczam na początku - nie będę skupiał się na optymalizacji samej kompresji ze względu na wielkość filmu. Nie ma sensu pisać skryptu do tej operacji - jest to jedna linijka w konsoli: ffmpeg -i "PLIK_WEJSCIOWY.AVI" -f mp4 -vcodec mpeg4 -maxrate 10000 -b 7000 -r 29.97 -qmin 2 -qmax 5 -bufsize 4096 -g 300 -acodec libfaac -ab 128k -s 480x320 -aspect 4:3 "PLIK_WYJSCIOWY.MOV" Musimy oczywiście podać odpowiedni plik wejściowy (film). Będziemy także potrzebować odpowiednich kodeków (jeśli jeszcze ich nie mieliśmy):
# apt-get install libfaac0 ffmpeg mpeglib libmpeg2-4 faac
Po dość długim i mocno obciążającym komputer procesie otrzymamy plik wynikowy. Wgrywamy go na iPhone//iPod Touch wykorzystując np. gtkpod. Voila!
Synchronizacja książki adresowej
Tutaj nie jest już tak prosto i musimy skorzystać z aplikacji MNPlight dostępnej w Installerze w repozytorium: http://movenplay.gforge.inria.fr/iphone Obsługa aplikacji jest doskonale opisana na stronie głównej projektu, wierzę jednak że nie sprawi Wam ona żadnego problemu. MNPlight pozwala na import oraz eksport książki adresowej w formacie Mozilla Thunderbird (Google Mail) oraz na eksport//import kalendarza w formacie Google Calendar. Dodatkowo ma kilka innych funkcji, których osobiście nie użyłem ani razu. Odsyłam w tym celu na stronę projektu. Prościej się nie da ;-).
Własne dzwonki z mp3 na iPhone
UWAGA! Rozwiązanie to działa tylko w iPhone z oprogramowaniem 1.1.1!
iPhone wykorzystuje dźwięk zakodowany w formacie AAC. Większość z nas posiada pliki w formacie *.mp3, względnie *.ogg. Sam proces konwersji jest banalny. Dowolny plik dźwiękowy konwertujemy do *.wav z wykorzystaniem mplayer, po czym sam plik *.wav przepuszczamy przez odpowiedni enkoder (faac), który tworzy plik wynikowy m4a. Napisałem do tego celu prosty skrypt automatyzujący całość procesu:
#!/bin/bash # Sebastian 'night' Łuczak # http://night.jogger.pl # Konwersja mp3 do dzwonka iPhone echo "Podaj nazwe pliku mp3 (bez rozszerzenia!)" echo -n ">" read IN OUT="`ls | grep $IN.mp3`" echo "Zgrywam mp3 do wav:" mplayer -vo null -vc null -ao pcm:fast:file=$IN.wav $OUT faac -b 128 -c 44100 -w $IN.wav rm $IN.wav
Zmieniamy rozszerzenie otrzymanego pliku wynikowego z *.m4a na *.m4r oraz dodajemy jedną spację przed rozszerzeniem pliku, np:
$ ls dzwonek.m4a $ mv dzwonek.m4a "dzwonek .m4r" $ ls dzwonek .m4r
Teraz musimy zająć się samym iPhone.
- Ściągnij poprawiony plik MeCCA
- Wgraj poprawiony plik do:
/System/Library/Frameworks/MeCCA.framework/ - Wgraj plik m4r do katalogu
/Library/Ringtones/ - Zrestartuj telefon
Dzwonek powinien być dostępny w menu.
Jak widać - z wykorzystaniem narzędzi OpenSource możemy bez problemu obsługiwać naszego iPhone całkowicie uniezależniając się od iTunes i produktów Apple.
Z tego co wiem, ten i poprzedni wpis to pierwsze kompletne HowTo w języku polskim traktujące o korzystaniu z iPhone pod Linuksem. Większość wiedzy wyniosłem z forum hackint0sh.org oraz własnych doświadczeń. Enjoy! Mam nadzieję że te artykuły komuś się przydały.
iPhone pod Debian GNU/Linux
Wiedziałem że prędzej czy później i mnie dopadnie. Gadżeciarstwo? Wygoda? Cóż, nie będę odpowiadał na to pytanie. Recenzję sprzętu możecie przeczytać w moim MiniBlogu, tutaj chcę się skupić na chyba najciekawszym dla Was zagadnieniu - co tak naprawdę się stało gdy opadł kurz po bitwie "Tux vs iPhone" ;-). Lecimy!
...nie bójcie się o życie Tuxa - żyje. iPhone też.
iPhone + Linux = ?
Słyszeliście, że do obsługi iPhone potrzeba Windows/Mac + iTunes? Cóż, jak jeszcze raz to usłyszycie to możecie podać linka zwrotnego do tego wpisu ;-). Od samego początku użytkowania iPhone'a ani razu nie podpiąłem go do iTunes (nie liczę 1 razu, dzień po zakupie, kiedy musiałem wgrać jeszcze raz oprogramowanie bo "zabiłem" soft (z mojej winy)).
Co zatem potrzebujemy?
- iPhone ;-) (złamanego, z BSD SubSystem)
- jądro >=2.6.23 - inne nie pozwalają na ładowanie iPhone'a w czasie podpięcia do USB
- działającą sieć Wi-Fi w pobliżu (wystarczy odblokowany port 22)
- zainstalowane sshfs oraz gtkpod
Instalacja potrzebnego oprogramowania:
# apt-get install sshfs gtkpod # modprobe fuse # mkdir -p /media/ipod # chmod 777 /media/ipod # adduser $USER fuse
Spod naszego użytkownika możemy teraz zamontować iPhone'a:
sshfs root@{IP}:Media /media/ipod
Gdzie za {IP} wpisujemy IP naszego iPhone'a podłączonego do sieci Wi-Fi. Niestety - do tej operacji będziemy potrzebować WiFi, do tej pory nie można wgrywać muzyki poprzez kabel USB.
Teraz chyba najtrudniejsza operacja:
$ gtkpod
Dodajemy iPhone jako urządzenie i... działa. Niestety - nie jest tak pięknie. Nie działają okładki (Cover Flow). Jest na to jednak rada. Musimy skorzystać z Ubuntowskiego repozytorium:
deb http://ppa.launchpad.net/ipod-touch/ubuntu gutsy main
W którym znajduje się paczka:
apt-get install ipod-convenience
Po instalacji i wstępnej konfiguracji procedura wgrywania muzyki i filmów na iPhone troszkę się zmienia:
$ iphone-mount $ gtkpod
Tutaj normalnie działamy, dodajemy okładki itd. Pracę kończymy standardowo "Save Changes". Ostatnim krokiem (po dość długiej często procedurze dodawania mediów) jest wpisanie:
$ iphone-umount
Nie musimy restartować naszego telefonu (iPoda), wchodzimy do menu iPod i.... THIS IS COVERFLOWWWW!!!!!!!!!! ;-)
A zdjęcia?
Zdjęcia dostępne są po zamontowaniu iPhone'a w katalogu /media/ipod/DCIM/*. Można korzystać z demonów HAL pod KDE i Gnome (iPhone po podłączeniu kablem USB pokazuje się jako aparat fotograficzny), jednak oba w momencie kopiowania zdjęć zrywały połączenie z telefonem. Najwygodniej jest napisać własny skrypt do kopiowania zdjęć, np. podobny do tego:
#!/bin/bash echo "Kopiuję zdjęcia z /media/ipod/DCIM/100APPLE/" cp -r /media/ipod/DCIM/100APPLE/ /home/$USER/Desktop/Zdjecia_iphone
Cóż - prymitywne ale działa ;-). Niedługo napiszę lepszy skrypt do kopiowania zdjęć. Będzie on dostępny w repozytorium debianlinux.pl.
Jak widać - niewiele trzeba aby urządzenie napisane "only for MAC//WIN" odpalić i z powodzeniem używać na Linuksie. Apple : OpenSource Community - 0 : 1!
Mam nadzieję że powyższy opis komuś się przyda :-). ENJOY! Jeśli komuś przeszkadza korzystanie z paczek Ubuntu na Debianie wiedzcie, że niedługo w moim repozytorium debianlinux.pl pojawi się kilka paczek, w większości paczki umożliwiające używanie iPhone wraz z gtkpod oraz Amarokiem w sposób przezroczysty.
