Automator에서 FFmpeg를 호출하여 MOV 파일을 GIF로 변환하는 폴더 작업

9822 단어 Automatorffmpeg

개요


시청자들이 자신의 행동을 간단히 확인할 수 있도록 풀 리퀘스트에 GIF를 만들어 첨부했지만, 매번 FFmpeg 실행이라는 지령을 견디지 못해 오토메이터를 활용해 자동화했다.
아마도 모든 사람들이 이 일을 귀찮아할 것 같아서 그런 사람을 위해 만든 Automator 폴더 동작을 손 옆에서 재현하는 절차를 소개하겠습니다.

컨디션

  • macOS: 12.0.1
  • FFmpeg: 4.4.1
  • Automator 폴더 작업 작성 단계


    물건을 만드는 간단한 설명


    지정한 폴더를 감시하고 폴더에 파일을 추가한 후 처리할 폴더 동작을 만듭니다.
    추가된 파일은 MOV 파일로 가정합니다.
    다른 애니메이션 형식도 움직일 수 있지만 검증이 없기 때문에 움직이지 않을 때 설정을 적당히 수정하여 스스로 고치도록 하세요.
    폴더 작업은 지정된 폴더에 추가된 각 파일에 대해 지정된 처리를 수행합니다.
    input 폴더는 폴더 동작을 지정하는 폴더이고 output 폴더는gif와 축소된 MOV 파일을 최종적으로 저장하는 폴더입니다.
    폴더의 이름은 무엇이든지 이해할 수 있도록 input/output이라고 명명합니다.
    다음 작업을 수행합니다.
  • MOV 파일의 크기를 줄이기 위해 720p로 시작하고 output 폴더에서 같은 이름으로 시작합니다
  • FFmpeg으로 생성된 파일을 GIF
  • 로 변환

    사전 준비


    FFmpeg이 macOS에 설치되지 않았기 때문에 설치되지 않았을 때 FFmpeg를 설치하십시오.
    나는 Homebrew를 이용하는 것이 매우 간단하다고 생각한다.
    가져오기 방법은'Homebrew FFmpeg 설치'등의 키워드로 검색하면 설치 방법에 관한 글을 찾을 수 있을 것으로 보인다.
    공식 사이트의 링크는 아래부터 시작하세요.
    공식 홈페이지
    공식.

    프로그램 만들기

  • Automator 시작
  • 메뉴에서 선택ファイル > 新規 > フォルダアクション
  • 오른쪽 상단에 표시된 폴더 선택 드롭다운 버튼을 클릭하고 기타를 선택합니다.
  • 폴더 동작을 설정하는 폴더를 선택하십시오 (이 폴더는 input 폴더가 되며 여기에 추가된 파일을 처리합니다)
  • 열린 창의 왼쪽 상단에 검색 필드가 있습니다. 여기를 클릭하여 인코딩 미디어를 입력합니다.검색 결과로 표시된 미디어 인코딩을 오른쪽 열로 드래그
  • 설정 드롭다운을 클릭하고'H.264720p'(제작된 GIF 해상도가 낮다고 생각되면 이 수치를 변경해보면 개선된다. 단, 해당 GIF의 파일 크기는 커진다)
  • 검색 필드를 다시 클릭하고 AppleScript 실행 을 입력합니다.검색 결과로 표시된 AppleScript 실행을 오른쪽 열의 인코딩 미디어 아래로 드래그
  • 애플 스크립트 실행 텍스트 영역에 다음 코드를 붙여넣습니다(오류가 발생하면 모두 탭으로 들여쓰기)
    on removeExtension(thisName)
    	if thisName contains "." then
    		set thisName to (the reverse of every character of thisName) as string
    		set x to the offset of "." in thisName
    		set thisName to (text (x + 1) thru -1 of thisName)
    		set thisName to (the reverse of every character of thisName) as string
    	end if
    	return thisName
    end removeExtension
    
    on run {input, parameters}
    	-- ffmpegのフルパス
    	set ffmpegPath to "/opt/homebrew/bin/ffmpeg"
    	-- ffmpegのoption
    	set options to " -vf scale=320:-1 -r 24 "
    	
    	repeat with targetFile in input
    		tell application "System Events"
    			set inputFilename to name of (get properties of targetFile)
    		end tell
    		set inputFilePath to quoted form of (POSIX path of targetFile)
    		set outputFilePath to quoted form of (my removeExtension(POSIX path of targetFile) & ".gif")
    		do shell script ffmpegPath & " -i " & inputFilePath & options & outputFilePath
    	end repeat
    	return input
    end run
    
    
  • 메뉴에서 선택ファイル > 保存...하고 적당한 이름으로 저장
  • 작성된 폴더 작업은 다음과 같습니다.

    동작 확인


    다음 GIF처럼 MOV 파일을 input 폴더에 추가한 후 output에서 GIF와 MOV를 만드는 데 성공했다.

    개선하고 싶은 점.

  • 축소된 MOV 파일 삭제 가능
  • 대략적으로 제거하면 GIF 제작 처리에서 삭제되고 GIF가 제작되지 않기 때문에 delay
  • 를 진행해야 한다

    총결산


    이 폴더 동작으로 GIF를 많이 만들어 주세요!

    좋은 웹페이지 즐겨찾기