출력을 LAME으로 파이프할 수 있도록 AAC 파일을 WAV로 변환하려고 합니다. 나는 구체적으로 다음과 같은 일을 하려고 합니다.
find . -maxdepth 1 -type f -iname "*.m4a" | sort | while read file; do
ffmpeg -i "$file" -acodec pcm_s16le -ac 2 - | lame -b 256 -m s -q 0 - output.mp3
done
다음 오류가 발생합니다.
Unable to find a suitable output format for 'pipe:'
Warning: unsupported audio format
-acodec
출력을 지정하는 방법이 있나요 ? 이제 맨페이지를 읽어보세요.
FFMPEG에서 MP3로 변환할 수 있다는 것을 알고 있지만 그렇게 하고 싶지는 않습니다. ;)
답변1
님의 팁에 감사드립니다.미아티의 답변, 나는 다음을 생각했습니다.
ffmpeg -i file.m4a -f wav -acodec pcm_s16le -ac 2 - | \
lame -m s -b 320 -q 0 --replaygain-accurate - file.mp3
stdout으로 출력할 때 형식을 설정해야 합니다.
답변2
답변3
달리면 어떻게 되나요?
ffmpeg -i file.m4a -acodec pcm_s16le -ac 2 file.wav
그것은 나에게 잘 작동합니다.
문제가 발생하면 이전 오류가 의미가 있으며 아마도 aac 디코딩 또는 wav 인코딩을 지원하지 않을 것입니다. 그러면 파이프는 어떤 형식으로 포맷해야 할지 모르기 때문에 실패합니다.
이 시점에서 가능한 해결책은 지원되는 형식으로 ffmpeg를 컴파일하는 것입니다. (나는 그것이 무료가 아니라고 믿기 때문에 aac를 추측하고 있습니다)
이것에 따라 -f를 사용해보십시오페이지, 출력이 stdout(또는 -)으로 설정된 경우 컨테이너를 수동으로 포맷해야 합니다. 게시물에는 matroska(또는 .mkv 컨테이너)를 사용하라고 나와 있습니다.
ffmpeg -i file.m4a -acodec pcm_s16le -f matroska -ac 2 -