Чому твій iPhone відкриває один відеофайл і відмовляється відкривати наступний
Обидва файли — «відео», обидва важать пару гігабайтів, обидва завантажені з одного місця. Один починає грати в момент натискання. Інший показує сірий екран або взагалі нічого. Проблема майже ніколи не в тому, що файл пошкоджений, — річ у тому, у що обгорнута картинка і які з цих оболонок Apple вирішила підтримувати.
- Грає з коробки
- MP4 і MOV із відео H.264 або HEVC і звуком AAC.
- Зазвичай відхиляється
- MKV, AVI, WebM, FLV, WMV — що б усередині не було.
- Причина
- iOS дивиться на контейнер раніше, ніж на відео, а список підтримуваних контейнерів короткий.
Відеофайл — це коробка з кількома речами всередині
Слово «формат» використовують для двох зовсім різних речей, і саме звідси починається основна плутанина. Відеофайл — це контейнер: коробка, у якій лежать відеодоріжка, одна або кілька аудіодоріжок, можливо доріжки субтитрів, мітки розділів, обкладинка і таблиця, що каже плеєру, де що починається. MP4, MKV, AVI, MOV і WebM — це контейнери. Це сама коробка, а не вміст.
Те, що лежить усередині коробки, закодовано кодеком — схемою стиснення, що перетворює сорок гігабайтів необроблених кадрів на два. H.264, HEVC (H.265), AV1, VP9 і MPEG-4 Part 2 — відеокодеки; AAC, MP3, AC-3, E-AC-3, DTS, FLAC, Opus і Vorbis — аудіокодеки. Один файл MKV може містити відео HEVC, одну аудіодоріжку AC-3 англійською, одну доріжку AAC українською і три доріжки субтитрів.
Тому питання «чи може цей пристрій відтворити MKV?» насправді складається з двох питань, накладених одне на одне. Чи може він відкрити коробку і чи може декодувати те, що знайде всередині? Плеєр має відповісти «так» на обидва. Вбудоване відтворення Apple відповідає «ні» на перше питання для більшості коробок, тож файл навіть не встигає дійти до другого питання, щоб на ньому спіткнутись.
Слова, які варто знати
П’ять термінів покривають майже будь-яку розмову про відеофайли. На них варто витратити десять хвилин, бо вони перетворюють «не працює» на конкретне питання з конкретною відповіддю.
- Контейнер
- Оболонка файлу — MP4, MKV, AVI, MOV, WebM, TS. Визначає, що файл може нести (скільки аудіодоріжок, чи влізають субтитри, чи є розділи), але не те, наскільки гарна картинка.
- Кодек
- Стиснення самої картинки або звуку: H.264, HEVC, AV1, VP9, AAC, AC-3, DTS, FLAC. Для кількох із них є апаратне декодування; решту доводиться декодувати процесору, а це плата батареєю.
- Бітрейт
- Скільки бітів на секунду витрачає файл. Це головний чинник, що визначає і якість, і розмір файлу — фільм у 4K на 8 Мбіт/с і той самий фільм на 60 Мбіт/с будуть однієї роздільності, але зовсім не однієї картинки.
- Ремультиплексування (remux)
- Перенесення наявних доріжок в інший контейнер без змін. Швидко, без втрат, і в цьому весь фокус перетворення прямого ефіру на звичайний файл. Нічого не перекодовується знову, тож нічого не втрачається.
- Транскодування
- Реальне перекодування відео в інший кодек. Повільно, гріє пристрій, з’їдає батарею і щоразу з втратами — сконвертована копія завжди на покоління гірша за оригінал.
Що приймає власне відтворення Apple
Це практичний список станом на iOS 17 і macOS 14 — ті самі правила, яким слідують застосунок «Файли», Quick Look, Safari і QuickTime, бо вони використовують один медіастек.
| Контейнер | iPhone / iPad | Mac (QuickTime) | Типовий вміст |
|---|---|---|---|
| MP4 / M4V | Так | Так | Відео H.264 або HEVC, звук AAC |
| MOV | Так | Так | Власний контейнер Apple, ті самі кодеки |
| MKV (Matroska) | Ні | Ні | Що завгодно — найгнучкіший контейнер із використовуваних |
| AVI | Ні | Ні | Старий матеріал у DivX/Xvid, звук MP3 або AC-3 |
| WebM | Ні | Ні | Відео VP9 або AV1, звук Opus або Vorbis |
| FLV / WMV | Ні | Ні | Застаріле вебвідео і відео для Windows |
| TS / M2TS | Частково | Частково | Ефірні та Blu-ray потоки |
| HLS (.m3u8) | Так | Так | Не файл — плейлист, що вказує на сегменти |
Навіть усередині підтримуваного контейнера кодек усе одно може бути відхилений: звук AC-3, E-AC-3 і DTS часто трапляється у фільмах і не декодується системним плеєром, тож деякі файли MP4 грають картинку без звуку.
Чому список такий короткий
Це не недогляд. Apple постачає апаратні декодери для тих кодеків, що вона підтримує, тож iPhone може відтворювати фільм у 4K HEVC годинами на одному заряді — відео взагалі не торкається основного процесора. Підтримка кожного контейнера і кодека у світі означала б декодування значної частини з них програмно, з відповідною ціною в батареї й теплі, та ще й із необхідністю брати патентні ліцензії на формати, у яких у Apple немає жодного інтересу.
Наслідок у тому, що універсальний медіаплеєр на iOS змушений приносити власний рушій. Практично кожен із них побудований на одній і тій самій відкритій основі — FFmpeg і його бібліотеках, — яка розуміє приблизно будь-який контейнер і кодек, що коли-небудь виходив у світ. Саме тому сторонній плеєр відкриває файли, які не відкриє система: він не робить нічого особливо хитрого, він просто сам займається декодуванням.
Це також пояснює різницю, яку ти помітиш між плеєрами. Той, що декодує програмно, відтворить що завгодно, але нагріє пристрій на довгому фільмі; той, що передає роботу апаратному декодеру щоразу, коли кодек це дозволяє, лишається холодним і береже батарею. Хороший плеєр робить і те й інше — апаратно там, де може, програмно там, де змушений, — і перемикається, не питаючи тебе.
Три способи подивитись файл, який відхиляє iOS
У порядку того, у скільки часу й якості вони тобі обходяться.
Що насправді відрізняє хороший плеєр від поганого
Майже кожен медіаплеєр в App Store заявляє про підтримку «усіх форматів». Ось що відрізняє їх на практиці за цим заголовком.
- Апаратне декодування там, де це можливо
H.264 і HEVC мають іти в апаратний декодер, а не на процесор. Перевірити можна за дві хвилини: пристрій гріється чи ні.
- Усі доріжки доступні, а не лише перша
Фільм із трьома мовами озвучення і п’ятьма доріжками субтитрів має дозволяти перемикатись між усіма ними прямо під час відтворення, без повторного відкриття файлу.
- Продовження перегляду, що реально продовжує
Позиція зберігається окремо для кожного файлу, відновлюється при повторному відкритті й зберігається при перейменуванні чи переміщенні файлу. На диво рідкісна функція і та, якої тобі найбільше бракуватиме без неї.
- Розумна поведінка на величезних файлах
Ремультиплексований файл на 20 ГБ має плавно прокручуватись, а не зависати на чотири секунди при кожній перемотці. Це питання індексації, а не декодування.
- Фоновий звук і картинка в картинці
Можливість заблокувати екран і продовжити слухати, або згорнути відео в кут, поки відповідаєш на повідомлення, — ось що взагалі робить плеєр придатним для використання на телефоні.
- Ніде не схований етап перекодування
Якщо застосунок «імпортує» або «оптимізує» твій файл кілька хвилин перед відтворенням, значить він конвертує — із втратою якості й очікуванням, які це передбачає.
Той самий файл на трьох пристроях
Правила ідентичні, бо iOS, iPadOS і macOS використовують один медіастек. Відрізняється те, що зручно робити навколо відтворення.
Тут обмеження — місце на диску, тож файли зазвичай приходять, переглядаються і видаляються. Фоновий звук і картинка в картинці важливі тут більше, ніж будь-де ще.
Природне місце для довгих фільмів і єдиний пристрій iOS, де зовнішній диск USB-C, повний відео, можна відтворювати прямо на місці, нічого попередньо не копіюючи на пристрій.
Немає ні тиску на місце для зберігання, ні теплової стелі, тож програмне декодування незручного кодека практично безкоштовне. Саме тут місце ремультиплексованому файлу на 40 ГБ.
Питання, у які це зазвичай перетворюється
У MKV якість краща, ніж у MP4?
Ні те ні інше не краще — це коробки, а якість живе в кодеку й бітрейті всередині. MKV на практиці часто виглядає краще, бо саме в MKV поширюють ріпи з високим бітрейтом, тоді як MP4 — це те, у чому стримінгові сервіси доставляють контент при куди меншому бітрейті. Поклади одну й ту саму відеодоріжку в обидва контейнери — і вони будуть ідентичні піксель у піксель.
Чи втрачається якість при конвертації MKV у MP4?
Лише якщо доріжки перекодовуються знову. Якщо відео- й аудіокодеки всередині вже з тих, що може нести MP4, ремультиплексування просто переносить їх без змін — без втрат і зазвичай швидше за хвилину. Якщо HEVC треба перетворити на H.264, а DTS на AAC, це перекодування, і якість втрачається.
Чому мій файл у 4K заїкається, а файл менший грає без проблем?
Або кодек декодується програмно, хоч міг би використовувати апаратний декодер, або файл лежить на повільному сховищі — мережева тека чи зовнішній диск через слабке з’єднання не завжди здатні віддавати 80 Мбіт/с. Скопіюй файл локально як перевірку; якщо він заграв нормально, річ була не в декодуванні.
У якому форматі безпечніше за все тримати бібліотеку?
MKV — якщо хочеш зберегти все, що було в джерелі: кілька мов озвучення, доріжки субтитрів, розділи. MP4 з H.264 або HEVC — якщо максимальна сумісність із кожним пристроєм у домі важливіша, ніж збереження додаткових доріжок. Формат, якого варто уникати для чогось нового, — це AVI, який не вміє правильно нести сучасні кодеки.
Як це вирішує FoxDL
FoxDL несе власний медіарушій, тож питання контейнера взагалі не виникає. Ти кладеш файл на пристрій і відкриваєш його. Той самий рушій відтворює музику, тож фільм і альбом у FLAC живуть в одній бібліотеці.
- MKV, AVI, WebM, FLV, WMV, MP4, MOV, TS і HLS відкриваються напряму — без попередньої конвертації, імпорту чи перепакування.
- Апаратне декодування використовується всюди, де це дозволяє кодек, із програмним шляхом про запас для інших випадків, тож звичайний фільм не коштує тобі батареї.
- Звук AC-3, E-AC-3, DTS, FLAC, Opus і Vorbis теж декодується — саме це усуває проблему беззвучного фільму, і ті самі декодери відтворюють альбоми FLAC і ALAC у тій самій бібліотеці.
- Кожна вбудована аудіо- і субтитрова доріжка показується в списку і перемикається прямо під час відтворення.
- Позиція запам’ятовується окремо для кожного файлу і зберігається при перейменуванні чи переміщенні, бо бібліотека відстежує файли за ідентичністю, а не за шляхом.
- Картинка в картинці і фоновий звук є, а на iPad зовнішній диск відтворюється прямо на місці без копіювання.
Відтворення власних файлів входить у безкоштовну версію на будь-якому пристрої — не лімітується і не є функцією Pro.
Часті запитання
- Як відтворити файли MKV на iPhone, iPad чи Mac?
- Які відео- та аудіоформати відтворює FoxDL?
- Чи можу я перемкнути аудіодоріжку у файлі з двома звуковими доріжками?
- Чи підтримує FoxDL картинку в картинці та фонове відтворення?
Читати далі
Субтитри, аудіодоріжки і три способи, якими вони ламаються
Вбудовані проти окремих файлів, кодування, що ламає літери з діакритикою, і як виправити розходження в часі.
Безвтратність, бітрейт і еквалайзер: що справді змінює звук, а що ні
Що змінює безвтратність, що насправді робить еквалайзер і що покращує слухання в першу чергу.
Де насправді живуть твої файли на iPhone і хто може їх бачити
Пісочниця, куди насправді потрапляють завантаження і чому перейменування файлу ламає стільки застосунків.
Твоя бібліотека нарешті в одному місці.
Безкоштовне завантаження. Без облікового запису — повний набір у безкоштовній версії.