Ответ 1
MPEG-TS предназначен для прямой трансляции событий через DVB, многоадресную рассылку UDP, но также через HTTP. Он делит поток в элементарных потоках, которые сегментируются небольшими кусками. Системная информация отправляется через регулярные промежутки времени, поэтому получатель может начните воспроизведение потока в любое время.
MPEG-TS не подходит для потоковой передачи файлов, поскольку он не предоставляет информацию о продолжительность фильма или песни, а также точки, к которым вы можете стремиться.
Есть несколько новых протоколов, которые могут использовать MPEG-TS для потоковой передачи по HTTP, которые добавили дополнительные метаданные в файлы и исправили недостаток, о котором я говорил раньше. Это потоки HTTP Live и DASH (динамическая адаптивная потоковая передача по HTTP).
С другой стороны, MP4 имеет эту информацию в части потока, называемой атомом moov. Дело в том, что moov должен быть размещен перед медиа-контентом и загружен с сервера в первую очередь. Таким образом, видеопроигрыватель знает продолжительность и может искать любую точку без скачивания всего файла (это называется псевдопотоком HTTP).
Печально ffmpeg помещает moov в конец файла. Вы можете исправить это с помощью программного обеспечения как Xmoov-PHP.
Здесь вы можете найти дополнительную информацию о псевдопотоке.