오디오 파일을 연결하고 코드 변환하려면 다음과 같이 수행 할 작업입니다.
- 입력 오디오 파일을 WAV / PCM 데이터로 디코딩하고,
- WAV 연결,
- 오디오 코덱 파일을 출력하기 위해 WAV를 인코딩합니다.
이 단계에서의 처리는 WAV 데이터에 대한 연결을 수행합니다. WAV 데이터는 가장 쉽게 처리 할 수 있고 손실이 가장 적은 항목입니다. 그리고 어쨌든 코드 변환을 원할 경우, 프로세스의 어딘가에서 WAV로 디코딩해야합니다. 뿐만 아니라 그것을 활용할 수 있습니다.
다음은 내가 권장하는 단계입니다. 우리는 ffmpeg 디코딩을 위해, sox 연결을 위해, 그리고 oggenc 인코딩 용. 어떤 단계를 위해 다른 도구를 사용할 수 있습니다. mencoder 그리고 다른 것들은 디코더로 잘 작동하며, Ogg를 인코딩하는 모든 도구는 인코더로 사용할 수 있습니다. 비록 당신이 더 나은 도구를 찾기 란 어렵지 만, sox 연결을 위해.
find *.wma -exec ffmpeg -i {} outfile.{}.wav \;
(이 실행 ffmpeg -i infile.wma outfile.infile.wma 현재 디렉토리의 각 WMA 파일에 있음)
sox outfile* all.wav
(노트 outfile 우리가 단계 1에서 출력 파일을 준 것과 동일한 접두어입니다.
oggenc all.wav all.ogg 여기에 약간의 품질 설정이 필요할 것입니다. 그러나 이것은 상당한 품질 기본값을 제공합니다. 나는 내가 좋아하는 결과를 얻지 못했다. ffmpeg,하지만 당신은 그것을 선호 할 수 있습니다, 그래서 아래 ffmpeg 예제를 포함 시켰습니다.
참고로 sox 명령은 모든 WAV 파일이 같은 형식이 아니라면 제대로 작동하지 않습니다. 예를 들어 22kHz와 44.1kHz 중 일부는 sox 커맨드 라인 스위치를 통해, 그리고 출력 형식을 지정하십시오. sox 연결 단계. 당신 할 수 있었다 아마도 1 단계에서 원시 PCM 형식으로 출력하고 cat 2 단계에서 동일한 형식으로되어있는 경우에만 작동하며 예상되는 형식과 관련하여 디코더와 인코더 모두에 대해 매우 구체적이어야합니다.
ffmpeg로 인코딩하기 : 그물 주변의 많은 게시물은 ffmpeg의 내장 Vorbis 인코더가 그리 좋지 않다고 불평합니다. 사용중인 버전이 libvorbis 지원으로 빌드 된 경우 -acodec libvorbis 대신에. 샘플 명령 줄 :
ffmpeg -i all.wav -acodec libvorbis -ac 2 -ab 128k all.ogg