Словник

Що таке NB Streams?

NB Streams - це кількість потоків у медіафайлі. Потік - це окрема частина вмісту, наприклад зображення, звук або субтитри.

nb-streams

NB Streams - це кількість потоків у медіафайлі. NB - це скорочення від "number" (число), тож значення 2 означає, що файл містить 2 потоки. Поле NB Frames використовує таке саме скорочення для кількості кадрів в одному потоці.

Медіафайл - це контейнер, який зберігає один або кілька потоків разом із метаданими. У цьому полі потік - це не онлайн-відео і не пряма трансляція. Потік - це одна частина вмісту, наприклад зображення або звук.

Що вважається потоком

Це поле походить з FFmpeg, програмного проєкту для читання та запису медіафайлів. FFmpeg розрізняє 5 типів потоків, і NB Streams рахує їх усі разом:

  • video: рухомі зображення та статичні зображення, наприклад обкладинка
  • audio: звук, наприклад друга мова або коментар
  • subtitle: текст для глядача, наприклад субтитри однією мовою
  • data: інша інформація, яка не є зображенням, звуком або субтитрами
  • attachment: окремий файл у контейнері, наприклад шрифт для субтитрів

NB Streams не вказує типи потоків. Щоб побачити тип кожного потоку, подивіться на його Codec Type.

Як виглядають значення

Значення - це ціле число без одиниці вимірювання. Засіб читання файлів ffprobe з проєкту FFmpeg виводить рядок на кшталт nb_streams=3. Число залежить від вмісту файлу:

  • 1: лише один потік, наприклад пісня у форматі FLAC без зображення
  • 2: відео з одним потоком зображення та одним потоком звуку або пісня з однією приєднаною картинкою
  • 3 або більше: відео з додатковими звуковими потоками, потоками субтитрів або вкладеними файлами

Кожен потік також має порядковий номер (індекс), починаючи з 0. Тому файл із 3 потоками має індекси 0, 1 і 2.

Формат файлу може обмежувати кількість та типи потоків. Наприклад, FFmpeg записує рівно 1 звуковий потік у файл FLAC і може додавати зображення. Натомість специфікація MKV показує приклад файлу з 7 звуковими потоками, які там називають доріжками.

Які файли містять його

Ви бачите NB Streams в аудіо- та відеофайлах, які FFmpeg може відкрити, наприклад MP4, MOV, AVI, MKV, MP3, FLAC і WAV. Засіб читання ffprobe також відкриває зображення. Зазвичай FFmpeg розглядає одне зображення як один відеопотік, тому ffprobe виводить 1.

Для деяких фотографій ffprobe виводить більше ніж 1 потік. Фото HEIC може зберігати зображення як сітку з окремих тайлів. FFmpeg може вказати кожен тайл як окремий потік, тому сітка 2 на 2 тайли рахується як щонайменше 4 потоки.

FFmpeg не має засобу читання для форматів документів, таких як PDF і DOCX. Тому документи зазвичай не містять цього поля.

Звідки походить значення

У самому файлі немає поля з назвою NB Streams. FFmpeg відкриває файл, знаходить кожен потік і додає його до списку. NB Streams - це кількість елементів у цьому списку.

Чому це важливо

NB Streams дає змогу швидко перевірити, що містить файл. Відеофайл зі значенням 1 зазвичай не має або зображення, або звуку.

Значення, вищe за очікуване, може вказувати на додаткові мови, субтитри, зображення або вкладені файли. Плеєр зазвичай обирає лише деякі з цих потоків, тож ви можете не помітити інші під час відтворення.

Значення також може змінюватися під час конвертації файлу. Без додаткових параметрів програма ffmpeg бере по 1 потоку кожного типу і пропускає потоки даних та вкладень. Тому менше значення може означати, що якийсь потік зник.

Мета ключі