
У меня есть несколько видеофайлов, которые были преобразованы в MP4, но не совсем правильно. Когда я проверяю один из них с помощью exiftool, я вижу следующие значения метаданных:
Duration : 0:11:23
Track Duration : 0:11:23
Media Duration : 0:04:13
Последнее неверно. В медиаплеере VLC видео воспроизводятся нормально, но инструмент, который я использую для их воспроизведения в веб-приложении (Flowplayer), воспринимает значение «Продолжительность мультимедиа» всерьез и обрезает видео.
Чтобы исправить метаданные, я попытался
exiftool -"Media Duration"="0:11:23" video_1.mp4
Но я получил
Warning: Sorry, Media is not writable
Nothing to do.
Sudo не помогло. Согласно его man-странице иВеб-сайт, exiftoolможетчитать и записывать метаданные в файлы MP4, но «ExifTool не будет перезаписывать файл, если обнаружит существенную проблему с форматом файла».
Как мне исправить эти файлы?
EDIT: Мне не повезло с ffmpeg или mediainfo.
решение1
Я нашел решение. Вместо того, чтобы редактировать метаданные, я перекодировал файлы с помощью ffmpeg, таким образом, что видео- и аудиоконтент был просто скопирован и упакован в новый, безошибочный контейнер MP4. Вот команда:
ffmpeg -i video_1.mp4 -vcodec copy -acodec copy video_1_fixed.mp4
решение2
Есть две причины, по которым указанная команда exiftool не сработала.
Во-первых, «Продолжительность медиа» — это не название тега, а его описание.Часто задаваемые вопросы по ExifTool №2
…по умолчанию он печатает описания, а не имена тегов, для информации, которую он извлекает. … Обратите внимание, что описания часто содержат пробелы между словами, но имена тегов никогда не содержат. Кроме того, имена тегов всегда английские, независимо от
-lang
параметр. Чтобы напечатать имена тегов вместо описаний, используйте-s
вариантпри извлечении информации
Вторая проблема заключается в том, что MediaDuration
тег не является записываемым тегом (см.Теги QuickTime MediaHeader).