Automator를 사용하여 FFmpeg 명령 수행(1개의 .MP4에 2개의 .SRT)

Automator를 사용하여 FFmpeg 명령 수행(1개의 .MP4에 2개의 .SRT)

아래에는 터미널에서 실행하는 데 익숙한 스크립트가 있으며 완벽하게 작동합니다. 내 사용자 디렉토리에 하나의 .mp4파일과 두 개의 파일 만 있으면 두 자막이 모두 새 파일에 자동으로 입력되고 코덱도 HVC1로 변경됩니다..srt.mp4

.srt하지만 저는 Finder에서 3개의 파일(2개와 1개 ) 을 선택하고 .mp4해당 파일 이름, 경로 및 확장자를 가져와 이를 서비스로 실행하고 싶습니다. 어떻게 그렇게 할 수 있습니까? 인터넷에서 수많은 옵션을 확인했지만 어떻게 해야 할지 모르겠습니다. 제발, 누군가 나를 도와줄 수 있나요?

ffmpeg -i movie-1.mp4 -i movie-2.srt -i movie-3.srt \
-map 0:v -map 0:a -map 1 -map 2 \
-c:v copy  -tag:v hvc1 -c:a copy -c:s mov_text \
-metadata:s:s:0 language=por -metadata:s:s:1 language=eng \
/Users/allanmentzingen/Desktop/output.mp4

답변1

명령을 "셸 스크립트 실행" 작업에 넣고 "입력 전달: 인수로"를 선택한 다음 고정 인수 대신 해당 가변 인수를 사용합니다.

워크플로우 스크린샷

" $1" 등의 비트는 첫 번째, 두 번째, 세 번째 스크립트에 대한 인수입니다.

Automator "문서" 유형 중에서 빠른 작업, 폴더 작업 또는 응용 프로그램을 순서대로 사용하는 것이 좋습니다.

  1. 빠른 동작을 사용하려면 세 개의 파일을 선택하고 그룹을 마우스 오른쪽 버튼으로 클릭한 다음 빠른 동작 플라이아웃 메뉴에서 Automator 작업 흐름을 선택해야 합니다.

  2. 폴더 작업을 사용하면 이러한 파일을 넣을 특정 폴더에 워크플로를 바인딩할 수 있습니다.

  3. 애플리케이션은 물방울 역할을 합니다.애플릿드래그 앤 드롭하는 파일로 실행됩니다. 세 개의 파일을 앱 아이콘으로 드래그하여 해당 파일을 입력으로 사용하여 실행하세요.

이 작업 흐름이 파일 인수 순서에 민감한지는 모르겠습니다. Finder에서 파일을 선택하는 순서는 -i옵션 의 순서에 영향을 주지만 이 경우에는 신경 쓰지 ffmpeg않을 것 같습니다 . ffmpeg내가 확실하지 않은 유일한 부분은 .mp4출력 파일 이름의 " "가 ffmpeg첫 번째 인수에서 출력을 가져오는 대신 MP4 형식으로 출력을 작성하도록 지시하기에 충분한지 여부입니다 -i. 그렇다면 -f mp4명령 초기에 추가하면 됩니다.

관련 정보