-af 및 -filter_complex 필터를 결합한 ffmpeg(왼쪽 트랙을 사용하여 모노 전용 트랙을 생성 *및* 오디오 표준화)

-af 및 -filter_complex 필터를 결합한 ffmpeg(왼쪽 트랙을 사용하여 모노 전용 트랙을 생성 *및* 오디오 표준화)

FFV1 및 FLAC로 변환할 비디오 테이프의 무손실 비디오 캡처가 있습니다. 일부 테이프의 경우 이 과정에서 오디오도 모노로 변환해야 합니다(원래 녹음이 모노이므로 왼쪽 트랙만 존재하지만 캡처 장치는 항상 스테레오로 녹음함).그리고캠코더가 매우 조용하고 캡처 장치의 오디오 레벨을 조정할 방법이 없었기 때문에 볼륨을 균일하게 조정하는 방식(압축이나 절대적으로 필요한 것 이상으로 사운드를 왜곡하는 다른 방법 없음)으로 오디오를 정규화해야 합니다. .

지금까지 나는 다음 두 가지 필터가 필요하다고 결정했습니다.

왼쪽 트랙만 있는 모노 녹음을 생성하려면 오른쪽 채널을 제거하세요.

-filter_complex "[0:a]channelsplit=channel_layout=stereo:channels=FL[left]" -map "[left]"

오디오 표준화:

-af loudnorm=I=-16:LRA=11:TP=-1.5

그러나 이 두 필터를 결합하는 방법을 결정할 수 없습니다. 난 노력 했어:

ffmpeg -i "input.avi" -filter_complex "[0:a]channelsplit=channel_layout=stereo:channels=FL[left]" -map "[left]", loudnorm=I=-16:LRA=11:TP=-1.5" -c:v ffv1 -level 3 -slicecrc 1 -c:a flac -compression_level 12 "output.mkv"

결과는 다음과 같습니다.

loudnorm=I=-16:LRA=11:TP=-1.5 -c:v ffv1 -level 3 -slicecrc 1 -c:a flac -compression_level 12 output.mkv: Invalid argument

이 두 필터를 어떻게 결합합니까?

답변1

,단순 필터(단일 입력과 출력)를 연결하는 경우 연결된 필터 사이에 쉼표( )를 사용하면 됩니다 .

쉼표 구문은 첫 번째 필터의 출력이 다음 필터의 입력임을 의미합니다."[0:a]channelsplit=channel_layout=stereo:channels=FL,loudnorm=I=-16:LRA=11:TP=-1.5[left]"

또한 를 사용하여 비디오를 매핑해야 합니다 -map 0:v.


전체 명령줄:

ffmpeg -i input.avi -filter_complex "[0:a]channelsplit=channel_layout=stereo:channels=FL,loudnorm=I=-16:LRA=11:TP=-1.5[left]" -map "[left]" -map 0:v -c:v ffv1 -coder 1 -context 1 -g 1 -slices 24 -slicecrc 1 -c:a flac -compression_level 12 output.mkv

참고: 내 대답은 오디오 필터 및 매개 변수의 정확성이 아니라 구문의 정확성을 나타냅니다(오디오에 대한 나의 지식은 매우 제한적입니다).

관련 정보