ProMemo

ffmpegで動画変換-AppleScript

最終更新:

yosilove

- view
だれでも歓迎! 編集

ffmpegで動画変換-AppleScript

AppleScript Mac ffmpeg ソースコード 解説 最終更新日 2009-10-20: View -
link_pdfプラグインはご利用いただけなくなりました。
ダウンロード View -

AppleScriptからffmpegを使って動画変換。.app形式なのにソースコードいじれるらしい。

起動するとファイル選択画面が表示されてファイル指定(アイコン上にファイルをドロップしてもよし)
→返還後の形式を選択


ffconvert.app

  • 「ここを編集(1)」でffmpegのパスを指定
  • 変換形式を増やすときには「ここを編集(1),(2),(3)」を修正

on convert(srcFile)
	
	--初期設定
	----ここを編集(1)
	set ffmpeg to "/usr/local/bin/ffmpeg" as string
	--set 形式command to ffmpeg & " -y -i \"srcFilePath\" ffmpegの変換コマンド \"distFilePath\""
	set mp3command to ffmpeg & " -y -i \"srcFilePath\" -acodec libmp3lame -vn \"distFilePath\""
	set mp4command to ffmpeg & " -y -i \"srcFilePath\" -acodec libfaac -vcodec mpeg4 \"distFilePath\""
	set wmvcommand to ffmpeg & " -y -i \"srcFilePath\" -acodec wmav2 -vcodec wmv1  \"distFilePath\""
	----ここまで編集(1)
	
	--変換するファイルのパス
	set srcFilePath to POSIX path of srcFile
	tell application "System Events"
		--変換するファイルのファイル名
		get name of file srcFilePath
		set srcFileName to (result as string)
		--変換するファイルの拡張子
		get name extension of file srcFilePath
		set srcFileType to (result as string)
	end tell
	
	--変換形式の選択
	----ここを編集(2)
	display dialog (srcFileName as string) & " (" & srcFileType & ")を以下の形式に変換" buttons {"mp3", "mp4", "wmv"} default button 1
	----ここまで編集(2)
	
	--変換後のファイルの拡張子
	set distFileType to button returned of result
	--変換後のファイルのファイル名
	set distFileName to replaceText(srcFileName, "." & srcFileType, "." & distFileType)
	--変換後のファイルのパス
	set distFilePath to replaceText(srcFilePath, srcFileName, distFileName)
	
	--変換実行
	---- ここを編集(3)
	if distFileType is "mp3" then
		execFFmpegCommand(mp3command, srcFilePath, distFilePath)
	else if distFileType is "mp4" then
		execFFmpegCommand(mp4command, srcFilePath, distFilePath)
	else if distFileType is "mwmv" then
		execFFmpegCommand(wmvcommand, srcFilePath, distFilePath)
	end if
	---- ここまで編集(3)
	
	beep 3
	display dialog (srcFileName as string) & "が完成しました。"
end convert

--サブルーチン達
----コマンド実行
on execFFmpegCommand(command, srcFilePath, distFilePath)
	set command to replaceText(command, "srcFilePath", srcFilePath)
	set command to replaceText(command, "distFilePath", distFilePath)
	--display dialog command
	do shell script command
end execFFmpegCommand

----文字列置換
on replaceText(theText, serchStr, replaceStr)
	set tmp to AppleScript's text item delimiters
	set AppleScript's text item delimiters to serchStr
	set theList to every text item of theText
	set AppleScript's text item delimiters to replaceStr
	set theText to theList as string
	set AppleScript's text item delimiters to tmp
	return theText
end replaceText

--ファイルがドロップされたとき
on open (droppedItem)
	convert(droppedItem)
end open

--スクリプトが実行された時
on run
	--変換するファイルの選択
	set selectFile to choose file with prompt "変換するファイルを選択してください"
	convert(selectFile)
end run

実行方法

ダブルクリックで起動

実行結果

  • ダブルクリックで起動された時
ファイル選択ウィンドウ表示
-> 変換後の形式を選択
  • アイコンにファイルがドロップされた時
変換後の形式を選択

テスト環境

AppleScriptなのでMac専用


+ タグ編集
  • タグ:
  • ソースコード
  • Mac
  • ffmpeg
  • AppleScript

このサイトはreCAPTCHAによって保護されており、Googleの プライバシーポリシー利用規約 が適用されます。

添付ファイル
目安箱バナー