
我使用 ffmpeg 轉換一些在 Android 手機(三星 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
我的目標是,在重新編碼後保留元數據,尤其是創建時間。
當我查看 MediaInfo 時,creation_time 似乎是正確的。我指定的日期出現在所有流中,甚至出現在容器部分。
但是,如果我將檔案複製到三星的圖庫中,它不會顯示該日期,而是顯示修改日期(檔案層級)。
因此,當我更改文件的修改日期時,它在 Android 上也會發生變化。
當我拍攝手機相機錄製的 mp4 檔案並更改檔案的修改日期時,手機上的圖庫仍然顯示原始日期。
所以,一定有什麼問題,三星相機如何儲存日期訊息,或者可能是一種特殊的方式如何使用 ffmpeg 進行編碼,所以creation_time 被android 識別。
將這兩個檔案與 MediaInfo 進行比較並查看時間戳,我找不到編碼檔案中可能丟失的任何內容。
這裡有人有想法嗎?