Я изучал мультимедийные форматы (хотя недавно мне сказали не использовать слово "формат", поскольку оно неоднозначно).
Я узнал, что видеофайл состоит из необработанного битового потока, закодированного в соответствии с каким-то стандартом, например, H.264, затем этот битовый поток упаковывается в контейнер, например, .mp4.
т.е. сырой битовый поток (закодированный по стандартному протоколу) + контейнер = мой видеофайл
Я узнал об этом из другой статьи SuperUser: что такое кодек (например, DivX?) И чем он отличается от формата файла (например, MPG)?
В этой статье также сказано следующее:
До сих пор мы только объясняли необработанный "битовый поток", который в основном представляет собой просто сырые видеоданные. Вы могли бы пойти дальше и посмотреть видео, используя такой сырой битовый поток. Но в большинстве случаев этого просто недостаточно или не практично.
Поэтому вам нужно обернуть видео в контейнер. Есть несколько причин, почему:
-Может, вы хотите аудио вместе с видео.
-Может быть, вы хотите перейти к определенной части видео (например, «перейти к 1:32:20.12»).
-Одно аудио и видео должны быть идеально синхронизированы.
-Видео может потребоваться передать по надежной сети и разделить на пакеты раньше.
-Видео может быть даже отправлено через сеть с потерями (например, 3G) и разбито на пакеты раньше.
Я на самом деле просто не понимаю , почему Raw Bitstream не может быть использована и как контейнер может разрешить все эти вещи. Он говорит, что они могут, но он не объясняет как, и вот к чему я клоню.
Вероятно, это потому, что я никогда в своей жизни не имел дело с Raw Bitstreams. Я всегда нажимал на файл контейнера .mp4, и он просто работал.
Может кто-нибудь объяснить магию контейнеров и как они увеличивают сырые битовые потоки?