MP4 파일의 "미디어 지속 시간" 메타데이터 편집

MP4 파일의 "미디어 지속 시간" 메타데이터 편집

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는 도움이되지 않았습니다. 매뉴얼 페이지와웹사이트, 엑시프툴~할 수 있다MP4 파일의 메타데이터를 읽고 쓸 수 있지만 "ExifTool은 파일 형식에 심각한 문제가 발견되면 파일을 다시 쓰지 않습니다."

해당 파일을 어떻게 수정할 수 있나요?


편집: 나는 ffmpeg나 mediainfo에 운이 없었습니다.

답변1

해결책을 찾았습니다. 메타데이터를 편집하는 대신 ffmpeg를 사용하여 파일을 다시 인코딩했습니다. 이러한 방식으로 비디오 및 오디오 콘텐츠가 단순히 복사되어 오류 없는 새로운 MP4 컨테이너에 래핑되었습니다. 명령은 다음과 같습니다.

ffmpeg -i video_1.mp4 -vcodec copy -acodec copy video_1_fixed.mp4

답변2

나열된 EXIFtool 명령이 작동하지 않는 데에는 두 가지 이유가 있습니다.

첫째, "미디어 지속 시간"은 태그 이름이 아니라 설명입니다. 에서ExifTool FAQ #2

...기본적으로 추출한 정보에 대해 태그 이름이 아닌 설명을 인쇄합니다. … 설명에는 단어 사이에 공백이 포함되는 경우가 많지만 태그 이름에는 공백이 포함되지 않습니다. 또한 태그 이름은 태그 이름에 관계없이 항상 영어입니다.-lang환경. 설명 대신 태그 이름을 인쇄하려면-s옵션정보를 추출할 때

두 번째 문제는 MediaDuration태그가 쓰기 가능한 태그가 아니라는 것입니다(참조:QuickTime MediaHeader 태그).

관련 정보