Прикріплене зображення - це зображення, яке йде разом з чимось іншим, наприклад фотографія в електронному листі. В аудіо- або відеофайлі прикріплене зображення - це зображення, збережене всередині самого файлу. Типовий приклад - обкладинка альбому або синглу.
Attached Pic - це поле, яке позначає таке зображення у звіті про метадані. Назва походить від ffprobe, зчитувача файлів проєкту FFmpeg, який записує її як attached_pic.
FFmpeg перелічує кожну частину файлу як окремий потік. Кожному потоку він надає набір прапорців, які називаються disposition. Кожен прапорець може бути увімкнений або вимкнений, і Attached Pic є одним із цих прапорців.
Як виглядають значення
Параметр -show_streams зчитувача ffprobe виводить прапорець для кожного потоку, навіть у файлах без прикріпленого зображення. У цьому виводі прапорець має 2 значення:
0: потік не є прикріпленим зображенням, наприклад звичайним аудіо- або відеопотоком1: потік містить прикріплене зображення, наприклад обкладинку альбому
Короткий огляд, який FFmpeg виводить для файлу, показує той самий прапорець, що й (attached pic). FFmpeg виводить цю мітку лише тоді, коли прапорець увімкнений.
Які файли містять його
FFmpeg обробляє прикріплене зображення як відеопотік з одним кадром. Тому пісня з обкладинкою може містити 2 потоки: один для звуку і один для зображення. Тип кодека потоку із зображенням - video, хоча зображення ніколи не рухається.
FFmpeg зчитує зображення з різних місць у кожному форматі:
- MP3: кадр APIC у теґу ID3v2, який стандарт ID3v2 називає Attached picture
- M4A та MP4: елемент
covr, який ExifTool називаєCoverArt - FLAC: блок зображення, при цьому один файл може містити кілька таких блоків
- MKV: вкладення з типом зображення, наприклад файл з назвою
cover.jpgабоcover.png
Фотографії та електронні книги зберігають свої зображення в інших полях. Фото JPEG може зберігати маленький попередній перегляд у полі Thumbnail Image. Електронна книга EPUB позначає не більше одного файлу зображення як обкладинку.
Звідки походить значення
Сам файл не містить поля з назвою Attached Pic. FFmpeg вмикає прапорець, коли знаходить кадр із зображенням, блок із зображенням або вкладене зображення.
Для файлів MP3 і FLAC FFmpeg також копіює опис зображення в теґ title. Тип зображення він копіює в теґ comment.
Тип зображення - це число від 0 до 20, яке визначає, що показано на зображенні. FFmpeg записує цей тип як текст, наприклад:
- Тип 0,
Other: зображення, яке не підходить до жодного з інших типів - Тип 3,
Cover (front): передня обкладинка, яку багато програвачів показують під час відтворення - Тип 4: задня обкладинка
- Тип 6: сам носій, наприклад сторона диска з етикеткою CD
FFmpeg може записувати вбудоване зображення лише в деякі з форматів, які він підтримує. Для самого зображення стандарт ID3v2 і специфікація Matroska обидва рекомендують JPEG і PNG.
Чому це важливо
Прапорець вказує програмам, що потік є зображенням, а не відео з рухом. У командах FFmpeg селектор потоків V обирає лише відеопотоки, які не є прикріпленими зображеннями.
Дані зображення знаходяться всередині файлу, тому велика обкладинка збільшує розмір усього файлу. Зображення також може показувати щось більше, ніж обкладинка, наприклад виконавця або місце запису.
Кадр із зображенням або блок із зображенням також можуть містити посилання на зображення поза файлом. Для файлів FLAC специфікація вимагає, щоб програма запитала вас, перш ніж завантажувати це зображення через мережу.