Обнаружил это, когда искал решение для проблем MP4-аудио, связанных с iOS: некоторые из моих аудиофайлов MP4 начали воспроизводиться, но в определенный момент в файле воспроизведение на iOS зависало, в то время как проигрыватели не на iOSвоспроизводил те же файлы MP4 безупречно до конца.
MP4 - формат контейнера.Предполагается, что он также содержит не аудио / не видео потоки и заголовки метаданных, которые описывают аудио / видео.iOS, похоже, не любит некоторые типы потоков, и если некоторые заголовки находятся в неожиданных позициях в файле.
mp4box и ffmpeg могут исправить эти заголовки и удалить нежелательные потоки.Я возился только с mp4box, это помогло мне решить проблемы со звуком:
mp4box -single 1 input.mp4 -out outputfixed.mp4
"1" - это номер потока, содержащийаудио в моем случае (может отличаться, mp4box также может перечислять содержащиеся потоки).
Позже я обнаружил, что инструмент с графическим интерфейсом «MP4tag», который в первую очередь предназначен для редактирования тегов, имеет функцию меню под названием «Оптимизация MP4 ", которая, как говорят, способна решить ту же проблему.
mp4box также должен иметь возможность исправлять комбинации vid + audio, извлекая более одного потока из входного файла.