Skip to menu

본문시작



질문하기 전에 검색하세요(Search before asking a question)


?

Shortcut

PrevPrev Article

NextNext Article

Larger Font Smaller Font Up Down Go comment Print Attachment
?

Shortcut

PrevPrev Article

NextNext Article

Larger Font Smaller Font Up Down Go comment Print Attachment

동영상 또는 오디오 파일의 오디오에서 원하는 채널만 선택해서 인코딩하는 법을 소개합니다.

FFmpeg의 -map_channel 옵션을 이용해 이런 작업을 할 수 있지만 FFmpeg 도움말 문서에 소개된 옵션 설명이 좀 어려울 것 같아 샤나인코더로 이를 어떻게 적용할 수 있는지 예를 들어 설명하겠습니다.

 

[예제 영상]

비디오 스트림 2개(메인 비디오와 커버 이미지)

오디오 스트림 1개(스테레오 = 2채널)

 

스테레오 오디오에서 왼쪽 채널(L)만 뽑아내서 모노 오디오로 인코딩하기. (비디오는 메인 비디오 원본 그대로)

 

1. 스트림 지정자와 채널 ID 알아내기

스트림 지정자란 동영상 파일 안의 스트림들(비디오 스트림, 오디오 스트림, 자막 스트림 등)이 갖고 있는 고유 인식 번호라고 생각하시면 됩니다. 각 스트림이 파일 안에 나열된 순서에 따라 0부터 시작한 번호를 갖게 됩니다.

 

이와 비슷하게, 채널 ID는 하나의 오디오 스트림 안에 채널들(좌, 우, 중앙 등)이 갖고 있는 고유 인식 번호입니다. 이것 역시 나열되는 순서에 따라 0부터 시작한 번호를 갖게 됩니다.

 

이 정보를 알아야 하는 이유는 -map_channel 옵션을 사용하려면 반드시 이 정보들을 입력해야 하기 때문입니다.

 

1) 스트림 지정자

목록에서 파일을 오른쪽 클릭 ⇒ [비디오/오디오 스트림 선택]으로 원하는 채널이 있는 오디오 스트림의 지정자를 알아냅니다.

 

Shana_audio-channel-selection_1_get-audio-stream-specifier_1_20200521.jpg

Shana_audio-channel-selection_2_get-audio-stream-specifier_2_20200521.jpg

 

위의 스크린샷에서 보듯 원하는 오디오 스트림의 스트림 지정자는 0:1이 됩니다. 이는 해당 오디오 스트림이 첫 번째(0) input 동영상의 두 번째(1) 스트림이라는 뜻입니다. (첫 번째 스트림은 메인 비디오)

 

2) 채널 ID

목록에서 파일을 오른쪽 클릭 ⇒ [파일 정보] 창을 띄운 후 오디오 부분의 Channel Layout에서 왼쪽(L) 채널의 위치를 찾아냅니다.

 

Shana_audio-channel-selection_3_get-audio-channel-id_1_20200521.jpg

Shana_audio-channel-selection_4_get-audio-channel-id_2_20200521.jpg

 

스크린샷에서 볼 수 있듯 우리가 원하는 왼쪽(L) 채널은 ID가 0이라는 것을 알 수 있습니다.

 

2. 빠른 설정

빠른 설정 창을 띄워 다음과 같이 설정합니다.

 

Shana_audio-channel-selection_5_F6_setting_20200521.jpg

 

