Фонотека iTunes — одна на всіх

Опублікував Сергій Макаренко 8-06-2013 об 11:43

Я дуже люблю слухати музику. І одним з найцінніших скарбів на моєму комп'ютері є моя фонотека iTunes. Їй зараз майже вісім років і народилася вона ще в ті часи, коли я користувався Windows-комп'ютером. Свого часу, в 2008 році, вона пережила переїзд з Wondows на Mac OS X. Через кілька років, після того, як я переїхав до Одеси встало питання прослуховування музики на MacBook Pro, який я взяв з собою, в той час, коли основна фонотека знаходилась вдома, в Києві, на Mac Pro. Тоді я вирішив проблему частковим копіюванням музики на ноутбук, в той час як основна фонотека залишилась на Mac Pro.

Після того, як я повернувся додому я почав шукати спосіб, завдяки якому я б міг зробити так, щоб фонотека була доступна з усіх моїх комп'ютерів одночасно. iTunes Match мене не влаштовує перш за все через низьку якість музичних файлів — AAC (256 Кб/сек). Я ж зберігаю музику в AIFF (1536 Кб/сек). Перелопативши купу рецептів для шарингу фонотекти я не знайшов жодного, який мені б підійшов. Тому довелося винаходити велосипед самому шукати шляхи вирішення моєї проблеми.

Як ви знаєте, Apple в плані музики дуже любить централізацію. Це значить, що фонотека на якомусь, окремо взятому комп'ютері, може буте розшарина по локальній мережі, але з купою обмежень. Наприклад, комп'ютер, на якому ви хочете слухати музику з розшариної фонтеки, повинен знаходитись в тій самій підмережі, в якій знаходиться Mac, на якому знаходиться головна фонотека. Інакше iTunes її не побачить. Змінити це можна завдяки якимось третім програмам, але, як на мене, це не зажди буває красиво.

Параметри спільного доступу

Окрім того, при такому шарінгу не враховується статистика відтворень, не можна міняти рейтиги, не працюють автоматичні плей-листи і так далі. Все це мені не підходило, тому я поставив собі завдання винайти спосіб, який би дозволяв відкривати одну і ту саму фонотеку на різних комп'ютерах. Для того, щоб досягнути такого результату нам потрібно знати з яких саме файлів складається фотонека iTunes. Основних файлів всього два:

/Users/user_name/Music/iTunes/iTunes Library.itl
/Users/user_name/Music/iTunes/iTunes Library.xml

Бінарний файл iTunes Library.itl фактично і є головним файлом, в якому зберігаються дані про фонотеку: шляхи до музичних файлів; дані про назви артистів, пісень та альбомів; рейтинги; кількість відтворень; тип музичних файлів; їх бітрейт і ще купу іншої інформаці. Файл iTunes Library.xml — це копія файла iTunes Library.itl, який використовується для відновлення фонотеки у тому разі, якщо файл iTunes Library.itl пошкоджено і для того, щоб треті програми мали дані про вміст вашої фонотеки. Наприклад, коли ви відкриваєте медіа браузер в iPhoto або iMovie для того, щоб додати музику, то ці програми беруть перелік пісень у вашій фонотеці саме з iTunes Library.xml.

Перелік файлів і папок у папці iTunes

Окрім цього є ще два допоміжних файли:

/Users/user_name/Music/iTunes/iTunes Library Extras.itdb
/Users/user_name/Music/iTunes/iTunes Library Genius.itdb

У файлі iTunes Library Extras.itdb міститься інформація про CD-диски, які ви імпортуєте у вашу фонотеку. Тобто, дані, які про них підтягуються з CDDB. А на основі даних файлу iTunes Library Genius.itdb складаються підбірки Genius, які пропонуються у відповідному розділі iTunes для прослуховування.

Мережеве сховище, на якому буде розташована наша фонотека, повинне підтримувати AFP протокол. Якщо у вас є OS X Server або Time Capsule, то ніяких додаткових дій використовувати не треба, достатньо лише створити мережевий диск. Якщо ж у вас сревер на Linux, BSD, або якийсь NAS, то там необхідно буде встановити остнню версію NetTalk скориствшись однією з інструкцій, доступних в інтернетах.

Налаштування iTunes

Будемо вважати, що всі попередні дії виконано, ви створили мережевий диск, який доступний в мережі, в якій ви знаходитесь, і він примонтований до комп'ютера, на якому розташована ваша фонотека. Після цього відкриваємо налаштування iTunes (на малюнку вище), вказуємо цільовий мережевий диск і ставимо галочку навпроти пункту «Під час додавання файлів до медіатеки копіювати їх у папку iTunes Media». Якщо цього не зробити, то вся нова музика буде зберігатися локально, на комп'ютері, на якому ви її додавали. А так вона вся копіюватиметься при додаванні на мережеве сховище, де зберігається фонотека.

Тепер все готове для того, щоб почати процес копіювання фонотеки. Зберігаємо зміни в налаштуваннях і потім через меню Файл —> Медіатека —> Упорядкувати медіатеку… починаємо процес копіювання файлів на цільовий мережевий диск. В залежності від розміру вашої фонотеки і швидкості в локальній мережі час копіювання може коливатись від кількох хвилин до кількох діб, тому будьте обережні.

Коли процес копіювання буде закінчено закриваємо iTunes і видаляємо всі локальні файли в папці /Users/user_name/Music/iTunes/. Вони нам більше не потрібні локально, оскільки їх копії є на мережевому диску. Потім робимо псевдоніми для файлів iTunes Library.itl, iTunes Library.xml, iTunes Library Extras.itdb та iTunes Library Genius.itdb, які зберігаються на мережевому диску, і копіюємо в папку /Users/user_name/Music/iTunes/ на локальному комп'ютері. Повторюємо дію с копіюванням на всі комп'ютери, з яких ми хочемо отримати доступ до мережевої фонотеки.

Вказаний варіант рішення задачі в мене працює десь приблизно вже з рік. Єдиним недоліком є те, що тільки один комп'ютер може одночасно використовувати мережеву фонотеку оскільки файли (iTunes Library.itl, iTunes Library.xml, iTunes Library Extras.itdb та iTunes Library Genius.itdb) блокуються і викоистовувати їх інший екземпляр iTunes не зможе. Але це єдине обмеження, з яким я зштовхнувся. До речі, описаний мною метод чудово працює і по VPN. Мабуть мені не варто казати, що перед всім цим процесом варто зробити резервну копію фонотеки для того, щоб у разі помилки можна було все відновити. Тому пам'ятайте про це перед початком робіт і будьте обережні.