Я пытаюсь использовать FFMpeg для некоторой обработки моих входных видеофайлов, которые затем передаются программному обеспечению эмулятора (пакетному программному обеспечению) для дальнейшей обработки. Эмулятор - это в основном программное обеспечение для пакетирования. Но независимо от того, что это, оригинальный видеофайл, который работает, прилагается. Создатель файла сказал, что он использовал инструмент bento4
для создания файла. Чем отличается этот инструмент от FFmpeg?
Проблема в том, что эмулятор может читать исходный видеофайл, но когда я просто использую команду ffmpeg -i input.video -c copy output.mp4
, хотя он должен по существу копировать все конфигурации, эмулятор не может читать и обрабатывать новые файл.
Вот копия оригинального файла .mp4
который отлично работает в эмуляторе.
Я использовал инструмент mediainfo
для сравнения деталей двух файлов и заметил, что, хотя все конфиги, связанные с видеокодеком, одинаковы, существуют некоторые различия в размерах заголовков, которые, вероятно, вызывают проблемы. Есть ли способы заставить FFmpeg хранить информацию заголовков (кроме кодеков)? Или, может быть, есть другие проблемы? В любом случае, выходное видео не полностью совпадает.
ОБНОВЛЕНИЕ: я все еще борюсь с проблемой. Я посмотрел код эмулятора, и он анализирует заголовки MOOV
и фрагментов для получения информации. Используя программное обеспечение MP4 explorer, я заметил, что в моем сгенерированном файле .mp4
для всех moof.traf.trun
длительность выборки равна 0, но в поле заголовка фрагмента дорожки он устанавливает значение default_sample_duration
512. В то время как в рабочем файле нет default_sample_duration
, и каждый отдельный образец имеет продолжительность 512 размера. Я думаю, это может быть проблемой. Теперь есть ли способы сделать его оригинальным?