주의할 점은 아래와 같습니다.

 

  • 파일 형식(컨테이너 양식)은 가급적 원본과 동일하게 합니다. 만일 코덱을 다르게 선택할 경우 범용성이 높은 mkv를 선택하실 것을 추천합니다.
  • 비디오 재인코딩을 원하지 않는다면 스트림 복사, 재인코딩을 원한다면 적절한 코덱을 선택하시면 됩니다.
  • 오디오스트림 복사가 아닌 재인코딩이 필요하므로 코덱을 꼭 선택하셔야 합니다. (스트림 복사를 선택하면 채널 선택이 불가능해짐.) 가급적 원본과 같은 코덱으로 선택하십시오.
  • 오디오 비트레이트는 원본 비트레이트를 전체 채널 수로 나눈 뒤 원하는 채널 수를 곱해서 나온 값을 적용하실 것을 권장합니다. (보다 높거나 낮은 값도 상관없으며, 코덱이 다를 경우 본인이 원하는 비트레이트를 선택하시면 됩니다.)
  • 채널은 반드시 뽑아낼 채널(들)의 수로 선택하시기 바랍니다.

 

3. 매개변수 창에서 -map_channel 적용

F8을 눌러 매개변수 창을 띄운 후 1 단계에서 알아낸 스트림 지정자 0:1과 채널 ID 0을 -map_channel 옵션에 적용해 인코딩 설정 부분에 추가해 줍니다.

이때 콜론(:)을 마침표(.)로 바꾸고 스트림 지정자와 채널 ID 역시 마침표(.)로 연결합니다.

 

Shana_audio-channel-selection_6_F8_setting_20200521.jpg

 

즉, 이 예제의 경우

 -map_channel 0.1.0

을 추가 입력합니다. (앞에 한 칸 띄기 주의)

 

 

확인 후 인코딩을 진행하면 됩니다.

 

■ 여러 개의 채널을 선택할 경우

여러 개의 채널을 선택할 경우 원하는 채널들의 ID를 알아낸 뒤 [빠른 설정]이나 (빠른 설정에 없는 채널 수라면) [매개변수 창] 인코딩 설정 부분에서 원하는 채널 수를 맞춰주고, 매개변수 창 인코딩 설정 부분에서 -map_channel을 원하는 채널 수만큼 적용하면 됩니다.

 

예를 들어 5.1 채널의 단일 flac 오디오를 가진 mkv 파일에서 채널 레이아웃(channel layout)이 아래와 같고

 

Shana_audio-channel-selection_7_multi-channel-selection_20200521.jpg

 

왼쪽(L), 오른쪽(R), 가운데(C) 채널만 뽑아 3채널(=2.1채널) flac 오디오를 구성하고 싶다면 [매개변수 창]에서 채널 수와 -map_channel을 아래와 같이 설정하면 됩니다.

 -f mkv

 -c:v copy

 -c:a flac -ac 3 -map_channel 0.1.0 -map_channel 0.1.1 -map_channel 0.1.2

 -sn -map_metadata -1 -map_chapters -1

[빠른 설정]에 원하는 채널 수(3) 선택값이 없으므로 채널 수는 -ac 옵션으로 직접 설정합니다.

(flac은 비손실 코덱이므로 비트레이트 설정은 불가능합니다.)

오디오 스트림 지정자는 0:1이고, L, R, C는 채널 레이아웃의 배열 순서에 따라 채널 ID가 각각 0, 1, 2가 되므로 0.1.0, 0.1.1, 0.1.2-map_channel 옵션에 반복해서 적용해주면 됩니다.

(※ 이때 원본의 레이아웃과는 상관없이 인코딩된 영상의 오디오는 flac의 3채널 레이아웃에 적합한 2.1 레이아웃(L R LFE)을 갖게 됩니다.)

 

121.gif 주의 서로 다른 오디오 스트림에서 채널을 뽑아 하나의 오디오 스트림으로 모으는 것은 이 방법으로는 불가능합니다. 이 경우엔 FFmpeg 도움말 문서에 소개된 대로 amerge 필터를 사용하시기 바랍니다.

 

