FFMPEG를 사용하여 GSM6.10에서 두 개의 오디오 채널 (스테레오)을 하나의 (모노)로 병합


27

FFMPEG를 사용하여 GSM6.10 오디오 파일에서 스테레오 오디오를 모노로 병합 할 수 있는지 알고 싶습니다. 그렇다면,이를 달성하기위한 명령을 제공하십시오.
그렇지 않으면 FFMPEG를 사용하여 GSM6.10을 WAV PCM으로 변환 할 수 있습니까? 그런 다음 WAV PCM의 채널을 병합 할 수 있습니다.

이 작업을 수행 할 수있는 다른 무료 도구가 있으면 시도해 볼 수도 있습니다.

답변:


42

ffmpeg의 지원되는 파일에서 스테레오에서 모노로 "믹스 다운"하는 방법은 다음과 같습니다.

ffmpeg -i file.ext -ac 1 file_mono.ext

"-ac 1"비트는 ffmpeg에게 단 하나의 오디오 채널, 즉 모노를 출력하도록 지시합니다. 기본적으로이 작업은 파일 형식을 유지하지만 비트 전송률을 ffmpeg 기본값 인 64kbs로 되돌립니다. 더 높은 비트 전송률을 원하면 다음을 수행 할 수 있습니다.

ffmpeg -i file.ext -ac 1 -ab 192k file_mono.ext

... 원하는 비트 전송률로 192k를 대체합니다.

제대로 작동하려면 ffmpeg 설치시 특정 GSM 코덱을 지원해야합니다. 나는 GSM 인코딩 된 일부 오디오가 libgsm을 통해 ffmpeg에서 지원된다는 것을 알고 있지만 GSM 파일을 직접 다루지 않았습니다. 그러나 다른 유형의 파일 (MP3)을 장애없이 모노로 성공적으로 변환했습니다.


3
이것이 실제로 믹싱입니까, 아니면 채널이 떨어 졌습니까?
Jonny

'팬'필터 문서에서 : "ffmpeg는 매우 구체적인 요구가없는 한 선호되는 기본 다운 믹스 (및 업 믹스) 시스템을 통합합니다 ("-ac "옵션 참조)."
모니카 해밍 중지

입력 및 출력 파일은 모두 오디오 파일이어야합니다. 입력은 비디오가 될 수 없습니다.
Kevin

1
오디오 채널 조작 "단일 스테레오 스트림을 모노 스트림으로 혼합합니다. 스테레오 스트림의 두 채널 모두 스트림으로 다운 믹스됩니다."ffmpeg -i stereo.flac -ac 1 mono.flac
Joel Purra

@Kevin-입력은 (-vn의 유무에 관계없이) 방금 확인한 비디오 파일 일 수 있습니다
Berry Tsakala

7

위의 답변은 여전히 ​​형식 간 변환을 원하지만 시간이 오래 걸리는 긴 파일의 경우 작동합니다. 또는 다시 변환하고 싶지 않아 품질이 저하되어 복사를 스트리밍하고 싶을 수도 있습니다. -codec : a 및 -ac 1을 동시에 사용하면 작동하지 않지만 ffmpeg 팬 필터 설명서에 따르면 특정 조건이 충족되는 경우 (채널 레벨을 조정하거나 두 채널을 하나로 혼합하지 않는 등) 이 사례를 인식하고 '순수한 채널 매핑이 감지되었습니다'라고보고하고 훨씬 빠른 스트림 복사를 수행합니다.

예를 들어, 왼쪽 채널 만 사용하고 비디오 스트림을 복사하여 스테레오 파일을 모노로 만들려면 다음과 같이하십시오.

ffmpeg -i infile.ext -codec:v copy -af pan="mono: c0=FL" outfile.ext

0

나는 그것이 sox로 가능하다는 것을 알고있다 .... 나는 채널 조작을 위해 sox를 ​​사용하고, 온화한 편집을 위해 kdenlive와 대담성을, remuxing을 위해 ffmpeg를 사용한다. 과거에 나를 위해 무엇이 잘되었는지 알려 주면됩니다.


0

비디오를 보존하기 위해 위의 두 가지 답변을 조합하여 사용했습니다.

ffmpeg -i infile -codec:v copy -ac 1 -ab 192k outfile

그것은 나를 위해 충분한 해결책을 만들었습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.