Может ли ffmpeg muxer мультиплексировать любой кодированный пакет данных в контейнер?

717
Noncz

Я просто хочу знать, есть ли ограничение, что только один тип контейнера может содержать номера пакетов кодированных данных специальных кодеков.

Боюсь, я не объясняю себя хорошо. Чтобы быть более конкретным, существует ли какой-то кодированный пакет данных, который контейнер «ogg» не может содержать, или независимо от того, какой это контейнер, он может содержать любой тип кодированного пакета данных

1
Возможно, контейнер mkv очень универсален и может содержать много видов кодеков и метаданных. Это то, что вы спрашиваете? Rajib 10 лет назад 0
я не спрашивал о наиболее универсальном контейнере, но вы все еще решили мою проблему, мне интересно, есть ли официальные документы ffmpeg о том, какие кодеки может содержать каждый контейнер Noncz 10 лет назад 0
Пожалуйста, измените ваш вопрос, чтобы включить ваш конкретный запрос, касающийся кодеков и контейнеров. Rajib 10 лет назад 0

1 ответ на вопрос

2
slhck

Как правило, мультимедийные контейнеры ограничены определенными кодеками, которые могут быть встроены. Некоторые больше, чем другие. Например, контейнер Matroska может содержать практически любой кодек видео, аудио или субтитров. С другой стороны, контейнеры, такие как MPEG-4 Part 14 (.mp4), весьма ограничены. Контейнеры, такие как транспортные потоки MPEG-2, очень гибкие, поскольку они позволяют вам определять «частные потоки», в которых могут передаваться нестандартизированные кодеки.

Вы найдете обширный обзор Википедии .

Конечно, в принципе, вы можете встраивать любые произвольные данные, которые маскируются под видео или аудио, в контейнер. Контейнер только для того, чтобы связать полезную нагрузку. Но я не вижу никакого практического использования для этого, так как вы не могли бы декодировать данные без анализатора, который понимает полезную нагрузку.

Вы также можете быть заинтересованы в: Что такое кодек (например, DivX?) И чем он отличается от формата файла (например, MPG)?

Что касается вашего конкретного вопроса, вы обнаружите, что контейнеры Ogg могут нести следующие кодеки :

  • Видео: Theora, Dirac, OggUVS, MNG
  • Аудио: Vorbis, FLAC, Speex, Opus, OggPCM

И даже более конкретно, ffmpeg не может преобразовывать произвольные данные в контейнер. Он скажет вам, когда определенный кодек не подходит для формата.

Идеальный ответ !!! Это именно то, что я прошу. Спасибо ~ Noncz 10 лет назад 0

Похожие вопросы