Alan Moment
  • Introduction
  • 智慧家庭
    • Fibaro 系統整合便宜的 IP Cam
  • Life
    • 用AWS Glacier做最後的冷資料備份
    • 如何在macOS修改影音檔日期
  • 3D Printer
    • Atom2.5EX 之血淚組裝
    • 列印經驗紀錄
      • SpoolHolder
    • 製圖經驗
      • Turntable
      • 重製Atom3散熱風扇
    • 線材經驗
      • PETG
        • 首測
  • Kubernetes
    • 使用Kops建立Kubernetes
    • 使用HelmV2
    • Kubernetes的技術問題排解技巧
  • PHP
    • 管理PHP Library的利器Composer
    • PHP安裝JSON
    • Phalcon首發
    • Gearman Job Worker for PHP
    • Laravel 首發 !!!
    • Data Encrypt & Decrypt
  • Python
    • Django + Python 開發環境建置
  • Android
    • Android zipcode library of maven
    • Android use foreign object of OrmLite
    • ProgressBar while loading ListView of Android
    • AsyncTask download image by the Android
    • Use Thread control Android UI
    • Android Universal Image Loader
  • Ruby on Rails
    • Install rmagick on the Windows of Ruby on Rails
    • Ruby on Rails deploy on Heroku
    • Ruby on Rails 小問題
  • React
    • Ditched AngularJS for React
  • Tessel
    • 很潮的 Tessel
    • Connect to Slack on Tessel
    • Baby Help on Tessel
  • Node.js
    • CentOS 安装 Node.js 0.8.5
  • OOAD
    • Injection Principle Design Pattern
  • Linux
    • SSH免密碼登入遠端電腦
    • Apache與Tomcat的結合
    • The bash auto build
  • Hadoop
    • CentOS 5.5 + Hadoop 0.20
    • CentOS 5.5 + Hbase 0.94.8
    • Hadoop + Hbase 叢集環境
    • Hadoop 溝通橋梁之 Thrift 0.7
    • 使用MapReduce之替代方案Hive
    • 使用Sqoop將MySQL資料匯入Hbase
  • Database
    • 吃足苦頭的Mssql
  • IDE
    • Netbeans console中文亂碼解決方法
    • 用NetBeans開發Ruby On Rails
  • Agile
    • 淺談我的Agile
  • 協作工具
    • 建置專屬自己的Github之Gitlab
    • Gitlab 4.1 upgrade to Gitlab 6.0超偷懶方法
    • Install Phabricator and run on the Gitlab
    • Phabricator 基本應用
    • Phabricator review code應用
    • Redmine之基本建置與Scrum應用
    • Omnibus Gitlab 7 基礎操作
    • Git Push Notify to Slack on Gitlab
    • phabricator-extensions-Sprint 無法抓到正確的 Story Points
  • 其他
    • 慶祝Octopress開張
    • 走在時尚的尖端! Ghost
    • 大搬家
    • 網頁教學初體驗
    • 網路攻擊很猖狂
Powered by GitBook
On this page

Was this helpful?

  1. Life

如何在macOS修改影音檔日期

Previous用AWS Glacier做最後的冷資料備份Next3D Printer

Last updated 3 years ago

Was this helpful?

在痛苦了好多年,每次在把影片存在 Photos 的時候,建立時間就會錯亂,會造成整個排序非常畸形,有強迫症的我,完全無法接受。

原因在於 Sony 的手持攝影機的影音格式是 M2TS,近年的 macOS 支援度已經沒那麼高了 Audio 在匯入時會被消音。就在最新版 macOS Catalina 10.15.x 也已經完全無法匯入了,會出現錯誤訊息

就變成,得在本機先轉檔。好險有佛心軟體 AVCHD to Mov Lite,我認為轉檔的效果還不錯。重點是免費的!但是轉完檔案後的建立時間全部都變成轉檔的日期當天。我整個暈倒...。所以後來只好找方法去修改影音檔案的日期,找好久才找到。而我的檔名就是建立的時間,但是一個一個檔案的修改,我也會暈倒。只好運用工作技能,寫一隻 ShellScript 自動的修改時間。

#! /bin/bash

folder=$1

for file in `ls $folder | grep .mov` ; do
  [ -d $file ] || break;
  fulltime=$(echo $file | sed "s/\(.*\).mov/\1/g")
  year=${fulltime:0:4}
  month=${fulltime:4:2}
  day=${fulltime:6:2}
  hour=${fulltime:8:2}
  min=${fulltime:10:2}
  sec=${fulltime:12:2}
  echo $file:$fulltime-$year-$month-$day-$hour-$min-$sec
  SetFile -d "$month/$day/$year $hour:$min:$sec" $folder/$file
  touch -t ${year}${month}${day}${hour}${min}.${sec} $folder/$file
  # touch -a -m -t ${year}${month}${day}${hour}${min}.${sec} $file
done

現在只要轉完檔,再跑一下 ShellScript 就可以匯入 Photos 了。爽!!

也可以讓程式在背景跑

nohup photo-handler.sh > nohup.out 2>&1 &

運用 exiftool 修改日期時間

其實要修改日期時間,還有另外一個方法,但是要另外安裝 exiftool,下面就列出一些我最常使用的指令

檢查 Meta Data

exiftool -s <file-name>

如果無法順利的改變檔案的時間,可以先找出日期資料,再依照結果修改

exiftool -time:all -a -G0:1 -s <file-name>.mp4
[File:System]   FileModifyDate                  : 2020:08:15 12:07:40+08:00
[File:System]   FileAccessDate                  : 2020:08:15 12:07:40+08:00
[File:System]   FileInodeChangeDate             : 2020:08:15 12:07:40+08:00
[H264]          DateTimeOriginal                : 2020:08:08 14:08:56+08:00
[H264:GPS]      GPSTimeStamp                    : 16:06:34.392

exiftool "-CreateDate>FileModifyDate" "-CreateDate>FileInodeChangeDate" "-CreateDate>FileCreateDate" <file-name>.mp4

依指定的影音格式改變影片的建立、修改日期,. 可以是資料夾,-ext 也可以改成 mp4 或是其他格式

exiftool -ext m2ts "-fileCreateDate<dateTimeOriginal" "-fileModifyDate<dateTimeOriginal" .

依日期改變 m2ts 的檔名

exiftool -ext m2ts "-FileName<DateTimeOriginal" -d "%Y%m%d%H%M%S.m2ts" <file-name>.m2ts