Как вы можете безопасно определить, является ли mp4 только аудио или видео файлом - PullRequest
3 голосов
/ 17 января 2011

Учитывая набор файлов mp4, я хочу идентифицировать только аудиофайлы, а не видеофайлы. Ранее я сделал это, убедившись, что был только один атом трека, и этот атом трека содержал атом trak.mdia.minf.smhd, но с тех пор обнаружил, что это исключает некоторые допустимые аудиофайлы.

Итак, теперь я проверяю каждый атом трака, найденный в файле, и отклоняю его только в том случае, если мы обнаружим атом trak.mdia.minf.vmhd в любом из атомов, ИЛИ мы не найдем хотя бы один атом trak.mdia.minf.smhd. Но я уверен, что это не является водонепроницаемым, поскольку должны быть форматы видео, которые не используют атом vmhd.

Как лучше всего это сделать?

1 Ответ

4 голосов
/ 14 марта 2011

Вы можете найти тип дорожки в trak->mdia->hdlr->handlerType, где handlerType равно soun для аудио или vide для видео.

...