
Tenho alguns arquivos de vídeo que foram convertidos para MP4, mas não corretamente. Quando examino um com exiftool, vejo estes valores de metadados:
Duration : 0:11:23
Track Duration : 0:11:23
Media Duration : 0:04:13
Esse último está incorreto. No VLC media player, os vídeos são reproduzidos bem, mas a ferramenta que estou usando para reproduzi-los em um aplicativo da web (Flowplayer) leva a sério o valor "Media Duration" e trunca o vídeo.
Para corrigir os metadados eu tentei
exiftool -"Media Duration"="0:11:23" video_1.mp4
Mas eu consegui
Warning: Sorry, Media is not writable
Nothing to do.
Sudo não ajudou. De acordo com sua página de manual elocal na rede Internet, exiftoolpodelê e grava metadados em arquivos MP4, mas "ExifTool não reescreverá um arquivo se detectar um problema significativo com o formato do arquivo."
Como posso corrigir esses arquivos?
EDIT: Não tive sorte com ffmpeg ou mediainfo.
Responder1
Eu encontrei uma solução. Em vez de editar os metadados, recodifiquei os arquivos usando ffmpeg, de forma que o conteúdo de vídeo e áudio fosse simplesmente copiado e empacotado em um novo contêiner MP4 sem erros. Aqui está o comando:
ffmpeg -i video_1.mp4 -vcodec copy -acodec copy video_1_fixed.mp4
Responder2
Existem dois motivos pelos quais o comando exiftool listado não funcionou.
Primeiro, “Duração da mídia” não é o nome de uma tag, é a descrição. DePerguntas frequentes sobre ExifTool nº 2
…por padrão, ele imprime descrições, e não nomes de tags, para as informações que extrai. … Observe que as descrições geralmente contêm espaços entre as palavras, mas os nomes das tags nunca contêm. Além disso, os nomes das tags são sempre em inglês, independentemente do
-lang
contexto. Para imprimir os nomes das tags em vez das descrições, use o-s
opçãoao extrair informações
O segundo problema é que a MediaDuration
tag não é uma tag gravável (veja oQuickTime MediaHeader Tags).