MP4Box Предупреждает о разных PPS, даже если они одинаковы
У меня есть онлайн-класс, который предоставляет MP4-версии классных лекций, но лекции разбиты на куски, каждый из которых длится несколько минут. Я пытаюсь объединить фрагменты в целые лекции, и несколько онлайн-обсуждений рекомендуют MP4Box на Ubuntu. Я использую следующую команду:
$ MP4Box -cat chunk1.mp4 -cat chunk2.mp4 -new lecture.mp4
Я также пытался
$ MP4Box -add chunk1.mp4 -cat chunk2.mp4 lecture.mp4
Оба видео воспроизводятся нормально самостоятельно. Проблема в том, что когда я объединяю видео, я получаю следующее предупреждение:
WARNING: Concatenating track ID 1 with different PPS - result file might be broken
Полученное видео, воспроизводимое с помощью медиаплеера VLC, не соответствует друг другу. Например, если я объединяю только фрагменты 1 и 2, звук для обоих треков в порядке, но видео фрагмента 1 - просто серый экран. Как только дело доходит до того, что раньше было куском 2, все прекрасно работает.
Я запускал MP4Box -info для каждого чанка, и, несмотря на предупреждение, у них одинаковый PPS. На самом деле все в их конфигурации выглядит идентично. Эти результаты включены ниже.
В Windows я использовал инструмент графического интерфейса пользователя одним щелчком (Any Video Converter Free), и мне никогда не приходилось связываться с настройками конфигурации. Таким образом, я абсолютный новичок в объединении видео в Linux. Не уверен, что еще искать или попробовать. Все обсуждения, которые я могу найти по поводу устранения неполадок, связаны с ошибками SPS, которых я не вижу.
$ MP4Box -info chunk1.mp4
* Movie Info *
Timescale 600 - Duration 00:00:55.100
2 track(s)
Fragmented File: no
File suitable for progressive download (moov before mdat)
File Brand isom - version 1
Created: GMT Tue Dec 30 16:59:35 2014
File has root IOD (9 bytes)
Scene PL 0xff - Graphics PL 0xff - OD PL 0xff
Visual PL: AVC/H264 Profile (0x15)
Audio PL: AAC Profile @ Level 2 (0x29)
No streams included in root OD
Track # 1 Info - TrackID 1 - TimeScale 30000 - Media Duration 00:00:55.055
Media Info: Language "Undetermined" - Type "vide:avc1" - 1650 samples
Visual Track layout: x=0 y=0 width=852 height=480
MPEG-4 Config: Visual Stream - ObjectTypeIndication 0x21
AVC/H264 Video - Visual Size 852 x 480
AVC Info: 1 SPS - 1 PPS - Profile Main @ Level 3.1
NAL Unit length bits: 32
Pixel Aspect Ratio 1:1 - Indicated track size 852 x 480
Self-synchronized
Track # 2 Info - TrackID 2 - TimeScale 44100 - Media Duration 00:00:55.100
Media Info: Language "Undetermined" - Type "soun:mp4a" - 2373 samples
MPEG-4 Config: Audio Stream - ObjectTypeIndication 0x40
MPEG-4 Audio AAC LC - 2 Channel(s) - SampleRate 44100
Synchronized on stream 1
И для второго файла:
$ MP4Box -info chunk2.mp4
* Movie Info *
Timescale 600 - Duration 00:04:11.981
2 track(s)
Fragmented File: no
File suitable for progressive download (moov before mdat)
File Brand isom - version 1
Created: GMT Wed Nov 19 15:19:33 2014
File has root IOD (9 bytes)
Scene PL 0xff - Graphics PL 0xff - OD PL 0xff
Visual PL: AVC/H264 Profile (0x15)
Audio PL: AAC Profile @ Level 2 (0x29)
No streams included in root OD
Track # 1 Info - TrackID 1 - TimeScale 30000 - Media Duration 00:04:11.951
Media Info: Language "Undetermined" - Type "vide:avc1" - 7551 samples
Visual Track layout: x=0 y=0 width=852 height=480
MPEG-4 Config: Visual Stream - ObjectTypeIndication 0x21
AVC/H264 Video - Visual Size 852 x 480
AVC Info: 1 SPS - 1 PPS - Profile Main @ Level 3.1
NAL Unit length bits: 32
Pixel Aspect Ratio 1:1 - Indicated track size 852 x 480
Self-synchronized
Track # 2 Info - TrackID 2 - TimeScale 44100 - Media Duration 00:04:11.982
Media Info: Language "Undetermined" - Type "soun:mp4a" - 10852 samples
MPEG-4 Config: Audio Stream - ObjectTypeIndication 0x40
MPEG-4 Audio AAC LC - 2 Channel(s) - SampleRate 44100
Synchronized on stream 1
1 ответ
Зачем
Ваш онлайн-класс преднамеренно вызвал у вас эти проблемы. Они будут варьировать (рандомизировать) тип кодировщиков mpeg4, используемых от урока к уроку, варьировать скорость передачи видео и аудио и изменять длину аудио / видео, поэтому их соединение приводит к ошибкам. Проблемы, с которыми вы сейчас сталкиваетесь, являются лишь верхушкой айсберга в играх, в которые вы играете, чтобы сделать то, что вы пытаетесь сделать, трудно. Кроме того, компании, продающие оборудование для редактирования видео, часто вносят ошибки в программное обеспечение с открытым исходным кодом, которое может делать подобные вещи, так что это так.
Трудный путь, бесплатно
Если вы готовы сражаться с этой гидрой самостоятельно, то сначала подготовьте каждый отдельный файл MP4 к стандартной кодировке, битрейту аудио / видео и т. Д. И т. Д. Вы можете использовать онлайн и бесплатные конвертеры видео и аудио (будьте осторожны, чтобы не скачивать вирусы с этим, поскольку создатели контента часто упаковывают их с программным обеспечением). Вы найдете файл, который работает с одним типом файла, и обнаружите, что он работает только для большинства из них, но не для всех.
Конвертируйте каждый из файлов MP4 в открытый видеоформат, такой как x264, чтобы все файлы были одинаковыми. Затем вы можете использовать MP4box для преобразования всех этих файлов в один целевой файл MP4.
Я программист, и я написал маленькие хаки, которые выполняют работу в одном ряду, но каждые 5 лет или около того все меняется, и вам приходится выходить и делать это снова. С другой стороны, это хороший способ узнать об аудио и видео близко к металлу. Это война между создателями контента и потребителями контента. Один из фронтов войны за вычислительную технику общего назначения.
"MP-что-нибудь" mp3, mp4, и т. Д., Это "иго в коробке". Если вы хотите, чтобы ваши видео могли воспроизводиться через 5 и 10 лет, конвертируйте их в видео кодировки с открытым исходным кодом.
Простое решение
Одно решение, которое, как я знаю, работает, это покупка "программного обеспечения для редактирования видео" за деньги, и они сражаются с этой гидрой за вас, тогда вам нужно просто перетащить ваши файлы mp4, скопировать и вставить.