ffmpeg: Codifique um vídeo que tenha o Creation_time reconhecido pelo Android

ffmpeg: Codifique um vídeo que tenha o Creation_time reconhecido pelo Android

Eu uso o ffmpeg para converter alguns dos meus vídeos que foram gravados em um telefone Android (samsung galaxy s9+):

ffmpeg -i src.mp4 -metadata creation_time="2013-05-02 22:01:04" -c:v libx265 -crf 24 -preset ultrafast -c:a aac -b:a 160k target.mp4

Meu objetivo é manter os metadados após a reencodificação, especialmente o Creation_time.

Quando olho para o MediaInfo, o Creation_time parece estar correto. A data que especifiquei aparece em todos os streams e até na parte do container.

Porém, se eu copiar o arquivo para o meu Samsung, na galeria, ele não será mostrado com essa data, mas sim com a data de modificação (nível do arquivo).

Então, quando altero a data de modificação do arquivo, ela muda no android.

Quando pego um arquivo mp4 que foi gravado pela câmera do telefone e altero a data de modificação do arquivo, a galeria do telefone ainda mostra a data original.

Então, deve haver algo no caminho, como a câmera Samsung armazena as informações de data, ou talvez uma maneira especial de codificar com ffmpeg, para que o Creation_time seja reconhecido pelo Android.

Comparando os dois arquivos com o MediaInfo e observando os carimbos de data e hora, não consigo encontrar nada que possa estar faltando no arquivo codificado.

Alguém tem uma ideia aqui?

informação relacionada