ffmpeg를 사용하여 오디오를 여러 형식으로 일괄 변환(디코딩)

ffmpeg를 사용하여 오디오를 여러 형식으로 일괄 변환(디코딩)

CD 품질(16비트 44100Hz) 웨이브 파일이 포함된 디렉터리가 있습니다.

ffmpeg를 사용하여 FLAC, OGG, MP3 등의 다른 형식으로 일괄 디코딩하려면 어떻게 해야 합니까?


고쳐 쓰다:@StephenHarris가 제안한 단계별 명령은 다음과 같습니다.

ffmpeg -i input.wav output.ogg
ffmpeg -i input.wav output.mp3
ffmpeg -i input.wav output.flac

답변1

ffmpeg다양한 출력 형식을 허용합니다. 입력 file.format을 설정한 -i다음 출력 file.format을 설정합니다.ffmpeg -i input.wav output.ogg output.mp3 output.flac


일괄 변환:

간단한 하나의 라이너로 각 형식을별도의 폴더:

mkdir mp3 ogg flac; for i in *.wav; do ffmpeg -i "$i" -b:a 320000 "./mp3/${i%.*}.mp3" -b:a 320000 "./ogg/${i%.*}.ogg" "./flac/${i%.*}.flac"; done

모든 것을 폴더로 디코딩합니다.

for i in *.wav; do ffmpeg -i "$i" -b:a 320000 "${i%.*}.mp3" -b:a 320000 "${i%.*}.ogg" "${i%.*}.flac"; done

-b:a 320000비트 전송률을 설정 및 디코딩 mp3하고 ogg조정할 수 있습니다(비트 전송률은 비트/초 단위로 측정되므로 320kbit/s동일함 320000).


감사해요https://stackoverflow.com/a/33766147~을 위한매개변수 확장

답변2

GNU Parallel을 사용하면 다음을 실행할 수 있습니다.

parallel ffmpeg -i {1} {1.}.{2} ::: *.wav ::: ogg mp3 flac

{1} = replacement string for first input source
{1.} = replacement string for first input source with extension removed
{2} = replacement string for second input source
::: *.wav = input source 1
::: ogg mp3 flac = input source 2

이렇게 하면 모든 코어가 사용됩니다.

관련 정보