ffmpeg - 다시 인코딩하지 않고 한 번에 여러 비디오를 자르시겠습니까?

ffmpeg - 다시 인코딩하지 않고 한 번에 여러 비디오를 자르시겠습니까?

모든 mp4 파일의 처음 10분 부분을 잘라내야 하는 폴더가 있습니다. 다음과 같이 개인별로 다듬어 사용하고 있는데, 하나씩 하다보니 시간이 너무 오래 걸리네요.

ffmpeg -i "untrimmed.mp4" -ss 00:10:00 -c copy "trimmmed.mp4"

여러 비디오 파일을 한 번에 다듬는 쉬운 방법이 있습니까?

편집 - 이후 powershell에서 해결 방법을 찾았습니다. 예를 들어 11분을 사용했습니다.

Get-ChildItem -Filter *.mp4 | ForEach -Process { ffmpeg -i $_ -ss 00:11:00 -c copy ($_.BaseName + '_Trimmed.mp4')}

답변1

이 개념을 일괄 처리라고 하며 ffmpeg 자체에는 이 기능이 부족하므로 방법은 시스템에 따라 다릅니다.

ForFilesWindows에서는 패턴(예: *.mp4)과 일치하는 파일을 찾는 데 사용하고 /C결과에 대해 ffmpeg 명령을 실행하는 스위치를 사용할 수 있습니다 .

Linux 및 MacOS 명령줄에서는 find스위치와 동일한 작업을 수행합니다 -exec.

두 경우 모두 루프를 사용할 수 있지만 이것이 원하는 전부라면 작업이 너무 복잡해집니다.

Linux 예의 경우 이 명령은 현재 폴더에서 패턴 .과 일치하는 이름을 가진 파일을 검색한 *.mp4다음 각 결과에 대해 ffmpeg를 실행하여 {}예를 들어 출력합니다 untrimmed.mp4_trim.mp4(작업할 수 있습니까?). ;마지막에 탈출하면 -exec스위치가 닫힙니다.

find . -iname '*.mp4' -exec ffmpeg -i '{}' -ss 00:10:00 -c copy '{}_trim.mp4' \;

관련 정보