hibitekitou
QuickTime Playerで開いている動画から手軽に静止画を書き出したい
mac |2021-11-10
テスト用に静止画をたくさん取得する必要がありまして、手軽なのは適当な動画から静止画を必要枚数だけ出力することかなと思いました。
QuickTime PlayerをAppleScirptで制御して適当に静止画を書き出してやればいいじゃんって思ったら、そういえば、QuickTime Playerは静止画書き出しがスクリプトからはできないのでした。(コピーしてクリップボードに入れて、それを静止画を扱えるアプリケーションで保存してやるって方法ならできる。つまりはSystemEventsを使えばいいけど、書くのが面倒)
ということで、Homebrewを使えばインストールが簡単なffmpegを使うことにしました。QuickTimeで開いてる動画ファイルから静止画を書き出してやる、って内容です。そのやっつけスクリプト。
set fileCount to 100 --100枚書き出すという設定 set outDirectory to "~/Desktop/TEST/outImageFile_" --デスクトップのTESTフォルダにoutImageFile_って名前で書き出す設定 set curCount to 0 set curTime to 0 tell application "QuickTime Player" activate set movDoc to front document set movFilePath to POSIX path of (file of movDoc as alias) set movDur to duration of movDoc end tell set intervalTime to movDur / fileCount repeat fileCount times set curTime to curTime + intervalTime set cmd to "/usr/local/bin/ffmpeg -ss " & curTime & space & "-i \"" & movFilePath & "\" -vframes 1 -q:v 1 -f image2 " & outDirectory & curCount & ".jpg" do shell script cmd set curCount to curCount + 1 end repeat
コメント ( 0 )|Trackback ( )
« 前日光方面行った・Montereyにあげた »
コメント |
コメントはありません。 |
コメントを投稿する |
ブログ作成者から承認されるまでコメントは反映されません |