오디오 파일을 지정된 길이의 청크로 분할

오디오 파일을 지정된 길이의 청크로 분할

여러 개의 긴 오디오 파일(각각 80분, m4a)이 있는데 5분 또는 10분 단위로 분할하고 싶습니다.

확장된 일시정지, 톤 등에서 오디오 파일을 분할하는 것에 대한 많은 질문이 있지만 이 간단한 작업에 관한 질문을 찾을 수 없는 것 같습니다. 누구든지 이 작업을 수행하는 간단한 방법을 알고 있습니까?

물론 자동이고 명령줄을 사용하는 것도 괜찮습니다. 선호하는 경우도 있습니다.

미리 감사드립니다!

답변1

최근 ffmpeg를 사용하면(정적 빌드 다운로드여기에서):

ffmpeg -i in.m4a -f segment -segment_time 300 -c copy out%03d.m4a

이는 세그먼트 다중화기를 사용하고 비트스트림을 복사합니다. 파일에 오디오 및 비디오 스트림이 있는 경우 를 사용하여 비디오 스트림을 비활성화할 수 있습니다 -vn.


여기에 단 하나의 라이너가 있습니다. 필요한 것은 다음과 같습니다.루비그리고FFmpeg설치됨:

ruby -e '(0..4500).step(300) { |x| system "ffmpeg -ss #{x} -i in.m4a -c copy -t 300 out-#{x}.m4a"}'

동일한 폴더에서 실행하기만 하면 in.m4a됩니다. 오디오 비트스트림을 복사하므로 이를 실행하는 데는 몇 초도 채 걸리지 않습니다.

설명하기:

  • 4800초는 오디오 파일의 길이(80분 × 60초)이므로 마지막 분할은 4500(4800 - 300초)입니다.
  • 0에서 4500까지 이동하고 300초마다(5분 × 60초) 분할합니다.
  • FFmpeg는 다음에서 지정한 시간에 시작됩니다.-ss
  • 그리고 지정된 시간 동안 복사됩니다.-t
  • 이라는 여러 출력 파일을 작성합니다 out-<x>.mp4. 여기서 <x>시작 시간은 초 단위입니다.

답변2

나는 이것에 대한 해결책을 직접 찾고있었습니다. 내가 찾은 가장 쉬운 방법은 다음을 통해입니다.MP4박스:

mp4box -split 300 infile.m4a

여기서 "300"은 시간(초)입니다. MP4Box는 번호가 매겨진 출력 파일을 자동으로 작성합니다.

(큰 GPAC 애플리케이션 전체를 설치할 필요는 없습니다. 작동을 위해 아카이브에서 추출할 수 있는 파일은 다음과 같습니다: js.dll; libeay32.dll; libgpac.dll; MP4Box.exe; ssleay32.dll)

답변3

이 질문을 받은 지 꽤 시간이 지났지만 Ruby와 ffmpeg를 가지고 장난을 치고 난 후 Windows 내에서 이 작업을 수행하는 더 쉬운 방법이 있어야 한다고 결정했고 거기에 있다는 것을 알았습니다.

대담 다운로드 및 설치

찾을 수 있는 곳에 텍스트 파일을 만들고 다음 문자열을 여기에 붙여넣습니다. (300초 간격, 즉 5분, 10분은 600 간격 등...)

0       300  
300     600  
600     900  
900     1200  
1200    1500  
1500    1800  
1800    2100  
2100    2400  
2400    2700  
2700    3000  
3000    3300  
3300    3600  
3600    3900  
3900    4200  
4200    4500  
4500    4800  
4800    5100  
5100    5400  
5400    5700  
5700    6000  
6000    6300  
6300    6600  
6600    6900  
6900    7200  
7200    7500  
7500    7800  
7800    8100  
8100    8400  
8400    8700  
8700    9000  
9000    9300  
9300    9600  
9600    9900  
9900    10200  
10200   10500  
10500   10800  
10800   11100  
11100   11400  
11400   11700  
11700   12000  
12000   12300  
12300   12600  
12600   12900  
12900   13200  
13200   13500  
13500   13800  
13800   14100  
14100   14400  
14400   14700  
14700   15000  

간격의 수가 오디오 파일의 총 길이보다 큰지 확인하세요. 저는 3시간 이상 실행되는 이 파일을 만들었습니다. 제 필요에 비해 충분히 길고 필요에 맞게 더 추가할 수 있습니다.

오디오 파일을 Audacity로 가져오고 균형 조정 및 원하는 기타 편집 작업을 수행한 다음 파일>레이블>라벨 가져오기를 클릭합니다.

텍스트 파일을 선택한 다음 라벨 트랙과 오디오 트랙을 동시에 선택하고 파일>다중 내보내기를 클릭하세요.

내보낼 파일 형식을 변경하고 설정을 조정한 다음 대상 폴더를 선택합니다.

나는 항상 번호 매기기 패턴을 파일 이름 접두사 이후 번호 매기기로 변경하고 상자에 원하는 파일 이름을 입력하면 프로그램이 번호를 추가하고 내보내기를 누르면 비올라를 클릭합니다!

답변4

MP4Box는 완벽하게 작동합니다. 터미널에서 작업을 완료할 수 있다는 것은 언제나 멋진 일입니다. 더 빠른 방법.

다운로드 페이지는 다음과 같습니다. https://gpac.wp.imt.fr/downloads/gpac-nightly-builds/ 프로그램을 설치하면 더 이상 필요하지 않은 터미널에서 작업할 수 있습니다.

테스트를 거쳤으며 dfkt 명령은 완벽하게 작동한다고 말했습니다: mp4box -split 59 infile.m4a

제 경우에는 Google 음성을 텍스트로 쉽게 사용할 수 있도록 m4a <1min으로 분할하고 싶었습니다.

Audacity는 괜찮게 작동하지만 내 경우에는 항상 그래픽 UI보다 명령을 사용한 작업을 선호합니다. mp4box를 위한 최고의 솔루션입니다. 나는 새로운 정보를 제공하지 않습니다. 크레딧은 dfkt입니다(감사합니다). 나는 그것이 훌륭한 솔루션이라는 것을 검증하고 있습니다.

관련 정보