Какая разница между mp4 и mpegts?

Недавно у меня была задача преобразовать формат файла в mp4 и передать его. Я использовал ffmpeg как инструмент перекодирования. Файл MP4 не передается по протоколу http [используется флагом cgi wrapper], но затем формат вывода изменяется на mpegts, когда потоковая передача происходит и работает нормально. Быстрый поиск по сети http://wiki.videolan.org/MPEG связан и рекомендует использовать mpegts для потоковой передачи файла mp4. Мне нужно больше понять эти два формата, их преимущества и различия.

Спасибо, Питер

Ответы

Ответ 1

MPEG-TS предназначен для прямой трансляции событий через DVB, многоадресную рассылку UDP, но также через HTTP. Он делит поток в элементарных потоках, которые сегментируются небольшими кусками. Системная информация отправляется через регулярные промежутки времени, поэтому получатель может начните воспроизведение потока в любое время.

MPEG-TS не подходит для потоковой передачи файлов, поскольку он не предоставляет информацию о продолжительность фильма или песни, а также точки, к которым вы можете стремиться.

Есть несколько новых протоколов, которые могут использовать MPEG-TS для потоковой передачи по HTTP, которые добавили дополнительные метаданные в файлы и исправили недостаток, о котором я говорил раньше. Это потоки HTTP Live и DASH (динамическая адаптивная потоковая передача по HTTP).

С другой стороны, MP4 имеет эту информацию в части потока, называемой атомом moov. Дело в том, что moov должен быть размещен перед медиа-контентом и загружен с сервера в первую очередь. Таким образом, видеопроигрыватель знает продолжительность и может искать любую точку без скачивания всего файла (это называется псевдопотоком HTTP).

Печально ffmpeg помещает moov в конец файла. Вы можете исправить это с помощью программного обеспечения как Xmoov-PHP.

Здесь вы можете найти дополнительную информацию о псевдопотоке.

Ответ 2

Вы можете изменить порядок своего файла MP4, поставив раздел moov в начале его, используя следующую команду FFMPEG:

ffmpeg -i your.mp4 -vcodec copy -acodec copy -movflags + faststart reordered.mp4

Ответ 3

.mp4 - это расширение файла в то время как mpeg ts используется для транспортных потоков..... mpeg ts является стандартом, используемым для цифрового видеовещания для передачи видео mpeg и mpeg audio. существуют в основном два типа ts spts и mpts spts содержит только одну программу, тогда как mpts содержит в себе несколько программ. ts reader и медиаплееры vlc используются для воспроизведения mpeg ts если вы хотите узнать больше об этом, MPEG TS ИЛИ TRANSPORT STREAM MPTS SPTS

Расширением для файлов транспортных потоков является .ts