iPhone pod Debian GNU/Linux (część II)

Wpis zamieszczony o 13:27:55, 31 grudnia 2007 Trackback


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.

  1. Ściągnij poprawiony plik MeCCA
  2. Wgraj poprawiony plik do: /System/Library/Frameworks/MeCCA.framework/
  3. Wgraj plik m4r do katalogu /Library/Ringtones/
  4. 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.

Komentarze do “iPhone pod Debian GNU/Linux (część II)”


  1. 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 zagadnieni[...]


  2. Khm, khm<EXCERPT>Khm, khm. Szczęśliwego Nowego Roku. Artykuł kształcący, ale ja chyba dalej będę korzystał z telefonów z memory stick – wystarczy wczytać stick i zrzucić co się chce do odpowiedniego folderu.


  3. EXCERPT jest zły ;] A poważnie – jak portowałem styl to popełniłem mały błąd i teraz wszystko co wrzucę poza EXCERPT wylatuje w kosmos ;) Wiem jak to poprawić ale były święta.. teraz sylwester… zaraz trzeba jakiś alkohol otwierać... ;)))) Obiecuję poprawę! Będzie EXCERPT ! ;D Po Nowym Roku!

    Prawdą jest że memory stick jest dużo wygodniejszy. Jednak już teraz to samo można uzyskać na iphone montując poprzez sshfs katalog „/” lokalnie. Minus jest taki że wszystko trzeba konwertować na format Apple’owski. Troszkę to ssie…

    Raz jeszcze przepraszam za brak EXCERPT i.. SZCZĘŚLIWEGO WSZYSTKIM! ;-)


  4. Night dajesz, dajesz. Teraz tylko GUI piękne do tego dopisz i masz iPhone menager :D. To tak jakbyś miał już czas na Hanię i zaczynało brakować Ci ,,weny’‘ ;-)


  5. GUI są nie geekowe i ssą


  6. Nie czaruj tylko pomyśl o innych, których mierzi czerń konsoli ;-)


  7. Jak będzie więcej czasu to mogę się o to postarać. W sumie nie powinno to być trudne, pyqt zrobiłby to w kilkudziesięciu linijkach. Pomyślę.


  8. Co do konwersji filmów dla AjFona:

    http://tombuntu.com/index.php/2008/01/01/convert-dvds-for-your-ipod-touchiphone-with-handbrakegtk/


  9. seban: zawsze w konsoli mozesz ustawic paskudnie biale tlo :P


  10. no i mamy już WIKI:
    https://help.ubuntu.com/community/PortableDevices/iPhone

    a ja pokombinuje ze FTPd i ftpfs na iTouch-u bo powolnosc ssh mnie wykańcza, w teorii powinno być 4 razy szybciej


  11. @ra - teoretycznie FTPd + ftpfs powinno działać znacznie szybciej, jednak z tego co wiem nie będzie to sposób kompatybilny z ipod-convinience, więc będziemy mogli się pożegnać z coverflow. Chyba że ktoś naprawdę porządnie się za to weźmie... Szczerze mówiąc na prędkość nie narzekam. Transfer na iP mam w granicach 500KB/s - 1000 KB/s, więc nie jest tak źle. Zazwyczaj zapuszczam wgrywanie mediów i po prostu zapominam o tym, włączam jakiś film czy czytam newsy.

    Jeszcze szybszym rozwiązaniem na wgrywanie plików byłby ten obiecujący sterownik USB, który na chwilę obecną sypie wielkimi SIGSEGV :/ Cieszę się jednak że jest możliwość obsługi tego sprzętu pod linuksem. Nic więcej do szczęścia mi nie potrzeba.


  12. Co do kompatybilności to można wyedytować po prostu skrypt i zmienić sshfs na inny.


  13. i skoro działa jako LUFS to i konfiguracje przenieść z /etc/default np do ~/.ipod_convinience


  14. PyQt? Nieee! Qt to zuo.
    JOKE :> .


  15. hmm u mnie wywala:

    Unknown codec 'libfaac'

    (paczke o nazwie libfaac mam zainstalowaną, reszte z opisu również)

    Co mam zrobić?


  16. oczywiście mam na myśli pierwszą część artykułu - konwersje do mov ;]

Dodaj komentarz

Textile jest włączony. Zobacz składnię (wiki.jogger.pl)

code