Automator Service를 사용하여 ffmpeg 자동화


6

나는 종종 명령 줄에서 ffmpeg를 사용 하여 비디오 파일을 Mac에서 mp4 로 변환합니다 (매버릭스 실행). 그러나 비디오를 다시 인코딩하지는 않습니다. 컨테이너를 avi 또는 mkv 에서 mp4로 변경하고 있습니다 . 터미널에서 실행하는 정확한 명령은 다음과 같습니다.

/ Users / Amit / Documents / Scripts / ffmpeg -i /input.mkv -c : v copy -c : 사본 /output.mp4

보시다시피, 여기에는 많은 타이핑 (예 : ffmpeg 및 소스 및 대상 비디오의 전체 경로)이 포함되며 이러한 변환을 많이 수행하므로 여기에서 Automator의 도움을받는 것이 좋습니다.

그렇다면이 활동을 자동화하는 파인더 서비스를 만드는 방법은 무엇입니까? 독립형 앱 또는 메뉴 항목 대신 Finder 서비스를 선호합니다.

답변:


7

자동화 서비스

Automator를 사용하여 새 서비스 또는 드롭 릿만들 수 있습니다 .

  1. Automator.app 실행
  2. 서비스가 모든 응용 프로그램 에서 파일 또는 폴더 를 수신하여 새 서비스 만들기
  3. 쉘 스크립트 실행 조치 추가
  4. 설정 패스 입력 :인수로
  5. 스크립트 내에서 echo아래 스크립트로 바꿉니다.
  6. 워크 플로를 서비스로 저장하십시오.

쉘 스크립트

for f in "$@"
do
    /Users/Amit/Documents/Scripts/ffmpeg -i "$f" -c:v copy -c:a copy "${f%.*}.mp4"
done

자동화 기 ffmpeg

Automator 사용에 관한 자세한 정보는 Apple의 Mac 기본 사항 : Automator를 참조하십시오 .


도와 주셔서 감사합니다. 나는 당신이 제안한대로 정확하게했지만 아무것도하지 않습니다. 원하는대로 Finder에서 서비스를 사용할 수 있지만 mkv 파일을 선택하고 서비스를 실행할 때 아무것도하지 않습니다. :(
TheLearner

신경 쓰지 마, 알아 냈어 Lauri Ranta가 제안한대로 "$ fbname"을 "$ {f %. *}. mp4"로 바꿨습니다. 젠장, 둘 다 내 해결 방법에 똑같이 도움이 되었기 때문에 두 가지 답변을 모두 수락 할 수 있기를 바랍니다!
TheLearner

4

다음과 같은 쉘 구성 파일에 이와 같은 기능을 추가 할 수도 있습니다 ~/.bash_profile.

mp4() {
  for f; do
    ffmpeg -i "$f" -c copy "${f%.*}.mp4"
  done
}

그럼 당신은 그냥 실행할 수 있습니다 mp4 input.mkv.

당신은 대체 할 수있는 /Users/Amit/Documents/Scripts/ffmpeg단지로 ffmpeg이동할 경우 ffmpeg처럼 어딘가에 /usr/bin하거나 추가하는 경우 PATH=~/Documents/Scripts:$PATH~/.bash_profile.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.