Facebook Twitter Pinterest Kakao
  • ?
    dklw 2020.07.20 00:21

    음질을 최대한 좋게 인코딩하고 싶어서 그런데요

     

    원본 비트레이트가 384인데(6채널 5.1)

    모노채널로 추출하면서

    오디오 비트레이트를 384 그대로 해도 될까요?

    아니면 320 정도로요

     

    오디오 비트레이트는 원본 비트레이트를 전체 채널 수로 나눈 뒤 원하는 채널 수를 곱해서 나온 값을 적용하실 것을 권장합니다.

    >> 이부분때문에 마음에 걸려서요.

     

    보다 높거나 낮은 값도 상관없다고 하시긴 했지만

    '원본 비트레이트를 전체 채널 수로 나눈 뒤 원하는 채널 수를 곱해서 나온 값'보다 너무 높은 수치로 인코딩하면

    음질은 좋아지지 않으면서 용량만 커질까봐요

    384 이상으로만 인코딩하지 않으면 그런 부분은 걱정안해도 될까요?

     

    요약) 6채널에서 모노채널로 인코딩할때 오디오 비트레이트를 몇을 줘야 가장 손실이 적고 음질이 좋을까요

    추출할 채널을 원본 그대로 인코딩하는 법은 없을까요? 

    오디오스트림복사를 못하니ㅜㅜ

  • ?
    dklw 2020.07.20 13:33
    오디오 코덱같은 경우 가급적 원본과 같은 코덱으로 선택하라고 하셨는데
    eac3같은 코덱은 샤나인코더에 없더라고요
    이런 경우에는 ac3으로 하는게 손실이 가장 적을까요?
    아니면 AAC로 하는게 음질이 더 좋을까요?

List of Articles
No. Subject Author Date Views Votes
Notice 사용 팁 게시판 이용 안내 Rina 2020.03.18 2149 0
56 기초 용어 정리 (샤나인코더 기준) file JKyle 2020.06.01 3382 0
» 오디오 채널 중 원하는 부분만 선택해서 인코딩하기 2 file JKyle 2020.05.22 1988 0
54 다중 오디오 동영상 인코딩하기 2 file JKyle 2020.03.17 3088 2
53 HEVC 코덱 설정->튜닝 옵션별 각 화질 비교 3 file 바봉이 2020.02.05 8100 0
52 H264(AMF), HEVC(AMF) 옵션 도움말 1 JKyle 2020.02.03 4006 0
51 H264(NVENC), HEVC(NVENC) 옵션 도움말 1 JKyle 2020.02.03 3666 0
50 필터 적용 사례: 로고/워터마크 제거 1 JKyle 2020.01.31 3153 1
49 HDR 영상과 10비트 영상 JKyle 2020.01.29 2455 1
48 색공간과 Bit Depth 5 JKyle 2020.01.28 1060 1
47 샤나인코더 영상 사이즈 변경 옵션을 통한 FFmpeg 필터의 기초 이해 1 JKyle 2020.01.27 2879 1
46 샤나인코더의 H264 설정과 FFmpeg의 x264 설정 이해 8 JKyle 2020.01.27 6054 2
45 FFmpeg 명령어 구조와 샤나인코더 작동 방식 이해 JKyle 2020.01.26 1375 1
44 [인포그래픽] 인코딩 작업 흐름과 자막 작업 1 JKyle 2020.01.25 1030 0
43 [인포그래픽] 인코딩 작업의 흐름도 1 JKyle 2020.01.25 1838 0
42 [필독] 비디오 코덱과 기본 용어 (H.264, HEVC) 1 JKyle 2020.01.25 5172 2
41 샤나인코더로 움짤 만들기 file JKyle 2019.09.08 2782 0
40 기록 보기에서 Consider increasing the value for the 'analyzeduration' and 'probesize' options 내용이 있을 때 해결법 4 Rina 2019.09.04 1353 1
39 SRT SMI 자막 인코딩 이용시 한글 깨짐 자막변환 방법 file 나그네3 2019.03.14 7066 1
38 webm VP9 멀티스레드 활성화하는 방법, 속도 향상시키는 방법 마소리스 2018.09.25 3709 0
Board Pagination Prev 1 2 3 Next
/ 3