사용법

목차

  1. 창
    1. 홈
    2. 코덱
    3. 오디오 장치
    4. 진단
    5. 개발자
    6. 어댑터
    7. 설정
    8. 첫 실행 설정
  2. 트레이와 플라이아웃
  3. Windows 시작 시 실행
  4. CLI 모드
    1. 기본
    2. 코덱 선택
    3. 음질
    4. ABR (적응형 비트레이트)
    5. 장치 검색
    6. 전체 옵션
  5. 캡처 모드
    1. 응용 프로그램 모드
    2. 볼륨
    3. 헤드폰 버튼
    4. 시스템 전체 효과 앱
      1. BlueCaster에 자체 가상 출력 장치가 없는 이유
  6. 코덱 비교
  7. aptX 계열과 aptX Adaptive
    1. aptX Adaptive
    2. aptX Adaptive에서 aptX로의 “대체”는 없습니다
    3. 명시적으로 선택한 코덱을 제공하지 않는 경우
    4. 헤드폰이 다른 장치에 연결되어 있어 코덱이 없는 경우
    5. 샘플링 속도
    6. 헤드폰이 제공하는 코덱 확인
  8. 최대 미디어 패킷 크기 (장치별)
  9. 미디어 스트림 검증 (bluecaster_decode)
  10. 연결 품질과 AFH
    1. 전파 탭
    2. 혼합
  11. 지연
  12. 피어 수신기 테스트 (tools/linux_sink)
  13. 서비스와 페어링 키
  14. LE 오디오
  15. 업데이트
  16. 문제 해결
    1. 창에 코어가 실행되고 있지 않다고 표시됨
    2. 드라이버 할당 또는 복원에 실패함
    3. Bluetooth 어댑터가 응답하지 않음
    4. 업데이트 후 페어링 문제
    5. 연결 시간 초과

창

시작 메뉴에서 BlueCaster(또는 bluecaster.exe)를 실행합니다. 왼쪽 메뉴에는 아래 화면이 있으며(홈, 코덱, 오디오 장치, 어댑터, 진단, 설정, 정보, 그리고 개발자 모드에서는 개발자와, 그곳에서 켠 경우 볼륨 믹서), 창이 좁으면 아이콘만 표시됩니다. 창은 상주 프로그램 bluecaster-core.exe가 하는 일을 표시할 뿐이므로, 창을 닫아도 스트리밍은 멈추지 않습니다(트레이와 플라이아웃 참조).

홈

  • 저장된 오디오 장치마다 카드가 나란히 표시됩니다. 상태, 배터리, 그리고 연결된 장치에는 사용 중인 코덱(이름 대신 목록. 아래 참조)과 비트레이트가 표시됩니다. 선택한 코덱과 다른 코덱이 사용되면 코덱 줄의 이름 옆에 그 이유가 몇 초 동안 표시되고(예: aptX Adaptive (Opus 미지원), 또는 사용 중), 그 후에는 경고 표시만 남습니다(마우스를 올리면 이유가 표시됨). 상태 줄에는 연결됨만 표시됩니다
  • 각 카드 아래의 연결 / 연결 끊기. 한 번에 한 장치만 연결됩니다. 다른 장치에서 연결을 누르면 사용 중인 장치의 연결을 끊고 그 장치에 연결합니다
  • 볼륨: 헤드폰의 볼륨(볼륨 참조). 스피커를 클릭하면 음소거(무음을 보냄), 다시 클릭하면 음소거 해제됩니다. 다른 장치의 카드에도 슬라이더가 비활성화된 채로 남습니다
  • 사용 중인 장치의 코덱은 그 카드의 목록에서 골라 게임용과 음악용처럼 빠르게 바꿀 수 있습니다: 장치가 지원하는 코덱(코덱과 같은 선택)이 이름만으로 표시됩니다. 자동 선택 중에도 사용 중인 코덱을 표시하며, 코덱을 고르면 자동 선택이 꺼집니다(다시 켜려면 코덱 화면에서). 고르면 바로 적용됩니다(장치가 그 코덱으로 다시 연결합니다. 코덱 화면과 같이 다음 선택은 다시 연결될 때까지 기다립니다)
  • 사용 중인 장치의 연결 품질(작은 그래프 포함)이 스트리밍하는 동안 그 카드에 표시됩니다. 출력 소스는 오디오 장치에서 선택합니다. 출력 소스로 설정한 애플리케이션이 아직 실행되지 않은 동안에는 장치 카드에 그렇게 표시됩니다
  • 오류가 발생하면 원인과 함께, 해결할 수 있는 경우 해결 버튼(WinUSB 드라이버로 교체, 다운로드 페이지 열기, Bluetooth 다시 시작, 다시 시도, 코덱, 오디오 장치 등)이 표시됩니다
  • 카드 위에는 닫을 때까지 경고가 표시됩니다: Windows에서 다른 Bluetooth 어댑터가 활성화되어 있을 때, 그리고 OPPO 이어폰이 Hi-Res를 켰을 때(코덱 참조)

사이드바에는 모든 화면에서 각 장치에 대해 같은 내용이 표시되며, 트레이 플라이아웃에는 사용 중인 장치에 대해 표시됩니다.

코덱

저장된 각 오디오 장치의 코덱을 장치마다 한 구역(장치가 연결되어 있는 동안 초록색인 점, 이름, 페어링됨 / 오디오 태그. 주소는 오디오 장치에 있음)으로 나누어 코덱 카드와 함께 보여 줍니다. 카드는 직접 순서를 바꾸지 않는 한 음질이 높은 순으로 표시되며, 각각 세 개의 막대(음질, 낮은 지연, 안정성)와 장치가 마지막으로 연결했을 때 그 코덱을 제공했는지가 표시됩니다: 지원(초록색 표시) 또는 미지원(빨간색 표시). 지원되는 코덱만 표시가 켜져 있으면(기본값) 표시되는 카드에는 지원 태그가 필요 없으므로 붙지 않습니다. 한 번도 연결하지 않은 장치(예: Windows에서 가져온 장치)에는 모든 Bluetooth 오디오 장치에 있는 코덱인 SBC 카드(와 그 장치에 선택한 코덱)만 표시됩니다. 다른 카드는 처음 연결한 뒤나 이 스위치를 끄면 표시됩니다. Huawei와 Honor 이어폰은 LDAC을 목록에 올릴 때까지 LDAC 카드를 미확인으로 유지합니다. 이 이어폰들은 LDAC을 선택한 뒤에야 목록에 올릴 수 있기 때문입니다. LHDC V5의 최대 비트레이트를 알리는 OPPO 이어폰에는 LHDC V5로 스트리밍할 때(직접 선택했든 자동이 골랐든. 음질 낮음이나 ABR에서는 제외) Hi-Res를 한 번 요청합니다. 이어폰은 이를 위해 한 번 다시 연결하며, 이로써 비트레이트가 올라가면 홈에 그렇게 표시됩니다. 그 후 Hi-Res는 이어폰에서 켜진 상태로 유지됩니다(효과가 없었던 이어폰은 원래대로 되돌립니다). 개발자 모드에서는 LHDC V5 설정의 Hi-Res 다시 요청이 장치가 알린 내용과 요청했다는 사실을 잊으므로, 다음 연결에서 다시 요청합니다.

  • 지원하는 코덱 중 음질이 가장 높은 코덱 자동 선택(페이지 위쪽, 모든 장치에 공통인 설정. 기본적으로 켜짐): 각 장치는 지원하는 코덱 중 음질이 가장 높은 코덱을 LHDC V5 > LDAC > aptX Adaptive > Opus > aptX HD > aptX > aptX LL > AAC > SBC XQ > SBC 순으로, 기본 설정(고음질, 코덱이 지원하면 24비트, 48 kHz. 장치가 48 kHz를 알리지 않으면 알린 다른 속도이며 44.1 kHz가 우선. Windows 쪽 속도는 리샘플링함)으로 사용합니다. 코덱 설정의 자동과 같습니다. 카드는 순서(아래처럼 끌어서 바꿈. 자동은 장치가 지원하는 첫 카드를 선택) 외에는 읽기 전용이며, 사용 중인(또는 자동이 선택할) 코덱이 강조됩니다. 카드나 그 …를 클릭하면 자동 선택을 끌지 묻고(자동 선택 끄기 / 취소), 끄면 클릭한 카드가 선택됩니다(그 …는 설정을 엽니다). 끄면 장치마다 코덱과 그 설정을 직접 선택합니다(아직 선택하지 않은 장치는 자동이 고른 코덱 그대로). 켜져 있는 동안에도 장치별로 선택한 코덱은 유지됩니다. 2.0.2 이전 설정에서 어떤 장치의 코덱을 선택했다면 꺼진 상태로 시작합니다
  • 꺼져 있으면 카드를 클릭해 그 장치의 코덱을 선택합니다. 즉시 저장되며, 스트리밍 중인 장치는 그 코덱으로 다시 연결합니다. 장치가 지원하지 않는 카드(지원되는 코덱만 표시를 끄면 표시됨)도 선택됩니다. BlueCaster는 그래도 장치에 그 코덱을 요청하며, 장치가 거부하면 그 사실을 알리는 오류와 함께 연결이 중지됩니다(다른 카드를 선택하거나 자동 선택을 켜세요). 홈, 사이드바, 트레이 플라이아웃과 아이콘 도구 설명에는 원인이 짧게 표시됩니다(예: LDAC 미지원). 코덱 때문에 멈춘 경우(장치가 지원하지 않거나 거부하거나 다른 소스에서 사용 중인 코덱)는 모두 같습니다. 그 장치에서 다른 카드나 다른 설정을 선택하거나 자동 선택을 켜면 다시 연결됩니다. 장치가 제공할 때 선택한 코덱을 나중에 장치가 더 이상 제공하지 않으면(이어버드가 다른 코덱으로 바꾼 경우), 장치의 순서에서 지원하는 첫 카드로 대체됩니다. 순서를 바꾸지 않았다면 지원하는 최적의 코덱입니다(명시적으로 선택한 코덱을 제공하지 않는 경우 참조)
  • 장치의 카드를 끌어서(버튼을 누르고 있는 동안 손 모양이 표시됨. 자동 선택이 꺼져 있으면 카드에서 Alt와 화살표 키로도) 코덱을 원하는 순서로 바꿀 수 있습니다. 장치마다 각자의 순서를 유지합니다. 자동 선택과 아직 코덱을 선택하지 않은 장치는 지원하는 첫 카드를 사용하며, 선택한 코덱을 지원하지 않을 때도 마찬가지입니다. FastStream과 Opus 05(Opus (PipeWire) 카드, 개발자 모드에서만 표시되며 꺼져 있으면 선택했어도 사용되지 않음)는 어디에 있든 직접 선택하지 않으면 사용되지 않습니다. 코덱 순서 초기화로 되돌리며, 이 버튼은 표시된 카드가 기본 순서가 아닐 때만 표시됩니다(다시 옮겨 놓으면 다시 기본 순서가 됩니다). 이 변경으로 코덱이 바뀌는 스트리밍 중인 장치는 다시 연결합니다
  • 스트리밍 중인 장치에 다른 코덱을 선택하면 그 코덱으로 다시 연결합니다. 그 후 카드(와 홈과 트레이 플라이아웃의 코덱 목록)는 다시 연결될 때까지 다음 선택을 기다리므로, 빠르게 여러 번 클릭해도 설정 중인 연결이 끊어지지 않습니다. 코덱을 전환할 때는 연결 알림이 표시되지 않습니다(장치를 연결할 때는 표시됨)
  • 지원되는 코덱만 표시(기본적으로 켜짐. 끄면 지원되는 코덱과 지원되지 않는 코덱을 모두 표시): 장치가 제공하지 않은 코덱은 표시하지 않습니다. 장치를 처음 연결하기 전에는 SBC(와 그 장치에 선택한 코덱)만 표시됩니다
  • 카드의 …는 그 코덱의 설정을 엽니다. 변경 사항은 바로 적용됩니다. 사용 중인 코덱이면 저장되고 장치가 그 설정으로 다시 연결하며, 단 Bitpool은 듣는 동안 바뀌고, 아래 스위치는 어느 쪽이든 스트림 설정이 같으면 다시 연결하지 않습니다. 다른 코덱이면 그 코덱을 선택할 때를 위해 보관됩니다. 코덱마다 설정을 따로 기억하므로, 다른 코덱을 선택했다가 돌아오면 설정이 그대로 돌아옵니다. 그 코덱이 할 수 있는 것과 장치가 마지막 연결 때 알린 것만 표시합니다. 위쪽의 장치이(가) 지원하는 옵션만 표시(기본적으로 켜짐. 장치가 알린 뒤에 표시됨)를 끄면, 장치가 알리지 않은 샘플 레이트, 비트 심도, 음질, Bitpool 등 코덱이 가진 모든 것을 제공합니다((지원 안 됨)으로 표시). 장치가 거부할 수 있으며, 그러면 그 사실을 알리는 오류와 함께 연결이 중지됩니다. 다시 켜면 장치가 알리지 않은 항목은 자동으로 돌아갑니다. 코덱마다 따로 있으며, 자동 선택은 이를 사용하지 않습니다.
    • 음질: LDAC 높음 / 중간 / 낮음(990 / 660 / 330 kbps), LHDC V5 높음 / 중상 / 중간 / 낮음(1000 / 900 / 500 / 400 kbps, Android의 네 단계), aptX Adaptive 높음 / 저지연(aptX Adaptive 참조). LHDC V5의 ABR이 켜져 있으면 음질은 회색으로 표시됩니다(ABR은 400 kbps 이하를 유지함). AAC, Opus, Opus 05, SBC, SBC XQ에는 높음 하나만 있으며, 선택하는 것이 아니라 표시만 됩니다: 장치가 받는 가장 높은 비트레이트입니다(ABR이나 VBR을 제공하는 경우 그에 따라 변동함. SBC와 SBC XQ는 비트풀과 프레임 구성으로 정해지는 비트레이트를 표시). aptX, aptX HD, aptX LL, FastStream은 코덱이 정한 고정 비트레이트입니다. 이전 버전에서 저장했지만 이제 코덱에 없는 음질(aptX Adaptive의 표준 / 모바일, AAC의 낮은 단계 등)은 높음으로 불러옵니다
    • 적응형 비트레이트 (ABR): LDAC, LHDC V5, aptX Adaptive, SBC, SBC XQ용(ABR 참조). AAC는 VBR
    • 샘플링 속도: 자동은 그 결과 속도와 함께 표시되며(예: 자동(48000 Hz)), 48 kHz이고, 장치가 48 kHz를 알리지 않으면 알린 다른 속도이며 44.1 kHz가 우선입니다(96 kHz는 지연이 늘고 호환성이 떨어지지만 들리는 차이는 없으며, Windows도 48 kHz로 믹스합니다). 96 kHz를 쓰려면 여기에서 선택하십시오. 장치가 알리는 속도만 표시됩니다(LHDC V5에는 88.2 kHz가 없음. aptX Adaptive의 96 kHz는 이를 알리는 장치에만. aptX Adaptive 참조). 속도를 하나만 알리는 장치는 자동 없이 그 속도를 표시합니다
    • 비트 심도: LDAC 및 LHDC V5는 장치가 알리는 범위에서 16 또는 24비트(자동: 24비트. LHDC V5는 장치가 이를 알릴 때만), aptX HD와 aptX Adaptive는 24비트, 그 밖의 코덱은 16비트. LDAC의 24비트는 32비트 샘플로 인코더에 전달되며, Android의 32비트 선택과 같습니다. 비트 심도는 LDAC 설정에 포함되지 않으므로 헤드폰이 받는 스트림은 어느 쪽이든 같습니다
    • Bitpool(SBC, SBC XQ): 핸들이 두 개인 슬라이더 하나로, 장치가 알리는 범위 안에서 최소 비트풀과 최대 비트풀을 정합니다. 최대가 사용하는 비트풀이고, 최소는 사용하는 가장 낮은 비트풀입니다(연결을 설정할 때 범위의 아래쪽이자 ABR이 내려갈 수 있는 한계). 자동은 둘 다 되돌립니다. 최대는 음질에 따라, 최소는 장치와 ABR 자체의 값으로 정해집니다. 그 아래 줄에는 코덱마다 고정된 채널 모드가 표시됩니다: SBC는 조인트 스테레오, SBC XQ는 듀얼 채널. SBC XQ의 비트풀은 44.1kHz에서 47, 48kHz에서 43까지이며, 장치이(가) 지원하는 옵션만 표시를 끄면 53까지 올라갑니다.
    • 프레임 구성(SBC 및 SBC XQ, 개발자 모드 전용): 블록 수, 서브밴드 수, 비트 할당, 그리고 SBC의 채널 모드. 자동은 16블록, 8서브밴드, 라우드니스, 조인트 스테레오를 유지합니다. 장치가 받아들이지 않는 값은 연결 시 자동으로 돌아갑니다. 한 사용자가 시험한 Sony 기기에서는 12블록이면 소리가 깨지고 연결이 끊길 수 있습니다(인코더 출력은 올바르게 디코딩되며, 다른 블록 수는 재생됨). 선택은 저장된 채로 남지만 개발자 모드를 끄면 사용되지 않습니다. AAC와 LHDC V5의 비트레이트는 장치가 알리는 최대값을 넘지 않습니다

기본값으로 최상의 음질을 얻을 수 있으며, 대부분의 장치는 자동만으로 충분합니다. LE 오디오 기기에는 두 개의 카드, LC3와 LC3 저지연이 있습니다(LE 오디오 참조).

클래식 장치의 마이크가 열려 있는 동안(오디오 장치 참조) 음악용 카드 대신 사용할 수 있는 통화 코덱이 표시됩니다. LC3(32 kHz), mSBC(16 kHz), CVSD(8 kHz)이며, 열려 있는 코덱이 선택됩니다. 자동 선택이 켜져 있으면 통화 링크가 양쪽이 지원하는 것 중 가장 좋은 것을 고르며, 카드를 클릭하면 자동 선택을 끌지 묻습니다. 꺼져 있으면 카드를 클릭해 통화 코덱을 고를 수 있습니다. 마이크가 그 코덱으로 다시 열리며, 헤드폰이 지원하지 않으면 지원하는 한 단계 낮은 코덱을 씁니다. …에서 설정을 읽기 전용으로 볼 수 있습니다. 마이크가 닫히면 음악용 카드가 돌아옵니다. 고른 통화 코덱은 자동 선택이 켜져 있는 동안에도 유지됩니다. 지원되는 코덱만 표시를 켜면 헤드폰이 지원하지 않는 코덱은 표시되지 않습니다.

LE 오디오 기기의 마이크가 열려 있는 동안에는 음악용 카드 아래에 마이크 카드(LC3, 모노)가 표시됩니다. 자동 선택이 꺼져 있으면 그 …에서 헤드폰이 지원하는 샘플링 속도 중 마이크의 샘플링 속도를 고를 수 있습니다(자동은 첫 번째 것을 사용하며, 바꾸면 기기가 다시 연결됩니다). 자동 선택이 켜져 있으면 사용 중인 샘플링 속도를 표시합니다.

내부적으로 BlueCaster는 profiles.json에 장치마다 항목 하나(코덱, 각 코덱의 설정, 코덱 순서)를 유지하며, 그 안에서는 “장치 코덱“이라는 이름입니다. 창과 트레이 메뉴에는 장치 이름이 표시됩니다. 이전 버전에서는 한 장치에 프로필을 여러 개 만들 수 있었습니다. 코덱 화면이 있는 버전을 처음 시작하면 마지막으로 사용한 프로필(없으면 첫 번째)을 남기고 나머지를 그 안에 합치며, 각 코덱의 설정(음질, 샘플링 속도, 비트 심도, ABR, SBC 설정)은 해당 코덱용으로 유지합니다. 프로필 고유의 이름, 출력 소스, 패킷 크기는 유지되지 않습니다. 기존 profiles.json은 설정 폴더에 profiles-before-codecs.json으로 한 번 저장됩니다. 2.0.2 시험판의 자동 선택 순서…(모든 장치에 공통인 순서 하나, 개발자 모드)는 더 이상 사용되지 않습니다. 이제 장치마다 각자의 순서가 있습니다.

오디오 장치

BlueCaster가 스트리밍할 수 있는 헤드폰과 스피커를 장치별 설정과 함께 보여 주며, 그 아래에 오디오 장치 추가가 있습니다. 장치 검색은 USB 어댑터로 주변 장치를 찾습니다(30초, 응답하는 대로 목록에 추가됨. 검색 중지로 끝냄. 헤드폰을 페어링 모드로 전환하십시오. 장치가 연결되어 있는 동안에는 먼저 연결을 끊을지 묻습니다). 추가는 찾은 장치를 저장하고 연결합니다. BlueCaster와 페어링한 적이 있는 장치에는 페어링됨 태그가 붙습니다. 검색에서 찾지 못하면 직접 입력:에 주소를 입력하고 추가를 클릭합니다. 입력하거나 붙여 넣은 주소는 바로 형식이 맞춰집니다(aa-bb-cc-dd-ee-ff, AABBCCDDEEFF, AA BB CC DD EE FF는 모두 AA:BB:CC:DD:EE:FF가 됨). 헤드폰에는 어댑터가 PC 이름 뒤에 BlueCaster를 붙인 이름(예: Taro-PC (BlueCaster))으로 보여, Windows 자체 Bluetooth와 구별됩니다. Windows가 다른 어댑터(PC 내장 Bluetooth 등)로 페어링한 장치는 먼저 묻습니다(Windows에서 페어링됨: Windows에서 제거하거나 그래도 추가). Windows가 이 어댑터로 페어링한 장치도 마찬가지입니다(그 페어링을 가져오는 것은 설정 마법사에서 합니다. 서비스와 페어링 키 참조). 저장된 장치는 이름을 바꾸거나 삭제할 수 있으며(삭제하면 그 설정과 페어링도 삭제되므로, 다시 페어링할 때까지 연결할 수 없습니다), 다음 설정이 있습니다.

  • 출력 소스: 목록 맨 앞에 따로 있는 Windows 기본값(Windows 기본 출력. 괄호 안에 그 이름이 표시되며 가상 장치일 수도 있음. 새 장치의 기본값), 사운드 장치 아래의 출력 장치 하나, 가상 장치, 또는 응용 프로그램(캡처 모드 참조). 옆에는 Windows가 캡처하는 장치를 믹스하는 형식(샘플레이트와 비트 심도, 읽기 전용)이 표시되며, 장치가 다른 형식으로 스트리밍하면(연결되지 않았을 때는 코덱 설정이 다른 형식을 요구하면) 호박색으로 바뀌고 아래 줄에 두 형식이 표시됩니다(변환해서 계속 스트리밍함). 그 아래에는 소스의 설명이 표시됩니다
  • 연결 중 Windows 기본 출력으로 설정, 가상 장치 사용 시
  • 입력 소스: 헤드폰의 마이크(아래 참조)

입력 소스는 각 장치에 있으며, 헤드폰의 마이크를 Windows로 보내 통화나 음성 채팅에 쓸 수 있게 합니다. BlueCaster에는 자체 오디오 드라이버가 없으므로 마이크 소리는 VB-CABLE 같은 가상 오디오 케이블로 재생됩니다. 목록에는 각 케이블이 앱이 녹음하는 쪽의 이름(VB-CABLE이면 CABLE Output)으로 표시되며, 이것이 앱에서 마이크로 고를 장치입니다. 입력 소스 오른쪽에서 끄기, 자동, 켜기 중에서 고릅니다. 자동은 앱이 그곳에서 녹음하는 동안에만 마이크를 열므로 그 밖의 시간에는 원래 품질로 재생하고, 켜기는 마이크를 계속 엽니다. 끄기인 동안에도 목록은 회색으로 그대로 남습니다. 앞으로 추가하는 클래식 장치는 출력 소스가 그 케이블이 아닌 한 VB-CABLE이 설치되어 있으면 그것으로, 없으면 Hi-Fi Cable로 자동에서 시작합니다. 없는 케이블은 오디오 장치와 설정 마법사가 권합니다(캡처 모드 참조). 나중에 BlueCaster가 케이블을 처음 발견하면, 마이크 출력이 작동하지 않던 기기(선택 안 함, 또는 출력 소스 자신의 케이블)는 그쪽으로 재생하고, 작동하는 마이크 출력은 그대로 둡니다. 마이크를 Hi-Fi Cable로 재생하고 있는데 Windows 소리 설정에서 그 재생 쪽과 녹음 쪽의 샘플링 레이트가 다르면 경고가 표시됩니다. 앱에 아무것도 들리지 않으면 둘을 같은 레이트로 맞추세요. 목록에는 앱이 녹음할 수 있는 케이블만 나타납니다. BlueCaster가 직접 캡처하는 케이블(출력 소스, 또는 Windows 기본값일 때의 Windows 기본 출력)은 목록에서 빠지고, 같은 케이블의 다른 쪽도 빠집니다(VB-CABLE의 CABLE In 16ch는 CABLE Input과 같은 CABLE Output으로 녹음됩니다). 마이크 소리가 재생되는 소리와 섞이기 때문입니다. 마찬가지로 입력 소스가 끄기가 아닌 동안에는 출력 소스 목록에서 마이크를 재생하는 케이블이 빠집니다. 개발자 > 앱 설정 > 소스 목록에 모든 오디오 장치 표시가 켜져 있으면 두 목록 모두 모든 장치를 보여 줍니다. 녹음 쪽이 없는 출력(스피커 등)은 마이크를 재생할 뿐이므로 모니터링 아래에, VB-CABLE의 16채널 케이블은 CABLE Output · CABLE In 16ch(공유하는 녹음 쪽 이름과 그 케이블 자체의 이름)로, 출력 소스의 케이블은 회색으로 이름 뒤에 (출력 소스로 사용 중)이 붙어 나타납니다. CABLE Input과 CABLE Output은 한 케이블의 양쪽 끝입니다. 가상 출력 소스와 마이크를 함께 쓰려면 케이블이 두 개 필요합니다. 권장: 소리에는 지연이 가장 적은 VB-Audio의 Hi-Fi Cable(VB-Audio 페이지의 HiFi-Cable & ASIO-Bridge), 마이크에는 VB-CABLE. 마이크의 장치도 Windows 기본 출력이어서는 안 됩니다. 앱에는 재생되는 소리가 마이크와 섞여 들리고, 다른 장치인 출력 소스에는 아무것도 전달되지 않기 때문이며, 입력 소스 아래에 경고가 표시됩니다. 클래식 Bluetooth 장치는 마이크가 열려 있는 동안 통화용 연결로 재생합니다. 통화 품질의 모노(CVSD, mSBC, LC3 중 양쪽이 지원하는 가장 좋은 것)가 되며, 그동안 코덱은 흐리게 표시됩니다. 마이크가 닫히면 다시 연결하지 않고 원래 코덱으로 돌아갑니다. LE 오디오 장치는 평소 품질 그대로 LC3로 계속 재생하면서 마이크도 함께 보냅니다. 모드를 바꾸면 다시 연결합니다(자동은 여기서 마이크를 계속 열어 둡니다). 일부 헤드폰은 통화 중이 아닌데도 이를 거부하거나 통화 표시를 할 수 있습니다. 자동 또는 켜기이고 장치를 선택했으면 장치가 연결되어 있거나 연결 중인 동안 사이드바, 홈, 플라이아웃의 코덱 아래에 마이크: 줄이 나타나 마이크 상태를 보여 줍니다. 열려 있는 동안에는 코덱과 샘플링 레이트가 빨간 점과 함께(마이크: mSBC 16 kHz), 닫혀 있는 동안에는 모드와 함께 흐리게 표시됩니다. 홈과 플라이아웃에서는 그 옆의 마이크 버튼을 클릭하면 마이크를 사용 안 함으로 바꿉니다(사선 표시: 끄기처럼 마이크를 닫으며, 클래식 장치는 원래 코덱으로 돌아갑니다). 다시 클릭하거나 입력 소스에서 모드를 고르면 다시 사용됩니다. 자동이 앱을 기다리는 동안에는 점선으로 표시되고, 마이크를 열지 못했을 때는 경고 표시가 나타나며 도구 설명에 이유가 표시됩니다.

목록 위의 모든 오디오 장치에는 모든 장치에 적용되는 스위치가 있습니다: Windows 볼륨 동기화(볼륨 참조), 오디오 장치 버튼으로 재생 제어, 자동으로 다시 연결. 각 장치의 최대 미디어 패킷 크기는 개발자 화면에 있습니다(최대 미디어 패킷 크기 참조).

진단

  • 스트리밍 중의 연결 품질: 실제 비트레이트, 패킷, 전송 전 버린 패킷, 캡처 시 버린 오디오, 전송 대기열, 기기가 보고한 지연(지연 참조), 무선 사용 시간, 신호(RSSI), AFH 채널(연결 품질과 AFH 참조). 헤드셋 마이크가 열려 있는 동안에는 클래식 기기의 통화 연결을 같은 방식으로 측정하며(mSBC 같은 코덱과 보내는 양), 돌아오는 패킷은 마이크 카드에 받은 수, 전파 중 손상된 수, 보간한 수로 표시됩니다
  • 전파: 2.4 GHz 대역의 Bluetooth 79개 채널 중 링크가 쓰는 채널과 어댑터가 피하는 채널을 Wi-Fi 채널과 겹쳐 보여 주고, 개선 팁도 보여 줍니다. 개발자 모드에서는 스캔으로 주변 2.4 GHz Wi-Fi도 겹쳐 표시합니다(전파 탭 참고)
  • 스트리밍 중의 코덱 세부 정보: 미디어 페이로드, 헤더, 코덱 프레임과 패킷당 프레임 수, 그리고 장치의 엔드포인트가 알리는 내용과 사용 중인 값. SBC는 비트풀, 샘플링 속도, 채널 모드, 블록, 서브밴드, 비트 할당, AAC는 오브젝트 유형, 샘플링 속도, 채널, 최대 비트레이트, VBR, 그 밖의 코덱은 샘플링 속도, 비트 심도, 최대 비트레이트
  • 마이크: 스트리밍 중인 클래식 Bluetooth 장치의 헤드셋 마이크를 테스트합니다. 녹음은 마이크를 열고(그동안 장치는 통화 음질로 재생합니다. 그 연결에서 마이크를 연 적이 없으면 먼저 다시 연결합니다) 최대 10초를 녹음하며, 음량을 막대에 표시합니다. 재생은 녹음을 헤드폰으로 재생합니다. 탭을 떠나면 테스트가 끝나고 재생은 원래 코덱으로 돌아갑니다. LE Audio 장치는 아직 지원하지 않습니다
  • 연결 흐름: 가장 최근 연결 시도의 11단계(시작, Bluetooth 어댑터, ACL / AVDTP 연결, 기능 검색, 코덱 선택, 오디오 캡처, 스트림 구성, 인코더, 스트림 시작, 오디오 전송, 연결 끊김 / 다시 연결을 포함한 연결 유지)를 걸린 시간과 함께 OK, 경고 또는 실패로 표시합니다. 흐름 복사로 복사할 수 있습니다
  • 로그: 실시간으로 표시되며, 수준(모든 수준, 정보 이상, 경고 및 오류, 오류만), 텍스트, 현재 연결 시도(현재 시도만)로 필터링할 수 있습니다. 표시된 로그 복사는 표시된 내용을 복사합니다. 로그 폴더 열기는 로그 파일이 있는 폴더를 엽니다. 진단 정보 복사와 달리 이 파일들은 가려지지 않습니다(Bluetooth 주소와 Windows 사용자 이름이 포함됨)
  • HCI 캡처 시작 / HCI 캡처 중지(미디어 스트림 검증 참조)
  • 진단 정보 복사: 버전, OS, 어댑터, 오디오 장치(코덱, 그 설정과 순서), 흐름, 경고 / 오류, 최근 로그를 클립보드에 복사하므로 버그 보고서에 바로 붙여 넣을 수 있습니다. Bluetooth 주소 가리기(기본적으로 켜짐)는 주소를 <addr-1>, <addr-2>…(어댑터 자체는 <adapter>)로, 장치 이름을 <device-1>, <device-2>…로 바꾸고, USB 일련번호, 앱 자체 폴더보다 위의 파일 경로(<path>\BlueCaster\logs\...), Windows 계정(사용자 이름과 SID)을 가립니다. 버그 보고용으로 복사하는 충돌 보고서와 오류 텍스트에도 같은 가리기가 적용됩니다
  • 문제 보고:
    • 상세 로그: 상세 (debug) 또는 전체 (trace, 1시간)는 Bluetooth, USB, 오디오 캡처, 인코딩에 대해 훨씬 많은 내용을 기록합니다. debug는 다시 시작해도 24시간 동안 켜져 있다가(시작 시 발생하는 문제용) 저절로 꺼집니다. 켜고, 문제를 재현한 다음, 진단 패키지를 저장하십시오
    • 진단 패키지 > 저장…: HCI 캡처를 넣을지(요청받은 경우가 아니면 끄십시오. 주소와 장치 이름이 그대로 남습니다)와 텍스트 파일의 Bluetooth 주소를 가릴지 고른 다음, .zip 하나를 저장합니다(설정 폴더의 logs\bundles\, 최신 3개 유지). 진단 정보, 코어·창·드라이버 도우미의 로그 파일, 충돌 보고서, 시스템 정보(USB Bluetooth 어댑터와 그 드라이버, Windows에 페어링된 장치, 오디오 장치), 설정과 각 장치의 코덱 설정(링크 키는 절대 포함하지 않음), HCI 플라이트 레코더가 들어갑니다. HCI 캡처에는 주소가 남습니다(페어링 키는 없음). 가능하면 GitHub의 첨부 파일 한도인 25 MB 이하로 유지합니다(최신 로그 우선, 텍스트 최대 48 MB, 최신 기록 5개와 미니덤프 2개)
    • GitHub에 보고(저장 후): 버전, Windows 빌드, 어댑터, 헤드폰, 코덱, 캡처 모드, 진단 정보(주소는 가림)가 채워진 새 버그 보고서를 열고, 그 안으로 끌어 넣을 수 있도록 탐색기에서 패키지를 보여 줍니다

BlueCaster는 한 번 일어난 문제도 나중에 살펴볼 수 있도록 몇 가지를 항상 기록합니다.

  • HCI 플라이트 레코더: 최근 몇 분간의 Bluetooth 트래픽을 메모리에 보관하며(미디어 페이로드는 잘라 내고 페어링 키는 제거), 스트림이 실패하거나 연결이 끊길 때마다 logs\hci\에 저장합니다(최신 10개 파일 유지)
  • 충돌 보고서: BlueCaster가 충돌하면 .dmp 미니덤프와 .txt 파일이 logs\crash\에 저장됩니다(프로그램별 최신 5개)

디스크 사용량은 일정 범위를 넘지 않습니다. 평소 하루 로그는 1 MB에 훨씬 못 미치며 7일분을 보관합니다. 상세 로그를 켜면 하루 파일에 debug와 trace 줄이 최대 100 MB까지 기록되고(그 후에는 다음 날까지 정보 이상만 기록), 플라이트 레코더 파일은 많아야 몇 MB이며 10개를 보관합니다.

개발자

설정 > 개발자 모드가 켜져 있는 동안 표시되며, 대부분의 사용자는 쓸 일이 없습니다. 장치 시험과 문제 해결을 위한 화면으로, 일부 설정은 일부 장치에서만 작동합니다. 탭은 여섯 개입니다.

  • 앱 설정: 볼륨 믹서 사용(기본값 꺼짐): 볼륨 믹서 화면, 플라이아웃의 앱 목록, 출력 음소거(캡처 모드 참조). 권장하지 않습니다. PC를 무음으로 두려면 VB-CABLE이 더 좋은 방법입니다. 소스 목록에 모든 오디오 장치 표시(기본값 꺼짐): 오디오 장치의 출력 소스와 입력 소스에 맞지 않는 장치까지 모든 장치가 나타납니다(오디오 장치 참조). 업데이트 확인 시 알파 버전 포함(알파 버전에서는 기본값 켜짐): 알파 버전도 제안합니다(업데이트 참조)
  • 코덱 설정: 장치에서 소리가 나지 않는 원인을 찾기 위한 스위치(RTP 마커 비트, 처음 몇 개의 미디어 패킷 기록, AAC 구성과 인코더 옵션), 저장된 각 장치의 최대 미디어 패킷 크기(최대 미디어 패킷 크기 참조). 코덱 자동 선택 시에도 각 코덱의 설정 사용: 자동 선택이 켜져 있어도 코덱 카드의 …가 자동 선택을 끄지 않고 열리며, 자동이 고른 코덱은 자동의 설정 대신 그 설정으로 연결합니다. 샘플 레이트와 비트 깊이를 PC 출력에 맞추기: 자동으로 둔 샘플링 속도나 비트 심도가 48 kHz 대신 Windows 소리 설정의 출력 장치 형식을 따릅니다(코덱과 장치가 받는 범위에서). 장치의 최대 비트레이트 무시: 장치가 더 낮은 최대값(LHDC V5·AAC·Opus 05의 비트레이트, SBC의 bitpool)을 알려도 모든 코덱이 선택한 음질의 비트레이트로 동작하며, 코덱 화면에서 모든 음질과 bitpool을 고를 수 있습니다. 최대값을 넘으면 장치의 소리가 끊기거나 나지 않을 수 있습니다. 전송 대기열 상한: 미디어 패킷이 버려지기 전까지 전송 대기열에서 기다릴 수 있는 시간. 50~2000 ms(비워 두면 350 ms). 연결이 좋을 때의 지연은 줄어들지 않습니다(지연 참조). 모두 기본값은 꺼짐이며 다음 스트림을 시작할 때 적용됩니다. 하나라도 켜져 있으면 배너로 알려 줍니다. 모두 끄기로 모두 되돌립니다
  • 제조사: BlueCaster가 이어폰 고유의 프로토콜로 통신하는 경우(Huawei: LDAC, OPPO: Hi-Res. 코덱 참조)이며, 각각 고유 프로토콜이 있습니다: 자동(이름으로 그 제조사의 이어폰임을 알 수 있는 이어폰. 기본값), 항상(모든 장치) 또는 사용 안 함. OPPO에는 연결할 때마다 Hi-Res 요청(매번 다시 연결)도 있습니다. 변경 사항은 다음 스트림을 시작할 때 적용됩니다. 하나라도 바뀌어 있으면 배너로 알려 주며, 모두 끄기로 모두 되돌립니다. 개발자 모드를 끄면 사용되지 않습니다
  • 로그: 로그 파일 보관 기간(기본 7일), 하루 크기 한도(기본 100 MB), 계속 켜져 있는 상세 로그(24시간이나 1시간 제한 없음, 코어 시작부터), 10초마다 기록하는 스트림 상태 줄, 마커 추가(특정 순간을 다시 찾기 위한, 번호가 붙은 로그 줄). 개발자 모드를 끄면 기본값으로 돌아갑니다
  • 피어 수신기 테스트: 다른 PC의 측정용 수신기로 스트리밍하고 보낸 내용과 도착한 내용을 비교합니다(피어 수신기 테스트 참조)
  • 칩: WinUSB 어댑터에서 칩 스크립트를 실행합니다. 입력하거나 파일에서 연 칩 요청으로, 칩 지원을 추가하려는 사람을 위한 기능입니다(칩 지원 추가 참조). 칩을 변경할 수 있는 줄은 실행 허용을 누른 뒤에만 실행되며, 그동안 Bluetooth가 멈추고 다음에 사용할 때 다시 시작됩니다
  • Debug: 실험 기능으로, 모두 기본으로 꺼져 있습니다. Realtek: 이 PC에 있는 Realtek Windows 드라이버에서 RTL8761B 펌웨어 불러오기를 켜면 펌웨어 폴더의 펌웨어 대신 Realtek Windows 드라이버가 설치한 펌웨어(어댑터를 WinUSB로 바꾼 뒤에도 남아 있습니다)를 불러옵니다. 설정 파일은 계속 폴더의 것을 쓰고, 그 드라이버가 없으면 폴더의 펌웨어를 불러옵니다. 어댑터가 더 새로운 Bluetooth 버전을 보고할 수 있지만, 그 밖에 나아지는 점이 있는지는 확인하지 않았습니다. 페어링 키와 Windows: 원래 드라이버로 복원할 때 LE 키도 Windows에 넘겨주기를 켜면 원래 드라이버 복원 때 BlueCaster의 LE 키(Long Term Key, EDIV, Rand, 키 길이, Identity Resolving Key)를 Windows에 기록합니다. 대상은 Windows가 그 어댑터로 이미 LE 키를 가진 장치뿐입니다. Windows의 이전 키는 pairing\replaced_windows_keys.json에 사용자의 Windows 계정만 읽을 수 있게 남깁니다. Windows와 비교(관리자 권한 필요)는 한 어댑터에 대해 링크 키와 LE 키가 BlueCaster와 Windows에서 일치, 불일치, 한쪽에만 있는 장치의 수를 셉니다. 표시와 로그 모두 수만 보여 주며 주소나 키는 나오지 않으므로 결과를 그대로 공유할 수 있습니다. Windows가 어댑터와 LE 장치에 대해 가진 값의 이름, 형식, 크기도 표시합니다(내용은 표시하지 않습니다)

어댑터

  • 감지된 USB Bluetooth 어댑터와 그 칩, 주소, USB ID, Bluetooth 버전, 드라이버, 펌웨어. 어댑터를 꽂거나 뽑으면 목록이 자동으로 업데이트됩니다. 드라이버는 원래 드라이버(Windows나 제조사가 설치한 드라이버. 마우스를 올리면 이름이 표시됨) 또는 WinUSB 드라이버(BlueCaster가 사용하는 드라이버)입니다. Realtek 어댑터는 사용하기 전에도 USB 일련번호에서 얻은 주소를 표시합니다. 그 밖의 어댑터는 Windows의 Bluetooth나 BlueCaster가 어댑터를 사용한 뒤에 주소와 Bluetooth 버전이 표시됩니다(그 줄에 마우스를 올리면 이유가 표시됨). BlueCaster가 사용할 수 없는 어댑터(일부 MediaTek 및 Qualcomm)는 드라이버를 그대로 두며 WinUSB와 펌웨어 버튼은 비활성화됩니다. 개발자 모드에서는 그래도 WinUSB를 할당할 수 있고, WinUSB 어댑터에서 칩 정보 읽기를 누르면 몇 가지 읽기 명령에 대한 칩의 응답을 logs\probe\에 저장합니다. 그 칩의 지원을 추가하려는 사람을 위한 기능입니다(그동안 Bluetooth가 멈추고 다음에 사용할 때 다시 시작됩니다). 그다음 GitHub에 보고를 누르면 그 내용이 채워진 이슈가 열립니다. BlueCaster가 직접 펌웨어를 로드하는 어댑터(Intel, MediaTek, Qualcomm)가 시작하는 동안에는 로드 진행 상황과 실패 여부가 화면에 표시됩니다
  • WinUSB 드라이버로 교체 / 원래 드라이버 복원(설치 참조). 매번 Windows가 관리자 권한을 요청합니다(방패 아이콘이 있는 버튼은 모두 마찬가지). 복원할 때 Windows도 이 어댑터로 페어링한 장치에 대해서는 BlueCaster의 새 페어링을 Windows에 넘겨주므로, Windows에서 다시 페어링하지 않아도 연결됩니다. 제한 사항: LE 키는 넘겨주지 않으므로 Windows가 LE(LE Audio)로 사용하는 장치는 Windows에서 다시 페어링해야 합니다(개발자 모드에서 시험할 수 있습니다: 개발자 > Debug)
  • 펌웨어용 Bluetooth 칩과 펌웨어 다운로드, 다운로드 페이지 열기, 펌웨어 폴더 열기(펌웨어 참조). 다른 제조사의 어댑터는 대신 펌웨어를 어디서 가져오는지 표시하며(MediaTek 드라이버에서, 펌웨어 폴더에서, 필요 없음 등), BlueCaster가 불러온 뒤에는 로드됨이 됩니다
  • Wi-Fi 채널 피하기: 자동, 끄기 또는 수동. 옆에 Wi-Fi 채널이 표시됩니다. 자동은 지금 피하고 있는 채널, 끄기는 아무것도 표시하지 않으며(둘 다 읽기 전용), 수동은 입력한 채널입니다(연결 품질과 AFH 참조)
  • Bluetooth 스택: 중지됨(처음 검색하거나 연결할 때 시작), 시작하는 중, 준비됨 또는 오류, 그리고 Bluetooth 다시 시작

설정

섹션 설정
모양 언어, 테마 (시스템 / 밝게 / 어둡게)
시작 Windows 시작 시 실행과 트레이에서 시작 (Windows 시작 시 실행 참조), 시스템 트레이로 최소화와 트레이 창 열기 위치 (트레이와 플라이아웃 참조)
알림 기기가 연결되면 알림(장치, 배터리, 코덱과 그 설정. 기본값은 켜짐), 배터리가 부족하면 알림: 20% 미만(기본값), 10% 미만, 5% 미만 또는 알리지 않음. 연결당 한 번만 알립니다(배터리가 5포인트 위로 회복된 뒤에만 다시 알림)
업데이트 업데이트 확인, 시작 시 업데이트 확인, 업데이트 확인 시 시험판 포함 (베타 릴리스도 제안), 지금 업데이트 (업데이트 참조)
고급 개발자 모드 (개발자 화면, 코덱 설정의 SBC 프레임 구성, 오디오 장치의 서비스 태그에 있는 페어링 키(서비스와 페어링 키 참조), Opus (PipeWire) 코덱, 어댑터의 칩 정보 읽기를 추가하고 로그에 더 많은 세부 정보를 남김, 다시 시작 불필요), 설정 폴더와 설정 폴더 열기, 설정 마법사 실행

BlueCaster 종료는 맨 아래에 있습니다. 버전, 라이선스, 타사 라이선스는 정보 화면에 있습니다.

첫 실행 설정

처음 시작할 때(아직 오디오 장치가 없거나 WinUSB가 설치된 어댑터가 없을 때) 설정 마법사가 한 번 완료하거나 건너뛸 때까지 열립니다. 어댑터, 드라이버, 펌웨어(Windows가 이 어댑터로 페어링한 장치는 Windows에서 작동하지 않게 되므로 먼저 알려 줍니다)를 선택하고 오디오 기기를 찾은 다음(연결을 누르면 그 장치에 가장 좋은 설정으로 장치를 저장하고 연결합니다. Windows가 페어링한 장치는 먼저 묻습니다. Windows 페어링 가져오기는 Windows가 이 어댑터로 페어링한 장치를 나열합니다. 서비스와 페어링 키 참조. 다음은 장치 없이도 누를 수 있으며, 장치는 나중에 오디오 장치에서 추가할 수 있습니다), 일반 설정에서 테마, Windows 시작 시 실행과 트레이에서 시작(첫 설정에서는 둘 다 켜짐), 알림, 시작 시 업데이트 확인을 정합니다. 설치를 참조하십시오. 설정 > 설정 마법사 실행으로 다시 열 수 있습니다.

트레이와 플라이아웃

BlueCaster는 창이 열려 있든 없든 시스템 트레이에서 계속 실행됩니다.

  • 트레이 아이콘을 왼쪽 클릭하면 플라이아웃이 열립니다. 장치와 그 상태, 연결 / 연결 끊기, 볼륨, 장치 전환, 코덱(홈과 같이 목록에서 선택), 연결 품질, 앱 열기가 표시됩니다. 높이는 표시하는 내용에 딱 맞춰집니다. Esc를 누르거나 다른 곳을 클릭하면 닫힙니다. 오류를 해결하는 데 기본 창의 화면(코덱, 오디오 장치, 어댑터)이 필요하면, 그 버튼이 해당 화면으로 창을 엽니다
  • 설정 > 트레이 창 열기 위치(기본값은 트레이 아이콘): Windows 11에서 빠른 설정(볼륨 버튼)을 선택하면, 트레이 아이콘은 기본 창을 열고 플라이아웃은 빠른 설정과 함께 그 패널들 위에 열리며 패널과 함께 닫힙니다. 패널을 닫지 않고도 그곳에서 작동합니다. 화면 높이가 부족하면 패널 왼쪽에 열립니다. 열지 않음을 선택하면 플라이아웃이 열리지 않고 트레이 아이콘이 기본 창을 엽니다.
  • 오른쪽 클릭하면 메뉴가 열립니다. BlueCaster 열기, 처음 10개의 장치(이름으로 표시, LE Audio 항목에는 “(LE 오디오)” 표시, 스트리밍 중인 장치에 체크 표시, 클릭하면 그 장치에 연결), 연결 끊기, 종료가 있습니다. 메뉴는 창을 시작하지 않고 바로 열립니다
  • 도구 설명에 BlueCaster가 대기 중인지 연결되어 있는지 표시됩니다

설정 > 시스템 트레이로 최소화가 켜져 있으면(기본값) 창을 최소화하거나 닫아도 트레이로 숨겨질 뿐이며 스트리밍은 계속됩니다. 꺼져 있으면 창은 작업 표시줄로 최소화되고, 창을 닫으면 BlueCaster가 종료됩니다. 트레이 메뉴의 종료 또는 설정 > BlueCaster 종료는 스트리밍을 중지하고, 어댑터를 해제하고, BlueCaster를 완전히 종료합니다.

Windows 시작 시 실행

설정 > Windows 시작 시 실행을 켜면 로그인할 때 BlueCaster가 시작됩니다. 트레이에서 시작이 켜져 있으면 백그라운드에서 시작되어 트레이 아이콘만 나타나며, 창은 트레이 아이콘에서 엽니다. 꺼져 있으면(기본값) 기본 창이 열립니다. 이 설정은 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run 아래의 BlueCaster 값이며, 데이터는 "<folder>\bluecaster-core.exe"이고 트레이에서 시작이 켜져 있으면 뒤에 --background가 붙습니다. 직접 끄려면 이 값을 삭제하십시오. v1 위에 v2를 설치하면 트레이에서 시작이 켜집니다(v1은 항상 트레이에서 시작했기 때문).

CLI 모드

bluecaster-core.exe --cli는 창과 같은 코어를 사용해 콘솔에서 스트리밍합니다. 어댑터는 한 번에 한 프로그램만 사용할 수 있으므로 먼저 BlueCaster를 종료하십시오(트레이 > 종료). CLI는 저장된 장치의 설정을 읽지 않으며, 모든 것을 옵션으로 지정합니다.

기본

# Auto-select best codec
bluecaster-core.exe --cli -d AA:BB:CC:DD:EE:FF

Ctrl+C로 스트리밍을 중지합니다. CLI는 상태, 코덱과 비트레이트를 출력하고, 마지막에 전송한 패킷 수와 버린 패킷 수를 출력합니다.

코덱 선택

bluecaster-core.exe --cli -d AA:BB:CC:DD:EE:FF -c ldac      # LDAC
bluecaster-core.exe --cli -d AA:BB:CC:DD:EE:FF -c aptxhd    # aptX HD
bluecaster-core.exe --cli -d AA:BB:CC:DD:EE:FF -c aptxll    # aptX Low Latency
bluecaster-core.exe --cli -d AA:BB:CC:DD:EE:FF -c aptx      # aptX
bluecaster-core.exe --cli -d AA:BB:CC:DD:EE:FF -c aac       # AAC
bluecaster-core.exe --cli -d AA:BB:CC:DD:EE:FF -c sbc       # SBC
bluecaster-core.exe --cli -d AA:BB:CC:DD:EE:FF -c lhdcv5    # LHDC V5
bluecaster-core.exe --cli -d AA:BB:CC:DD:EE:FF -c opus      # Opus (48 kHz, 256 kbps)
bluecaster-core.exe --cli -d AA:BB:CC:DD:EE:FF -c opus05    # PipeWire's Opus 05 (to PipeWire sinks)
bluecaster-core.exe --cli -d AA:BB:CC:DD:EE:FF -c aptxad    # aptX Adaptive (48 kHz; --rate 96000 for 96 kHz)

자동 선택 우선순위: LHDC V5 > LDAC > aptX Adaptive > Opus > aptX HD > aptX > aptX LL > AAC > SBC XQ > SBC (FastStream, Opus 05는 직접 선택한 경우에만)

요청한 코덱을 헤드폰이 제공하지 않으면 CLI는 그 이유를 알려 주는 오류와 함께 중지합니다. 헤드폰이 제공하는 최적의 코덱을 사용하려면 -c auto(기본값)를, 앱처럼 요청한 코덱 대신 헤드폰이 제공하는 최적의 코덱을 사용하려면 --fallback을 사용하십시오. aptX 계열과 aptX Adaptive를 참조하십시오.

음질

bluecaster-core.exe --cli -d AA:BB:CC:DD:EE:FF -c ldac -q hq   # High, 990 kbps (default)
bluecaster-core.exe --cli -d AA:BB:CC:DD:EE:FF -c ldac -q sq   # Medium, 660 kbps
bluecaster-core.exe --cli -d AA:BB:CC:DD:EE:FF -c ldac -q mq   # Low, 330 kbps

# LHDC V5: hq 1000 / mhq 900 / sq 500 / mq 400 kbps
bluecaster-core.exe --cli -d AA:BB:CC:DD:EE:FF -c lhdcv5 -q sq   # Medium, 500 kbps

# aptX Adaptive: hq 427 / ll 265 kbps
bluecaster-core.exe --cli -d AA:BB:CC:DD:EE:FF -c aptxad -q ll   # Low Latency

그 밖의 코덱에는 음질 선택이 없으며, 헤드폰이 받는 가장 높은 비트레이트인 hq로 동작합니다(aptX, aptX HD, aptX LL, FastStream은 코덱이 정한 고정값). 코덱에 없는 단계(LHDC V5 이외의 코덱의 mhq, aptX Adaptive의 sq / mq, aptX Adaptive 이외의 코덱의 ll)는 hq로 동작합니다.

ABR (적응형 비트레이트)

bluecaster-core.exe --cli -d AA:BB:CC:DD:EE:FF -c ldac -a
bluecaster-core.exe --cli -d AA:BB:CC:DD:EE:FF -c lhdcv5 -a
bluecaster-core.exe --cli -d AA:BB:CC:DD:EE:FF -c aptxad -a

ABR은 Bluetooth 연결이 불안정하면 비트레이트를 자동으로 낮추고, 상태가 좋아지면 다시 높입니다. LDAC은 음질 모드 사이를 오가며, LHDC V5는 Android 정책에 따라 160~400 kbps 범위에서 유지되며, aptX Adaptive는 높음에서 단계 사이를 오갑니다(aptX Adaptive 참조). 창에서는 코덱 설정(코덱 화면의 카드에서 …)에 ABR이 있습니다.

장치 검색

# Nearby devices, found with the USB adapter (10 seconds; --scan 20 for longer)
bluecaster-core.exe --cli --scan

먼저 헤드폰을 페어링 모드로 전환하십시오.

전체 옵션

옵션 설명
-d <addr> 헤드폰 / 수신기의 Bluetooth 주소 (AA:BB:CC:DD:EE:FF. 기본값: Windows와 페어링된 첫 번째 오디오 장치)
--device-name <name> -d와 함께 사용하는 장치 이름. 저장된 장치의 이름과 같은 역할 (Huawei 이어폰은 이 이름으로 구별)
-l Windows와 페어링된 Bluetooth 장치 목록을 표시하고 종료
-u <adapter> 여러 어댑터에 WinUSB가 있을 때 사용할 USB 어댑터: 인스턴스 ID, 장치 경로 또는 VID:PID (예: 0bda:8771)
-c <codec> ldac, aptxhd, aptxll, aptx, aptxad, aac, sbcxq, sbc, lhdcv5, opus, opus05, faststream, auto (기본값: auto)
-q <mode> 음질: hq (높음, 기본값). LDAC와 LHDC V5는 sq (중간)와 mq (낮음)도, LHDC V5는 mhq (중상)도, aptX Adaptive는 ll (저지연)도 가능. 다른 코덱은 모든 단계를 hq로 처리
-a ABR (LDAC, LHDC V5, aptX Adaptive. SBC / SBC XQ: 적응형 비트풀)
--fallback 헤드폰이 제공하지 않는 -c 코덱은 오류 대신 앱처럼 헤드폰이 제공하는 최적의 코덱으로 대체
-m <mode> 캡처 모드: loopback (기본값), virtual, app
--audio-device <id> -m virtual에 사용할 렌더링 장치
--app <exe> -m app에 사용할 실행 파일 (예: spotify.exe)
--headset-mic 헤드셋 마이크(오디오 장치 참조): 헤드폰의 마이크를 --mic-output으로 재생합니다. 그동안 클래식 장치는 통화 품질로 재생합니다. --le-audio와 함께 쓰면 마이크도 전달하는 LE 오디오 구성을 사용합니다
--mic-output <이름> 마이크를 재생할 출력 장치, 이름의 일부로 지정 (예: "CABLE Input", 기본값: Windows 기본 출력), 또는 기록할 .wav 파일
--voice-codec <cvsd\|msbc\|lc3_swb> --headset-mic와 함께, 클래식 장치: 사용할 최상의 통화 코덱 (헤드폰이 지원하지 않으면 한 단계 낮은 코덱, 기본값: 양쪽이 지원하는 최상의 코덱)
--mic-rate <Hz> --headset-mic --le-audio와 함께: 마이크의 샘플링 속도 (예: 16000, 헤드폰이 지원하지 않는 샘플링 속도는 지원하는 첫 번째 것으로 대체)
--rate <hz> 캡처 샘플링 속도 (기본값: 48 kHz. 장치가 48 kHz를 알리지 않으면 알린 다른 속도)
--bits <16\|24> 비트 심도 (기본값: 코덱이 지원하면 24)
--max-packet <bytes> 최대 미디어 패킷 크기, 679-1679, 기본값 1023 (최대 미디어 패킷 크기 참조)
--sbc-blocks <n>, --sbc-subbands <n>, --sbc-alloc <method>, --sbc-bitpool <n> SBC / SBC XQ 프레임 구성: 블록 4/8/12/16 (기본값 16), 서브밴드 4/8 (기본값 8), 할당 loudness (기본값) 또는 snr, 비트풀 (기본값: 음질에 따름)
--sbc-mode <mode> SBC 채널 모드: joint_stereo (기본값), stereo, mono (듀얼 채널은 -c sbcxq)
--afh <auto\|off\|6,11> AFH 호스트 채널 분류 (연결 품질과 AFH 참조)
--remote-sink <host[:port]\|auto> 피어 수신기가 받는 내용 표시. -d 없이 사용하면 그 수신기로 스트리밍 (피어 수신기 테스트 참조)
--scan [seconds] 주변 장치 목록을 표시하고 종료 (기본값 10초)
--probe 읽기 명령에 대한 어댑터의 응답을 logs\probe\에 저장하고 종료. BlueCaster가 아직 사용할 수 없는 어댑터용 (칩 지원 추가 참조)
--script <file>, --allow-writes 어댑터에서 칩 스크립트를 실행하고 보고서를 저장한 뒤 종료. --allow-writes를 지정하면 칩을 변경할 수 있는 줄도 실행 (칩 지원 추가 참조)
-h 도움말 표시

개발 및 테스트용으로 --hci-tcp <host:port>(WinUSB 어댑터 대신 TCP를 통한 가상 컨트롤러), --test-tone(캡처한 오디오 대신 왼쪽 1 kHz / 오른쪽 1.5 kHz), --duration <s>(지정한 초가 지나면 중지), --sessions <n>(앱의 연결 끊기 / 연결처럼 n번 연속 스트리밍), --restart(--sessions와 함께 사용: 그 사이마다 Bluetooth 다시 시작), --restart-on-link(링크가 연결되자마자 세션을 다시 시작. 연결 중에 설정을 바꿨을 때와 같음), --wait-off(헤드폰을 꺼도 실행이 끝나지 않음), --hci-capture <file.pklg>(실행 전체의 HCI 캡처)도 있습니다. 빌드를 참조하십시오. LE 오디오 옵션은 -h로 표시됩니다(LE 오디오 참조). --services는 스트리밍이 시작되면 장치가 SDP로 알리는 서비스를 표시합니다.

--cli 없이 실행하면 bluecaster-core.exe는 상주 프로그램으로 작동하며 창도 함께 시작합니다. 단, --background를 지정하면 트레이 아이콘만 표시됩니다(트레이에서 시작이 켜져 있을 때 Windows 시작 시 실행에서 사용). bluecaster-core.exe --quit는 실행 중인 BlueCaster에 스트리밍을 중지하고 종료하도록 요청합니다(설치 프로그램이 사용).

캡처 모드

BlueCaster는 네 가지 오디오 캡처 모드를 지원하며, 맨 앞에 따로 있는 Windows 기본값과 사운드 장치, 가상 장치, 응용 프로그램 아래에 나열됩니다. 각 모드는 오디오 경로의 서로 다른 지점을 녹음합니다.

모드 녹음하는 내용
Windows 기본값 Windows 기본 출력 장치에서 재생되는 소리: 모든 앱의 혼합
가상 장치 앱이 선택한 장치(예: VB-CABLE)로 재생하는 소리
사운드 장치 하나 한 출력 장치(스피커, USB 헤드셋, TV 등)에서 재생되는 소리. Windows 기본 출력이 어느 장치이든 녹음
응용 프로그램 한 앱(및 하위 프로세스)이 재생하는 소리만, 앱 자체 처리 후. Windows 11 또는 Windows 10 버전 2004(빌드 19041) 이상 필요
---
config:
  flowchart:
    wrappingWidth: 480
    rankSpacing: 30
---
flowchart TD
    apps["앱"] --> out["출력 장치<br>(스피커, HDMI TV 등)"]
    apps --> virt["가상 장치<br>(VB-CABLE 등)"]
    out --> there["그곳에서도 재생됨"]
    out -.->|"Windows 기본값 /<br>사운드 장치 하나"| bc["BlueCaster"]
    virt -.->|"가상 장치"| bc
    apps -.->|"응용 프로그램:<br>앱 하나만"| bc
    bc --> hp["Bluetooth 헤드폰"]

오디오 장치 화면의 출력 소스 아래에도 같은 설명이 표시됩니다. 새 장치는 Windows 기본값을 캡처하며, 다른 것을 설치하지 않아도 작동합니다. 다른 소스를 사용하려면 그곳에서 선택하십시오.

Windows 기본값 캡처는 오디오를 복사할 뿐 기본 출력 장치에서 빼앗지 않으므로, 소리가 그 장치(스피커, 유선 헤드폰, HDMI TV 등)에서도 재생됩니다. Bluetooth 헤드폰에서만 들으려면 VB-CABLE 같은 가상 장치를 사용하십시오.

개발자 모드에서 개발자 > 앱 설정 > 볼륨 믹서 사용을 켜면, 연결 중 Windows 기본 출력 음소거(볼륨 믹서 화면, 기본값 꺼짐)가 테스트 톤을 제외한 모든 캡처 소스에서 스트리밍 중에 그 장치를 음소거하고 스트리밍이 멈추면 해제합니다. BlueCaster가 캡처하는 소리에는 영향을 주지 않습니다. 이때 Windows의 음소거 키는 대신 헤드폰을 음소거하며(무음을 보냄. 다시 누르면 재생), 장치는 음소거된 채로 유지됩니다. Windows에서 음소거 해제도 하는 볼륨 키는 장치를 음소거된 채로 두고 헤드폰은 계속 재생합니다. LE 오디오 기기에서는 음소거 키가 장치를 음소거된 채로 유지할 뿐입니다. 이미 음소거되어 있던 장치는 그대로 유지되며, BlueCaster가 예기치 않게 종료되면 장치는 음소거된 채로 남으므로 Windows에서 해제하십시오. 개발자 모드가 꺼져 있으면 이 설정과 관계없이 음소거는 꺼져 있습니다.

그 스위치를 켜면 볼륨 믹서 화면과 플라이아웃에서 그 음소거 여부와 관계없이 앱별 볼륨을 조절할 수 있습니다. Windows 믹서에서는 소리가 끊길 수 있는 출력 음소거 중에도 작동합니다. Windows 기본 출력이 가상 장치이면 음소거로 스트림도 무음이 될 수 있으므로 음소거를 끄십시오.

가상 장치 모드에서는 연결 중 Windows 기본 출력으로 설정이 스트리밍 중에 선택한 장치를 Windows 기본 출력으로 설정하므로, Windows 설정을 바꾸지 않아도 앱이 그 장치로 재생합니다. 스트리밍을 중지하면 BlueCaster는 이전 기본 장치로 되돌립니다.

  • 출력 소스 목록의 가상 장치 아래에는 BlueCaster가 가상 오디오 장치로 감지한 장치만 표시됩니다.
  • 가상 케이블: 소리에는 VB-Audio의 Hi-Fi Cable(지연이 가장 적음)을, 헤드폰 마이크에는 VB-CABLE을 권장합니다. 없는 것이 있으면 오디오 장치와 설정 마법사가 권합니다. ×로 그 안내를 닫을 수 있고, 설정 > 가상 케이블에는 둘 다 남습니다. VB-CABLE 설치는 VB-Audio의 VB-CABLE 패키지를 VB-Audio에서 다운로드(1.3 MB)하여 수정 없이 설치합니다(관리자 권한 요청이 나타나며, 다운로드에 실패하면 대신 VB-Cable 다운로드가 VB-Audio 페이지를 엽니다. 권한 요청이 나타나지 않으면 Windows를 다시 시작하세요). Hi-Fi Cable 다운로드는 VB-Audio 페이지를 엽니다. 둘 다 VB-Audio의 도네이션웨어(vb-cable.com)이며 기부금은 VB-Audio에 갑니다. 회사나 그 밖의 조직에서는 VB-Audio가 설치마다 라이선스를 요구합니다(라이선스). VB-CABLE이 출력 소스이면 Hi-Fi Cable을 권하는 안내가 표시됩니다. Hi-Fi Cable 사용은 Hi-Fi Cable을 출력 소스로 바꾸고, 그쪽으로 재생하던 마이크나 출력이 없던 마이크를 VB-CABLE로 옮깁니다. 이를 선택하기 전에는 아무것도 바뀌지 않습니다.
  • 기본 통신 장치(통화 앱이 사용하는 장치)는 변경되지 않습니다.
  • 일부 앱은 다시 시작할 때까지 이전 장치에서 계속 재생합니다.
  • BlueCaster가 예기치 않게 종료되면 기본 장치가 되돌려지지 않습니다. Windows 소리 설정에서 변경하십시오.

출력 소스 목록의 사운드 장치에는 Windows의 모든 출력 장치가 한 번씩 표시됩니다(VB-CABLE의 16채널 케이블은 개발자 > 앱 설정 > 소스 목록에 모든 오디오 장치 표시가 켜져 있을 때만). BlueCaster는 Windows 기본 출력이 어느 장치이든 선택한 장치에서 재생되는 소리를 녹음하며, 그 장치를 기본으로 만들지 않습니다. Windows 볼륨 동기화는 그 장치의 볼륨을 동기화합니다. 연결할 때 장치가 없으면(분리되었거나 사용 안 함) 대신 Windows 기본값을 보내고 연결 상태에 그렇게 표시됩니다. 오디오 장치 화면에는 연결되지 않음으로 표시됩니다.

응용 프로그램 모드

응용 프로그램 모드는 음악 플레이어, 브라우저, 효과 앱 등 한 앱의 소리를 보냅니다. 출력 소스 목록의 응용 프로그램 아래에서 앱을 선택합니다. 여기에는 현재 오디오를 재생 중인 앱이 표시됩니다. 원하는 앱이 없으면 그 앱에서 재생을 시작하고 목록 옆의 새로 고침을 클릭하십시오. 앱의 하위 프로세스도 포함되므로, 별도 프로세스에서 오디오를 재생하는 브라우저도 작동합니다.

  • 앱이 실행 중이 아니어도 됩니다. BlueCaster는 일단 헤드폰에 연결하고, 앱이 시작되면 전송을 시작합니다. 스트리밍 중에 앱이 종료되어도 BlueCaster는 연결을 유지하며, 앱을 다시 시작하면 다시 캡처합니다.
  • 앱은 자신의 출력 장치에서도 계속 재생합니다. 헤드폰에서만 들으려면 그 출력 장치(마스터 볼륨)를 음소거하십시오. BlueCaster가 캡처하는 소리에는 영향이 없습니다. 단, Windows 볼륨 믹서에서 앱을 음소거하면 헤드폰도 무음이 되므로 하지 마십시오.
  • Windows 볼륨 믹서의 앱 슬라이더는 헤드폰으로 보내는 음량(및 출력 장치의 음량)을 바꿉니다. 마스터 볼륨과 볼륨 키는 전송되는 소리를 바꾸지 않으며, Windows 볼륨 동기화가 켜져 있으면 대신 헤드폰 볼륨을 바꿉니다(볼륨 참조).
  • Windows가 BlueCaster가 요청한 샘플링 속도로 오디오를 변환하므로, 소리 설정의 장치 형식에 제한받지 않습니다.
  • 버전 2004(빌드 19041) 이전의 Windows 10에는 앱별 캡처 기능이 없습니다. 이 경우 응용 프로그램 캡처로 설정한 장치를 연결하면 다른 출력 소스를 선택하라는 오류가 표시됩니다.

볼륨

스트리밍 중에 헤드폰이 AVRCP 절대 볼륨을 지원하면 홈과 트레이 플라이아웃의 볼륨 슬라이더가 작동합니다(지원하지 않으면 비활성화된 채로 남음). 이 슬라이더는 헤드폰 자체의 볼륨을 설정하므로, 전송되는 오디오는 원래 해상도를 유지합니다. 옆의 스피커로 음소거(헤드폰 볼륨 0)와 음소거 해제(이전 볼륨으로 복귀)를 할 수 있습니다. 볼륨이 0이면 어떻게 설정했든(스피커, 슬라이더, Windows, 헤드폰 버튼) BlueCaster는 무음을 보냅니다. 많은 헤드폰이 가장 낮은 볼륨에서도 희미하게 소리를 내기 때문입니다. 슬라이더는 헤드폰의 볼륨 버튼과 터치 조작도 따라갑니다.

Windows 볼륨 동기화(오디오 장치에서 모든 장치 공통, 기본적으로 켜짐)는 스트리밍 중에 Windows 볼륨과 헤드폰 볼륨을 하나의 볼륨으로 만듭니다. 동기화되는 Windows 볼륨은 BlueCaster가 캡처하는 장치의 볼륨입니다: Windows 기본값과 응용 프로그램에서는 기본 출력 장치, 가상 장치와 사운드 장치 하나에서는 선택한 장치. 끄면 Windows 볼륨과 헤드폰 볼륨이 따로 작동합니다.

  • 헤드폰의 볼륨 버튼과 제스처, 그리고 볼륨 슬라이더는 동기화된 Windows 볼륨을 움직이며, 소리 설정의 해당 슬라이더는 헤드폰 볼륨을 움직입니다.
  • 볼륨 키와 Windows 볼륨 플라이아웃은 항상 기본 출력 장치에 작용하므로, 기본 출력 장치가 동기화 대상일 때만 헤드폰 볼륨을 바꿉니다(항상 그러하며, 연결 중 Windows 기본 출력으로 설정을 끈 가상 장치 모드는 예외).
  • 스트리밍이 시작되면 Windows 볼륨이 헤드폰 볼륨을 이어받고, 스트리밍이 끝나면 장치는 이전 볼륨으로 돌아갑니다.
  • Windows 볼륨이 적용되기 전에 오디오를 캡처하므로, 볼륨은 헤드폰에서 한 번만 낮아집니다. 동기화된 볼륨이 캡처되는 오디오도 바꾸는 경우에는 볼륨이 두 번 적용되므로, 동기화를 끄십시오(시스템 전체 효과 앱 참조).
  • 음소거는 동기화되지 않습니다. 출력 장치를 음소거하면 PC는 무음이 되지만 헤드폰은 음소거되지 않습니다.

이전 버전에서는 장치가 다른 출력 장치의 볼륨을 따르도록 선택할 수 있었습니다(개발자 모드). 이 선택은 더 이상 사용되지 않습니다.

BlueCaster는 각 오디오 기기의 볼륨을 따로 저장하고, 연결되자마자 오디오를 보내기 전에 다시 설정합니다. 따라서 한 기기의 볼륨이 다른 기기로 넘어가지 않습니다.

헤드폰 버튼

헤드폰의 재생/일시 정지, 다음 곡, 이전 곡 조작(버튼 또는 터치 제스처, 예: WH-1000XM4의 두 번 탭)은 스트리밍 중에 PC의 재생을 제어합니다. BlueCaster는 이를 미디어 키로 Windows에 전달하며, Windows 미디어 컨트롤에 표시된 앱(Spotify, 브라우저, 미디어 플레이어 등)으로 전달됩니다. 정지도 전달됩니다.

  • 재생과 일시 정지는 모두 Windows의 재생/일시 정지 키로 작동하므로, 헤드폰이 인식하는 상태가 실제와 다르더라도 탭하면 항상 재생과 일시 정지가 전환됩니다.
  • BlueCaster는 캡처할 오디오가 있는지에 따라 오디오 재생 여부를 헤드폰에 알리므로, 벗으면 일시 정지하는 헤드폰도 올바른 명령을 보냅니다.
  • 빨리 감기 / 되감기(버튼 길게 누르기)는 대응하는 Windows 미디어 키가 없어 무시됩니다.
  • 볼륨 제스처는 헤드폰 자체 볼륨을 바꾸며, Windows 볼륨 동기화를 사용하면 동기화된 Windows 볼륨도 따라 바뀝니다(볼륨 참조).
  • 다른 프로그램이 이미 미디어 키에 반응해 두 번 작동하는 경우 등에는 오디오 장치 > 오디오 장치 버튼으로 재생 제어(모든 장치에 공통인 스위치 하나)로 이 기능을 끄십시오.

이 기능에는 헤드폰의 AVRCP 지원이 필요하며, 거의 모든 헤드폰이 지원합니다. 지원하지 않으면 버튼 기능만 빠지고 스트리밍은 평소대로 작동합니다.

시스템 전체 효과 앱

시스템 전체 효과 앱(이퀄라이저, 음질 향상 앱, 가상 서라운드 앱 등)은 보통 자체 가상 출력 장치를 설치합니다. 다른 앱이 그 장치로 재생하면, 효과 앱이 오디오를 처리하여 효과 앱에서 선택한 출력 장치로 결과를 재생합니다. 헤드폰에 효과가 적용되는지는 BlueCaster에서 어떤 모드를 선택하느냐에 따라 달라집니다.

설정 헤드폰에 도달하는 소리
가상 장치: 효과 앱 자체의 가상 장치 효과 적용 전 오디오: 앱이 효과 앱으로 보내는 소리
응용 프로그램: 효과 앱 효과 적용 후 오디오: 효과 앱이 재생하는 소리 (권장)
가상 장치: 효과 앱의 출력 장치 (예: 출력으로 설정한 VB-CABLE) 효과 적용 후 오디오 (응용 프로그램 모드가 없는 Windows 버전용)

응용 프로그램 모드에서는 효과 앱의 출력 장치로 어떤 장치든 사용할 수 있습니다. BlueCaster는 장치가 재생하는 소리가 아니라 앱이 재생하는 소리를 가져가므로, 장치는 소리를 내보낼 곳일 뿐입니다. PC에서 동시에 소리가 나지 않게 하려면 아무도 듣지 않는 출력(예: 모니터의 HDMI 오디오)을 선택하거나 그 장치의 마스터 볼륨을 음소거하십시오. VB-CABLE 같은 가상 장치도 소리가 나지 않는 출력으로 쓸 수 있지만 필수는 아닙니다. 장치는 사용 가능 상태이고 연결되어 있어야 합니다.

효과 앱 자체의 가상 장치가 Windows 기본 출력 장치이면, 그 볼륨이 효과 앱이 받는 소리도 낮춥니다. Windows 볼륨 동기화가 켜져 있으면 볼륨 변경이 두 번 적용됩니다(효과 앱의 입력과 헤드폰). 이 경우 동기화를 끄고, 헤드폰 볼륨이나 볼륨 슬라이더를 사용하십시오.

BlueCaster에 자체 가상 출력 장치가 없는 이유

효과 앱이 직접 선택할 수 있도록 Windows 출력 장치 목록에 Bluetooth 헤드폰 항목을 추가하려면 커널 모드 오디오 드라이버가 필요합니다. BlueCaster에는 이 드라이버가 포함되어 있지 않습니다.

  • 커널 오디오 드라이버를 작성하고 유지 관리하는 것은 큰 작업이며, 버그가 있으면 Windows가 중단될 수 있습니다(블루스크린).
  • Windows 10과 11은 Microsoft가 서명한 드라이버만 로드합니다. 이 서명을 받으려면 EV 코드 서명 인증서(연간 수백 달러)와 Microsoft 파트너 센터 계정이 필요하며, 보통 회사로 등록해야 합니다.
  • 서명을 피하는 유일한 방법은 Windows 테스트 서명 모드인데, 이는 시스템 보안을 낮추고 일부 소프트웨어(예: 안티 치트가 있는 게임)를 작동하지 않게 합니다. BlueCaster는 이에 의존하지 않습니다.

응용 프로그램 모드나 VB-CABLE 같은 무료 가상 장치로 같은 용도를 해결할 수 있습니다.

  • Windows에는 기본 장치를 변경하는 공개 API가 없습니다. BlueCaster는 다른 오디오 전환 도구와 마찬가지로 문서화되지 않은 IPolicyConfig 인터페이스를 사용합니다(Windows 10 및 11).

사운드 장치와 가상 장치는 WASAPI 공유 모드를 사용합니다. 샘플링 속도가 자동이면(자동 선택 포함) BlueCaster가 48 kHz(헤드폰이 48 kHz를 알리지 않으면 알린 다른 속도. 44.1 kHz가 우선)를 요청하고, WASAPI가 장치의 기본 형식을 그 속도로 리샘플링합니다. LDAC을 96 kHz로 사용하려면 코덱 설정에서 96 kHz를 선택하십시오. 소리 설정 > 장치 속성 > 고급의 기본 형식은 바꿀 필요가 없습니다.

코덱 비교

코덱 적합한 용도 단점
LHDC V5 가장 높은 비트레이트와 샘플링 속도 (최대 1000 kbps, 192 kHz) 지원 장치가 적음, 안정적인 연결 필요
LDAC (HQ) 많은 Sony 및 Android 지향 장치에서 최고 음질 지연 시간이 길고 안정적인 연결 필요
LDAC (ABR) 음질 + 안정성 연결 상태에 따라 비트레이트 변동
aptX Adaptive Qualcomm 기반 장치에서 저지연 모드를 갖춘 고음질 링크에 따라 비트레이트 변동
Opus 효율적, 256 kbps에서 좋은 음질 지원 싱크가 적음 (Android의 A2DP Opus, PipeWire)
aptX HD 고음질, 더 넓은 장치 지원 576 kbps 고정
aptX 가장 넓은 aptX 장치 지원 16비트, 352/384 kbps
aptX LL 게임, 동영상 (저지연) 음질이 낮음 (16비트)
AAC Apple 장치, 높은 효율 보통 음질
SBC XQ SBC가 허용하는 모든 장치에서 SBC보다 훨씬 좋은 음질 듀얼 채널과 비트풀 ≥ 29 필요, 약 385-552 kbps
SBC 최대 호환성 가장 낮은 음질

코덱 화면의 각 코덱 카드에도 같은 비교가 세 개의 막대로 표시됩니다.

aptX 계열과 aptX Adaptive

BlueCaster는 libopenaptx로 인코딩하는 세 가지 aptX 코덱과, AKS-Logic/aptx-adaptive-linux의 인코더로 인코딩하는 aptX Adaptive를 지원합니다.

aptX HD와 aptX Low Latency는 Android / PipeWire 구현을 따르며 인코딩/디코딩 왕복 테스트를 통과했지만, 실제 헤드폰에서는 아직 검증되지 않았습니다.

기본 aptX만 필요하십니까? Windows 10의 기본 Bluetooth 스택은 이미 기본 aptX를 지원하므로(aptX HD, aptX LL, aptX Adaptive는 미지원) 이 경우 BlueCaster가 필요하지 않습니다. BlueCaster는 주로 LDAC, aptX HD, aptX Low Latency에 유용합니다.

코덱 Vendor ID / Codec ID RTP 헤더 상태
aptX Adaptive 0x000000D7 / 0x00AD 있음 지원 (265-427 kbps, 48 / 96 kHz, 24비트)
aptX HD 0x000000D7 / 0x0024 있음 지원 (576 kbps, 24비트 입력)
aptX 0x0000004F / 0x0001 없음 지원 (44.1/48 kHz에서 352/384 kbps)
aptX Low Latency 0x0000000A 또는 0x000000D7 / 0x0002 없음 지원 (352 kbps)

aptX Adaptive

aptX Adaptive는 48 kHz에서 실제 헤드폰으로 확인되었습니다. 한 사용자가 2.0.2-beta.6에서 EarFun Air Pro 4+로 스트리밍하여, 끊김이나 버벅임 없이 기본 aptX만큼 안정적으로 동작함을 확인했습니다(#86). 또한 단위 테스트, 업스트림의 비트 단위 일치 테스트 모음, 가상 Bluetooth 싱크를 상대로 한 엔드투엔드 테스트(tools/emu: RTP 헤더, 패킷 크기, 프레임 종류를 확인하며, 공개된 디코더가 없으므로 오디오는 디코딩하지 않음)를 통과했습니다. 업스트림은 Linux / PipeWire에서 Bose QuietComfort Ultra(1세대)와 B&W Px7 S2e로 48 kHz 높음과 저지연에서 동작한다고 보고합니다. 96 kHz(높음, 646 kbps)도 실제 헤드폰으로 확인되었습니다(#86). 코덱 설정에서 선택하고(CLI --rate 96000) 헤드폰이 이를 알리는 R2 싱크일 때 사용하며(설정에서도 그때만 선택할 수 있음), 저지연에서는 사용하지 않습니다. 자동(자동 선택 포함)은 48 kHz로 스트리밍합니다. 보고를 환영합니다.

인코더는 AKS-Logic/aptx-adaptive-linux의 순수 Rust aptX Adaptive 인코더(MIT)입니다. 업스트림은 이를 클린룸 재구현으로 설명하며, 숫자 테이블은 합법적으로 입수한 출시된 Qualcomm 바이너리와 무선 캡처로부터 재구성했습니다. Qualcomm의 코드, SDK, 바이너리는 포함되어 있지 않습니다(라이선스 참조).

  • 선택 방법: 헤드폰이 LHDC V5도 LDAC도 제공하지 않으면 자동이 이를 선택합니다. 코덱 화면에서 aptX Adaptive를 선택하거나 -c aptxad를 사용할 수도 있습니다.
  • 형식: 48 kHz 스테레오, 24비트. 96 kHz를 선택하면 이를 알리는 장치(aptX Adaptive R2)에는 높음에서 96 kHz. 44.1 kHz를 요청하면 48 kHz로 캡처합니다.
  • 헤드폰: R1 싱크(기능 확장 없음, 예: B&W Px7 S2e)와 R2 싱크(R2 비트스트림).
음질 (… / -q) R1 싱크 R2 싱크 패킷
높음 (hq) 427 kbps 427 kbps 12 ms, 656바이트
저지연 (ll) 265 kbps 270 kbps 10 ms, 348바이트

ll은 aptX Adaptive만 사용하며, 다른 코덱은 높음으로 처리합니다. 표준과 모바일 단계(R1 364 / 318 kbps, R2 270 / 204 kbps)는 더 이상 음질로 제공되지 않습니다. 그중 하나로 저장된 장치와 -q sq / -q mq는 높음으로 동작하며, ABR은 여전히 이 단계들을 거칩니다.

ABR(코덱 설정의 ABR, CLI -a): 높음에서는 전송 대기열에 패킷이 3개 이상 있는 동안 비트레이트를 한 단계씩 낮추고(표준, 그다음 모바일. 그 아래로는 낮추지 않으며, 최대 약 0.5초마다), 대기열의 패킷이 1개 이하인 상태가 약 3초 지속되면 한 단계 올립니다(높음까지). 저지연에는 ABR이 없습니다.

aptX Adaptive에서 aptX로의 “대체”는 없습니다

BlueCaster가 연결하면 헤드폰은 코덱 목록(AVDTP 스트림 엔드포인트)을 알립니다. BlueCaster는 그 목록에서 코덱 하나를 선택합니다. aptX Adaptive와 기본 aptX는 목록에서 별도의 항목이므로, 코덱 안에서 한쪽에서 다른 쪽으로 “대체”되는 일은 없습니다.

  • 헤드폰이 기본 aptX도 제공하는 경우 – Qualcomm이 aptX Adaptive를 aptX / aptX HD와 하위 호환된다고 홍보하기 때문에 많은 aptX Adaptive 헤드폰이 그렇습니다. 자동은 aptX Adaptive를 선택합니다(aptX HD와 aptX보다 위). 기본 aptX는 직접 선택했을 때 사용되며, 헤드폰 목록에 있는 별도 코덱이지 aptX Adaptive의 축소 모드가 아닙니다.
  • 헤드폰이 aptX Adaptive만 제공하는 경우 (기본 aptX, aptX HD, aptX LL 없음) – aptX를 선택하면 헤드폰이 제공하는 최적의 코덱(코덱 화면의 장치 순서에 따름), 보통 aptX Adaptive 자체로 대체됩니다.

자동 선택 우선순위: LHDC V5 > LDAC > aptX Adaptive > Opus > aptX HD > aptX > aptX LL > AAC > SBC XQ > SBC (FastStream, Opus 05는 직접 선택한 경우에만)

명시적으로 선택한 코덱을 제공하지 않는 경우

헤드폰 목록에 없는 특정 코덱을 요청한 경우:

위치 동작
앱 (코덱, 자동 꺼짐) 장치의 순서(카드를 끌어 옮기지 않았다면 자동의 우선순위)에서 헤드폰이 제공하는 첫 코덱으로 자동처럼 연결합니다(Opus를 선택했고 헤드폰이 aptX Adaptive, aptX, AAC, SBC를 제공하면 Opus 아래의 aptX가 아니라 aptX Adaptive. SBC XQ를 맨 앞으로 끌어 놓았다면 SBC XQ). 코덱 배지에는 대신 사용한 코덱과 그 이유가 몇 초 동안 표시됩니다. 이는 헤드폰이 제공할 때 선택한 코덱의 경우이며, 코덱 화면에는 사용되는 코덱이 선택된 것으로 표시됩니다. 헤드폰이 (마지막 연결 때) 제공하지 않을 때 선택한 카드는 대체 없이 그대로 요청합니다. 헤드폰이 거부하면 오류와 함께 연결이 중지됩니다.
CLI (-c <codec>) 오류(“장치가 …을(를) 지원하지 않습니다”)와 함께 중지합니다. aptX, aptX HD 또는 aptX LL을 요청했는데 헤드폰이 aptX Adaptive만 제공하면 메시지에 그 사실이 표시됩니다. 앱처럼 대체하려면 --fallback을 추가하거나 -c auto를 사용하십시오.
---
config:
  flowchart:
    wrappingWidth: 480
    rankSpacing: 30
---
flowchart TD
    q{"헤드폰이 선택한<br>코덱을 제공하나요?"}
    q -->|"예"| use["그 코덱으로 연결"]
    q -->|"아니요"| how{"어떻게 선택했나요?"}
    how -->|"앱: 제공될 때<br>카드를 선택"| fb["장치 순서에서 헤드폰이 제공하는<br>첫 코덱 (자동과 같음),<br>코덱 배지에 이유 표시"]
    how -->|"앱: 제공되지 않을 때<br>카드를 선택"| force["그래도 요청,<br>거부되면 오류"]
    how -->|"CLI: -c"| cli["오류<br>(--fallback: 앱과 같음)"]

이전 버전에는 대신 이 코덱을 사용할 수 없으면 지원되는 다른 코덱 사용 옵션이 있었습니다. 이제 대체는 항상 켜져 있습니다. 일부 2.0.2 시험판은 최적의 코덱이 아니라 선택한 코덱 바로 아래의 코덱을 사용했습니다.

헤드폰이 다른 장치에 연결되어 있어 코덱이 없는 경우

헤드폰은 각 코덱을 스트림 엔드포인트(SEP)로 제공합니다. 듀얼(멀티포인트) 연결에서는 휴대폰이나 PC로 스트리밍 중인 엔드포인트가 사용 중으로 보고되며, 그 스트림이 멈출 때까지 해당 코덱을 사용할 수 없습니다. 일부 헤드폰은 장치 하나만 연결되어 있을 때만 고해상도 코덱(LDAC, L2HC 등)을 제공하기도 합니다. 이때 BlueCaster는 다음과 같이 로그에 기록합니다.

remote SEP 6: sink audio, IN USE (codec not queried)
remote SEPs in use by another connection: 1 of 6 audio sink SEP(s); ...
capability discovery complete (LDAC=false ... , 1 of 6 audio sink SEP(s) in use)

그리고 오류 메시지에 엔드포인트가 다른 장치에서 사용 중이라고 표시됩니다. 휴대폰 / PC에서 헤드폰 연결을 끊고(또는 헤드폰 앱에서 듀얼 연결을 끄고) 다시 연결하십시오. 내장 Bluetooth가 아직 헤드폰과 페어링되어 있는 PC도 다른 장치로 간주됩니다.

WH-1000XM4 같은 Sony 헤드폰은 2대의 기기와 동시 연결(멀티포인트)이 켜져 있으면 LDAC을 제공하지 않습니다. Sony Sound Connect 앱에서 끈 후 다시 연결하십시오. WH-1000XM6 등 일부 모델은 멀티포인트와 LDAC을 함께 지원합니다.

헤드폰 전용 앱(배터리, 노이즈 컨트롤, EQ)은 휴대폰이나 이 PC의 내장 Bluetooth에서 헤드폰으로 가는 별도의 링크가 필요합니다. 앱이 연결된 동안 헤드폰은 2대 동시 연결 상태가 되어, BlueCaster의 코덱 변경이 오래 걸리거나 실패할 수 있습니다. 코덱을 바꾸기 전에 휴대폰 연결을 끊거나 앱을 닫으세요. EncoDeck는 BlueCaster 자체 링크로 헤드폰을 제어하므로 두 번째 연결을 추가하지 않습니다.

샘플링 속도

aptX, aptX HD, aptX LL은 44.1 kHz와 48 kHz만 지원합니다(aptX Adaptive는 48 kHz, 96 kHz를 선택했고 헤드폰이 알리면 96 kHz). BlueCaster는 헤드폰이 알리는 속도 중 하나를 선택하고(자동이면 48 kHz, 없으면 44.1 kHz), 캡처는 WASAPI가 리샘플링하도록 합니다. aptX를 위해 Windows 소리 설정을 변경할 필요는 없습니다.

헤드폰이 제공하는 코덱 확인

  1. 헤드폰에 연결합니다.
  2. 진단을 열고 로그 필터에 remote를 입력합니다.

같은 줄이 설정 폴더의 로그 파일(%APPDATA%\BlueCaster\logs\<YYYY-MM-DD>\core.log. 가려지지 않으므로 보고서에 첨부하기 전에 확인하십시오)에도 기록되며, CLI 모드에서는 콘솔에 출력됩니다. 기능 줄에는 헤드폰이 제공하는 코덱이 정확히 표시됩니다.

remote supports aptX (SEID ..., [...])
remote supports aptX Adaptive (SEID ..., [...])
remote vendor codec 0x........./0x.... (SEID ...) - unsupported
capability discovery complete (LDAC=false aptX HD=false aptX LL=false aptX=true aptX Adaptive=true SBC=true SBC XQ=true AAC=true LHDC V5=false Opus=false Opus 05=false FastStream=false)
  • aptX=true – 기본 aptX를 사용할 수 있습니다(aptX Adaptive=true이어도 마찬가지). 자동은 이를 사용합니다.
  • aptX Adaptive=true이면서 aptX=false, aptX HD=false, aptX LL=false – 헤드폰이 aptX Adaptive만 제공합니다. aptX Adaptive를 선택하거나 자동, AAC 또는 SBC를 사용하십시오.
  • aptX Adaptive=true [not usable] – 헤드폰이 aptX Adaptive를 제공하지만 BlueCaster에 필요한 48 kHz 스테레오가 없습니다.
  • remote vendor codec ... - unsupported – BlueCaster가 구현하지 않은 다른 벤더 코덱입니다.

최대 미디어 패킷 크기 (장치별)

각 장치의 최대 미디어 패킷 크기(개발자 화면, 저장된 장치마다 항목 하나; CLI: --max-packet <bytes>)는 각 Bluetooth 패킷에 담기는 오디오 데이터의 상한을 679~1679바이트 범위에서 설정하므로, 다른 값이 필요한 오디오 기기마다 각자의 값을 지정할 수 있습니다. 개발자 화면은 개발자 모드(설정 > 개발자 모드)에서 표시됩니다. 대부분의 사용자는 쓸 일이 없습니다. 오디오 기기 자체의 한도(MTU)도 항상 적용되며, BlueCaster는 둘 중 작은 값을 사용합니다. 변경 사항은 다음 연결부터 적용됩니다. 예전에는 프로필 설정(고급 안)이었으며, 장치는 남겨 둔 프로필의 값을 이어받습니다(코덱 참조). 1.1 이전의 v1에서 저장한 프로필은 당시 전역으로 설정되어 있던 값을 사용합니다.

1023(기본값)을 권장합니다. Bluetooth 베이스밴드 패킷 하나(3-DH5)에 들어갑니다. 더 큰 값은 오버헤드를 1~2%만 줄일 뿐이며, 패킷 하나를 잃을 때마다 더 많은 오디오가 손실됩니다. 679는 2-DH5 패킷 하나에 들어가며 LDAC이 허용하는 최솟값입니다.

미디어 스트림 검증 (bluecaster_decode)

대부분의 헤드폰은 사용 중인 코덱을 표시하지 못합니다. 진단 > HCI 캡처 시작 / HCI 캡처 중지는 코덱 협상과 전송된 모든 미디어 패킷을 담은 HCI 패킷 로그(설정 폴더의 logs\hci\hci_<date>_<time>.pklg)를 기록합니다. LDAC 990 kbps에서는 시간당 약 0.5 GB씩 커지므로 필요한 만큼만 캡처하십시오. CLI 모드에서는 --hci-capture <file.pklg>가 실행 전체를 기록합니다.

캡처는 연결 전이나 이미 스트리밍 중일 때 시작할 수 있습니다. 연결 중에 시작하면 BlueCaster가 기억해 둔 연결 설정 패킷(코덱 협상을 포함한 L2CAP 채널 설정과 AVDTP 시그널링)을 먼저 기록하므로, 파일을 분석할 수 있습니다. 진단 화면에는 기록 중과 중지 후에 파일 경로가 표시됩니다.

캡처는 Wireshark에서 열거나, 개발자 도구 bluecaster_decode(소스에서 빌드, 빌드 참조)로 확인할 수 있습니다.

bluecaster_decode "%APPDATA%\BlueCaster\logs\hci\hci_20260925_120000.pklg" -o C:\temp\check

이 도구는 AVDTP 시그널링(SET_CONFIGURATION / RECONFIGURE 및 헤드폰의 수락 여부)을 추적하고, BlueCaster가 보낸 미디어 패킷을 추출하여 협상된 구성과 대조합니다.

코덱 검사 내용 출력
SBC, SBC XQ, FastStream, AAC, aptX, aptX HD, aptX LL, Opus, Opus 05 참조 디코더로 전체 디코딩, 프레임 파라미터와 구성 비교, 미디어 페이로드 헤더의 프레임 수 들어 볼 수 있는 <prefix>.<n>.<codec>.wav
LDAC 프레임 헤더만(동기 워드, 샘플링 속도, 채널 모드, 프레임 길이), 프레임 수, 비트레이트. 오픈 소스 LDAC 디코더는 존재하지 않음 보고서만
LHDC V5 프레임 헤더만(미디어 페이로드 헤더의 프레임 수, 시퀀스 번호), 비트레이트. 오픈 소스 디코더는 존재하지 않음 보고서만
aptX Adaptive 자체 RTP 헤더(샘플 수 타임스탬프, 지연 모드)와 코덱 패킷 헤더만. 오픈 소스 디코더는 존재하지 않음 보고서만

bluecaster_decode --le-audio는 LE 오디오 캡처(CIS를 통한 LC3)에 대해 같은 검사를 합니다.

모든 스트림에 대해 RTP 시퀀스 누락, RTP 타임스탬프 증가 속도, 비트레이트, Bluetooth 컨트롤러가 완료로 보고한 ACL 패킷 수도 보고합니다. 마지막 줄은 RESULT: OK 또는 RESULT: PROBLEMS FOUND입니다(종료 코드 0 또는 1).

이 결과는 BlueCaster가 보낸 내용과 그것이 협상된 코덱에 유효하다는 것을 보여 줍니다. 싱크는 협상된 코덱만 디코딩할 수 있으므로, 헤드폰에서 소리가 정상적으로 나오고 보고서에 문제가 없다면 그 코덱이 실제로 사용되고 있다는 강력한 증거입니다.

진단 > 연결 품질은 스트리밍 중에 BlueCaster가 보내는 내용을 표시합니다. 실제 비트레이트, 전송한 패킷, 전송 전 버린 패킷(전송 대기열에서 너무 오래 기다림: 무선 링크가 따라가지 못함), 캡처 시 버린 오디오(PC가 뒤처짐), 전송 대기열, 무선 사용 시간, 그리고 신호 (최적 대비): 연결의 RSSI(컨트롤러의 골든 수신 범위 기준 상대값: 0 = 양호, 음수 = 너무 약함, 절대 수준 아님. 범위보다 낮으면 실제 수준의 최대값을 dBm으로 함께 표시)와 링크가 79개 Bluetooth 채널 중 몇 개를 호핑하는지(AFH)가 표시됩니다. 홈과 트레이 플라이아웃에는 이를 요약하여 좋음, 보통 또는 나쁨으로 표시하며, 링크는 양호하지만 PC가 오디오를 버렸을 때는 PC 과부하로 표시합니다.

Bluetooth는 혼잡한 채널을 스스로 피하지만(AFH), Wi-Fi의 존재는 오류를 통해서만 알게 됩니다. BlueCaster는 모든 연결에서 컨트롤러에 피해야 할 채널도 알려 줍니다(AFH 호스트 채널 분류).

AFH  
자동 (기본값) 이 PC가 연결된 2.4 GHz Wi-Fi 채널만 (연결 중 30초마다 다시 확인). PC가 2.4 GHz Wi-Fi에 연결되어 있지 않으면(연결 끊김, 5 GHz 사용, 유선 연결) 아무것도 하지 않음. 채널 번호만 읽으므로 위치 권한이 필요 없으며, 번호가 1~14인 6 GHz 채널은 2.4 GHz로 간주함
끄기 없음: 컨트롤러가 단독으로 결정
수동, 예: 6,11 지정한 Wi-Fi 채널 (1~14)

자동은 PC가 수신만 하는 네트워크를 컨트롤러 자체의 AFH에 맡깁니다. 이웃의 혼잡한 채널을 피하면 호핑에서 22 MHz가 빠지므로, 링크가 오히려 나빠질 수 있습니다. 그래도 그런 채널을 피하려면 수동으로 입력하십시오.

Bluetooth 채널은 항상 최소 20개가 사용됩니다. 어댑터 화면에서, 설정 폴더의 settings.json에서 "afh"로, 또는 CLI 모드에서 --afh로 설정합니다. 무선 행에 회피 중인 Wi-Fi 채널이 표시됩니다. 효과가 있는지는 환경에 따라 다르므로 피어 수신기 테스트로 측정해 보십시오.

전파 탭

진단 > 전파는 어댑터가 링크에 대해 보고하는 채널 맵(Read AFH Channel Map)을 그립니다. Wi-Fi가 없는 PC에서도 어디서 간섭을 받는지 알 수 있습니다. 빨간 채널은 어댑터 자체의 AFH가 뺀 채널이며, 한 Wi-Fi 채널 폭의 대부분이 빨가면 그 채널 이름을 표시합니다. BlueCaster가 어댑터에 피하도록 지시한 채널(위의 자동 또는 수동)에는 테두리가 있습니다.

개발자 모드의 스캔은 Windows에 새 Wi-Fi 스캔을 요청하고 2.4 GHz 네트워크를 대역 위에 그립니다(강할수록 높게). Windows 11 24H2 이상에서는 이 목록이 위치 정보로 취급되어 위치 액세스를 요청받을 수 있으며, ‘데스크톱 앱이 위치에 액세스하도록 허용’이 꺼져 있으면 목록을 받을 수 없습니다. 스캔은 AFH를 바꾸지 않습니다. 자동은 여전히 이 PC 자신의 채널만 피합니다(이유는 위 참고).

혼합

개발자 모드에서는 Wi-Fi 채널 피하기에 혼합도 추가되며, 약, 중, 강 중에서 고를 수 있습니다. 자동이 피하는 채널에 더해, 두 신호가 간섭을 가리키는 Bluetooth 채널을 피합니다. 하나는 11 MHz 이내에서 들리는 Wi-Fi 네트워크(-90 dBm부터 세고 -50 dBm에서 최대), 다른 하나는 어댑터 스스로 최근 채널 맵에서 그 채널을 뺀 빈도입니다. 어댑터가 문제없이 계속 쓰는 강한 네트워크만으로는 약과 중에서 피하지 않습니다. 강할수록 채널을 쉽게 피하고, 항상 쓰는 채널의 하한은 79개 중 56(약), 48(중), 40(강)입니다.

혼합이 동작하는 동안 BlueCaster는 2분마다 Wi-Fi를 스캔합니다. 스캔과 마찬가지로 위치 액세스가 필요하며, 없으면 어댑터의 맵만으로 정합니다. 혼합은 아직 실제 어댑터로 측정하지 않았고 자동보다 나빠질 수 있습니다. 계속 쓰기 전에 피어 수신기 테스트로 비교하세요. 개발자 모드가 아니면 자동으로 동작합니다. settings.json과 --afh에서는 blend-mild, blend-medium, blend-strong입니다.

지연

들리는 소리가 PC보다 늦는 만큼은 몇 가지 지연의 합입니다. PC 쪽에서는 오디오 엔진의 10 ms 주기, 인코더의 10 ms 단위 처리, 코덱 자체의 프레임(AAC의 1024 샘플은 21 ms, LDAC 패킷은 약 5 ms), 그리고 전송 대기열입니다. 전송 대기열은 연결이 좋으면 거의 비어 있습니다(진단 > 연결 품질에 표시됩니다). 가장 큰 부분은 오디오 장치 쪽입니다. 무선 끊김에 대비해 스트림을 버퍼링한 뒤 재생하며, LDAC와 LHDC V5의 비트레이트에서는 더 많이 버퍼링합니다. 이 부분은 스마트폰에서 보내더라도 똑같습니다.

지연 보고(Delay Reporting)를 지원하는 장치는 스트림이 준비되었을 때와 지연이 바뀔 때 그 지연을 BlueCaster에 알립니다. 진단 > 연결 품질에 기기 지연 (보고됨)으로 표시되며 진단 정보 복사에도 포함됩니다. 지원하지 않는 장치는 대시로 표시됩니다. Android는 같은 보고를 바탕으로 영상을 늦춰 소리와 동기를 맞추지만, Windows에는 그런 기능이 없어서 동영상 플레이어의 영상이 그 지연만큼 소리보다 앞서갑니다. 대부분의 플레이어에는 오디오나 영상을 지정한 만큼 늦추는 설정(오디오 오프셋, 오디오 지연)이 있습니다. 보고된 값을 넣거나, 입 모양이 맞을 때까지 값을 바꿔 보십시오. 게임은 이 방법으로 해결할 수 없습니다. 더 낮은 비트레이트(LDAC 중간 또는 낮음, 프레임이 작은 코덱, aptX Adaptive의 저지연, aptX LL)로 하면 버퍼링을 줄이는 장치도 있습니다.

개발자 모드의 전송 대기열 상한(개발자 > 코덱 설정)은 패킷이 버려지기 전까지 기다릴 수 있는 시간의 상한이지 지연 자체가 아닙니다. 연결이 좋으면 어떤 패킷도 상한에 가까이 가지 않습니다. 무선이 멈췄을 때만 의미가 있으며, 상한을 짧게 하면 그 뒤의 지연이 줄어드는 대신 소리가 끊깁니다.

피어 수신기 테스트 (tools/linux_sink)

연결 품질 화면은 BlueCaster가 보내는 내용을 보여 줍니다. 실제로 도착하는 내용을 보려면 Linux가 설치된 두 번째 PC에서 tools/linux_sink/bluecaster_sink.py를 실행하십시오. 이 도구는 그 PC의 일반 Bluetooth 어댑터(내장 어댑터도 가능)를 직접(HCI user channel을 통한 Bumble) LDAC을 포함한 모든 코덱의 A2DP 싱크로 구동하고, 도착하는 모든 미디어 패킷을 측정하여 네트워크로 통계를 제공합니다.

tools/linux_sink 폴더를 Linux PC에 복사한 다음(폴더만 있으면 됨) 다음을 실행합니다.

sh setup.sh      # once: decoder libraries, Python environment (Ubuntu / Debian, Python 3.11+)
sudo sh run.sh   # start the receiver (root: it takes the Bluetooth adapter)

Windows PC에서는 BlueCaster를 종료하고(트레이 > 종료) 다음을 실행합니다.

bluecaster-core.exe --cli --remote-sink auto -c ldac --test-tone

--remote-sink auto는 로컬 네트워크에서 수신기를 찾아, -d로 다른 장치를 지정하지 않으면 수신기의 Bluetooth 어댑터로 스트리밍하고, 5초마다 그리고 종료 시에 수신기의 통계를 출력합니다. 비트레이트, 손실 및 지연 패킷(RTP 시퀀스 번호), 지터와 간격, 모델링된 재생 버퍼의 끊김과 건너뜀, 스트림 / 디코딩 오류, 수신기의 RSSI(골든 수신 범위 기준 상대값: 0 = 양호, 음수 = 너무 약함)입니다. --test-tone이 없으면 시스템 오디오를 보냅니다. --remote-sink <host[:port]>는 검색하지 않고 수신기를 직접 지정합니다.

같은 테스트를 창에서도 할 수 있습니다. 설정 > 개발자 모드를 켜고 개발자 > 피어 수신기 테스트를 엽니다. 로컬 네트워크에서 찾으려면 수신기를 비워 두고(또는 주소를 입력하고), 연결로 수신기의 통계에 연결합니다. 코덱, 그 설정, 소스(테스트 톤 또는 시스템 오디오)와 필요하면 수신기가 제공하는 L2CAP MTU와 재생 버퍼를 선택한 다음 시작을 누릅니다. 단계마다 확인하고, 이 PC가 보낸 내용과 수신기가 센 내용을 나란히 보여 줍니다. 아무것도 종료할 필요가 없습니다. 창은 실행 중인 BlueCaster를 사용합니다.

양쪽 모두 스트림의 첫 패킷부터 패킷 수를 세므로 보낸 패킷과 받은 패킷을 비교할 수 있으며, 두 값은 같아야 합니다. Bluetooth는 손실된 무선 패킷을 컨트롤러 내부에서 재전송하고, BlueCaster는 링크가 살아 있는 동안 패킷을 포기하지 않으므로, 무선 링크가 나쁘면 손실 패킷보다는 수신기 쪽의 간격, 지터, 끊김으로 나타납니다. 링크가 따라가지 못하면 전송 측에서 패킷이 전송 전에 버려집니다. 재전송 횟수는 어느 쪽에서도 알 수 없습니다.

도구가 실행되는 동안 수신기의 어댑터는 그 PC의 Bluetooth 스택에서 사용할 수 없습니다. 검색에는 포트 51201의 UDP 브로드캐스트를 사용하므로 두 PC가 같은 네트워크 세그먼트에 있어야 합니다(그렇지 않으면 주소를 입력하십시오). 모든 옵션과 통계 프로토콜은 tools/linux_sink/README.md를 참조하십시오.

서비스와 페어링 키

오디오 장치의 저장된 장치에 서비스 태그가 있습니다. LE Audio 항목의 태그는 마지막 연결 때의 GATT 서비스를 보여 줍니다(키는 없음). 클래식 장치의 태그를 클릭하면 다음이 열립니다.

  • 개발자 모드에서는 먼저 페어링 키(클릭할 때까지 접혀 있음, 서비스처럼 이름과 값 표): Link Key(BlueCaster가 장치용으로 저장한 링크 키와 그 종류), Long Term Key (LTK)(키 크기 16처럼 크기 포함)와 Identity Resolving Key (IRK)(장치의 LE 키). LE 키는 링크 키에서 나옵니다. BlueCaster는 페어링 직후에, 이미 페어링된 장치라면 다음 연결 때(장치마다 Bluetooth를 시작할 때마다 한 번) 장치에 이를 요청합니다. Long Term Key는 양쪽이 링크 키에서 유도하고(크로스 트랜스포트 키 유도), Identity Resolving Key는 장치가 줍니다. 이를 지원하는 장치만, BlueCaster가 주도하는 연결(대개 BlueCaster가 연 연결)에서만 주며, "le_audio_experimental": false이면 요청하지 않습니다. BlueCaster에 없는 키는 없음으로 표시되며 값을 지어내지 않습니다. LE 키가 없으면 키 아래에 그 이유가 표시됩니다(LE Audio 꺼짐, 아직 요청하지 않음(BlueCaster는 자신이 연 연결에서만 요청), 또는 기기의 응답(제공 불가, 거부, 응답 없음)). 키는 Bluetooth가 보내는 순서(최하위 바이트 먼저)로 표시됩니다. 키 옆의 복사 버튼으로 하나씩 복사합니다. 예를 들어 같은 PC의 다른 시스템이 같은 어댑터로 같은 페어링을 쓰게 할 때 사용합니다. 이 키를 가진 사람은 누구나 그 장치로 가장할 수 있으니 공유하지 마세요
  • 그 아래(개발자 모드가 아니면 이것만) 장치가 제공하는 서비스를 이름(Bluetooth 이름, 없으면 장치 자체 이름, 그것도 없으면 Qualcomm GAIA나 Google Fast Pair 같은 알려진 제조사 이름. 아무것도 없으면 알 수 없는 서비스)과 GUID 표로 보여 줍니다. 장치가 연결된 동안 조회하며, 연결되어 있지 않으면 마지막으로 연결했을 때의 목록을 보여 줍니다

초기 설정의 장치 단계에 있는 Windows 페어링 가져오기(WinUSB 어댑터. BlueCaster에 저장되지 않은 장치를 Windows가 그 어댑터로 페어링했을 때 표시)는 그런 장치를 모두 체크된 상태로 나열하고, 그 어댑터에 WinUSB를 할당하기 전에 Windows Bluetooth가 저장한 링크 키를 가져옵니다. 이 어댑터로 Windows와 페어링한 헤드폰은 다시 페어링하지 않고 BlueCaster에 연결됩니다. 이 키는 시스템만 읽을 수 있어 관리자 권한을 요청합니다. BlueCaster에 이미 키가 있는 기기는 그 키를 유지합니다(나중에 BlueCaster와 페어링했으므로 Windows의 키가 오래된 것입니다). PC 내장 Bluetooth 등 다른 어댑터로 Windows가 만든 키는 쓸 수 없습니다. 페어링은 어댑터 주소에 묶여 있습니다. Windows는 키 유형을 저장하지 않으므로 가져온 키는 유형 4가 됩니다. 기기의 LE 키(Long Term Key와 Identity Resolving Key)도 링크 키와 함께 가져와 LE Audio에서 사용합니다. 가져온 헤드폰은 Windows에서의 이름으로 저장된 장치에 추가되어 바로 연결할 수 있습니다. Windows가 페어링한 장치는 보통 페어링 모드가 아니므로 검색에 나타나지 않습니다. 가져오기로 페어링 모드 없이 넘겨받을 수 있습니다. 검색에 나타나거나 주소를 입력한 경우에는 추가(설정 마법사에서는 연결)가 먼저 Windows가 페어링한 장치라고 경고합니다. 그래도 추가는 새 장치로 다시 페어링합니다.

LE 오디오

BlueCaster는 LE 오디오 헤드폰과 이어폰으로도 전송할 수 있습니다(BAP 유니캐스트, 연결형 등시성 스트림으로 LC3 전송). 헤드셋 음량(VCP), 미디어 버튼(MCP), 한 쌍의 양쪽 이어폰(CSIP), 게이밍 헤드셋용 저지연 모드(GMAP)도 지원합니다. 장치별로 선택하며, 장치의 LE 오디오 항목만 사용합니다. 지금까지 한 어댑터(MediaTek MT7925)와 Bluetooth 에뮬레이터로만 시험했으므로 사용 중인 어댑터에서는 아직 동작하지 않을 수 있습니다. 검증된 방식은 기존 A2DP입니다.

필요한 것:

  • 등시성 채널(ISO)을 지원하는 Bluetooth 5.2 이상의 USB Bluetooth 어댑터(A2DP와 마찬가지로 WinUSB 할당). ISO를 지원하지 않는 어댑터는 “adapter does not support LE Audio (no ISO buffers)”로 거부됩니다.
  • LE 오디오(LC3)를 지원하는 헤드폰이나 이어폰. 일부 기기는 먼저 전용 앱에서 LE 오디오를 켜야 합니다.

사용 방법:

  1. 헤드폰을 페어링 모드로 두고 오디오 장치에서 기기를 검색합니다. LE 오디오 기기에는 LE 오디오, 한 쌍의 이어폰에는 LE 오디오 세트 표시가 붙습니다(둘 중 하나를 고르면 다른 하나는 BlueCaster가 찾습니다). A2DP도 지원하는 헤드폰은 한 번만 표시됩니다. 추가하면 두 종류 모두에 저장되고, 어느 쪽으로 연결할지는 사용 가능한 경우 LE Audio 사용이 정합니다. 헤드폰이 지원하면 한쪽으로 페어링하는 것만으로 둘 다 쓸 수 있습니다(BlueCaster가 클래식 페어링 뒤에 LE 키를 요청합니다).
  2. 코덱 화면에는 카드가 두 개 있습니다. LC3는 헤드폰이 받아들이는 가장 좋은 LC3 설정이고, LC3 저지연(기본 선택)은 GMAP 게임 역할을 지원하는 헤드셋에서는 더 짧은 LC3 프레임을 사용하며, 다른 헤드셋은 어느 쪽이든 미디어 구성을 받습니다. …는 재생 중 샘플레이트와 비트레이트를 보여 줍니다. 사운드 장치와 가상 장치만 캡처할 수 있습니다.
  3. 오디오 장치의 입력 소스로 이어버드의 마이크도 PC로 보낼 수 있으며, 재생은 LC3 품질을 유지합니다(오디오 장치 참조, CLI 모드에서는 --headset-mic).

LE Audio는 기본적으로 꺼져 있습니다. 사용하려면 어댑터에서 사용 가능한 경우 LE Audio 사용을 켜세요. 이 스위치는 어댑터가 LE Audio를 지원할 때만 나타나며, 바꾸면 Bluetooth가 다시 시작됩니다. 연결된 장치는 곧바로 LE Audio 또는 클래식 연결로 다시 연결됩니다.

CLI 모드에서는 --le-audio -d <주소> 로 LE 오디오 기기에 전송하고, --le-device <주소> 로 그룹의 다른 기기(다른 쪽 이어폰)를 추가하며, --le-scan 으로 주변 LE 오디오 기기를 나열하고, --le-low-latency / --le-preset <이름> 으로 설정을 고릅니다(모든 LE 옵션은 bluecaster-core.exe --cli -h).

업데이트

BlueCaster는 GitHub Releases를 하루에 최대 한 번 확인합니다(설정 > 시작 시 업데이트 확인, 업데이트 확인 시 시험판 포함을 켜면 베타 릴리스도 제안). 새 버전이 있으면 새로운 내용 몇 줄(전체 릴리스 노트는 링크로)과 함께 지금 업데이트(포터블 버전은 다운로드 페이지 열기)와 나중에가 있는 대화 상자가 표시됩니다. 나중에를 누르면 다음 버전까지는 설정에만 표시됩니다. 설정에도 다음과 같이 표시됩니다.

  • 설치한 버전: 지금 업데이트는 서명된 업데이트를 다운로드합니다. 오디오 장치가 연결되어 있는 동안에는 기다렸다가 연결이 끊기면 설치하므로, 업데이트 때문에 소리가 끊기는 일은 없습니다. 그다음 BlueCaster가 종료되고, 새 버전을 설치한 후 자동으로 다시 시작됩니다.
  • 포터블 버전(또는 업데이트 서명이 없는 빌드): 다운로드 페이지 열기가 릴리스 페이지를 엽니다.

개발자 모드에서는 개발자 > 앱 설정 > 업데이트 확인 시 알파 버전 포함을 켜면 알파 버전도 제안합니다. 알파 버전은 베타 사이에 나오는 빌드(새 칩 지원 등)로, 더 자주 나오지만 테스트는 적습니다. 개발자 모드가 꺼져 있으면 제안하지 않습니다.

문제 해결

소리가 끊기거나 버벅이는 경우, 연결이 실패하는 경우, 비트레이트가 기대보다 낮은 경우: 끊김과 연결 문제를 참조하십시오. 지금까지의 보고가 결국 무엇이었는지와 먼저 확인할 것을 정리해 두었습니다.

창에 코어가 실행되고 있지 않다고 표시됨

창은 같은 위치에 있는 bluecaster-core.exe가 필요하며, 이를 자동으로 시작합니다. “BlueCaster 코어가 실행되고 있지 않습니다”는 코어를 시작하지 못했다는 뜻입니다. BlueCaster를 다시 설치하십시오(또는 포터블 zip의 압축을 다시 푸십시오). “코어의 버전이 다릅니다”는 두 프로그램이 서로 다른 버전에서 왔다는 뜻입니다. 둘 다 같은 버전으로 설치하십시오(최신 릴리스를 설치하면 해결됩니다).

드라이버 할당 또는 복원에 실패함

  • “관리자 권한 요청이 거부되었습니다”: 드라이버는 변경되지 않았습니다. 버튼을 다시 클릭하고 요청을 허용하십시오.
  • “드라이버를 변경하지 못했습니다”: 자세한 내용은 진단 > 로그를 확인하십시오.
  • “어댑터가 이전 드라이버로 돌아오지 않았습니다”: 어댑터를 Zadig로 설정한 경우 Windows가 Zadig의 WinUSB 드라이버 패키지를 다시 선택할 수 있습니다. 장치 관리자에서 그 드라이버 패키지를 제거한 다음(어댑터 > 디바이스 제거, “이 장치의 드라이버를 제거하려고 시도합니다” 선택), 어댑터를 뽑았다가 다시 꽂으십시오.
  • “드라이버는 복원되었지만 Windows는 Bluetooth 어댑터를 한 번에 하나만 사용합니다”: 다른 Bluetooth 어댑터(PC 내장 어댑터 등)가 Windows에서 사용 중입니다. Windows에서 대신 이 어댑터를 사용하려면 장치 관리자에서 다른 어댑터를 사용 안 함으로 설정한 다음, 이 어댑터를 뽑았다가 다시 꽂으십시오.
  • 어댑터가 원래 드라이버로 돌아간 뒤 장치가 Windows에서 연결되지 않음: Windows 설정에서 제거하고 다시 페어링하십시오. BlueCaster가 Windows에 넘겨주는 것은 Windows가 이 어댑터로 페어링했던 장치의 페어링뿐이며, LE 키는 넘겨주지 않습니다.

Bluetooth 어댑터가 응답하지 않음

어댑터를 연 후 아무 응답도 없으면(HCI Reset에 응답하지 않음), BlueCaster는 5초 후 포기하고 한 번 더 연 다음, 그래도 응답하지 않으면 “Bluetooth 어댑터가 응답하지 않습니다”를 표시합니다. 어댑터를 뽑았다가 다시 꽂은 후 다시 시도하십시오(또는 Bluetooth 다시 시작). BlueCaster를 다시 시작할 필요는 없습니다. 시작에 실패하면 어댑터가 해제되고, 새로 시작할 때마다 다시 초기화됩니다.

어댑터가 멈추지 않도록 BlueCaster는 어댑터를 열 때 USB 파이프를 재설정하고, 닫을 때 HCI Reset을 보냅니다.

업데이트 후 페어링 문제

BlueCaster는 General Bonding과 함께 SSP(Just Works)로 페어링하며, 링크 키를 저장하므로 헤드폰은 다시 페어링하지 않고도 다시 연결할 수 있습니다(v2는 v1의 링크 키를 읽습니다). 이전 BlueCaster 빌드로 헤드폰을 페어링했는데 더 이상 연결되지 않으면, 헤드폰에서 BlueCaster 페어링을 삭제하고(페어링 목록 삭제 방법은 헤드폰 설명서 참조) 다시 페어링하십시오.

연결 시간 초과

BlueCaster는 헤드폰이 오디오 소스로 인식할 수 있도록 SDP 레코드(A2DP Source, AVRCP Controller / Target)를 등록합니다. 연결 시도가 시간 초과되면 반쯤 열린 연결은 해제되므로, BlueCaster를 다시 시작하지 않고 그냥 다시 시도하면 됩니다. 헤드폰이 켜져 있고, 범위 내에 있으며, 다른 장치에 연결되어 있지 않은지 확인하십시오.

링크가 연결된 후 아무것도 전달되지 않았거나 헤드폰이 응답하지 않아 연결에 실패하면 자동으로 다시 시도합니다(최대 3회). 헤드폰이 더 이상 페어링 정보를 모르는 경우(초기화했거나 다른 PC와 페어링함) 저장된 키를 삭제하고 페어링을 한 번 더 수행합니다. 이때 오류 메시지에 무슨 일이 있었는지 표시됩니다.

메시지 의미
장치가 응답하지 않았습니다 꺼져 있음, 범위 밖, 또는 연결 불가 상태 (새 장치: 페어링 모드)
연결은 되었지만 데이터가 전달되지 않았습니다 무선 환경 문제: 다시 시도하거나 어댑터 / 장치를 옮겨 보십시오
장치가 응답한 후 스스로 연결을 종료했습니다 지금은 연결을 받지 않음: 전원을 끄는 중, 충전 중, 또는 다른 장치에 연결됨
다시 페어링한 후에도 인증에 실패했습니다 장치를 페어링 모드로 전환하거나 페어링 목록 항목을 삭제한 후 다시 시도하십시오

헤드폰과의 첫 연결에는 페어링 모드가 필요하며, 이후에는 저장된 링크 키로 다시 연결됩니다. 페어링 모드인데도 실패하면 헤드폰이 아직 휴대폰이나 다른 PC에 연결되어 있을 수 있습니다(LE Audio 포함). 그쪽 연결을 끊고, 헤드폰 앱에 LE Audio 옵션이 있으면 끈 다음, 페어링 모드로 전환하고 다시 연결하십시오. 이때 로그에는 signaling connection failed (0x66)(보안상 거부: 헤드폰이 이 PC의 Windows Bluetooth 등과의 이전 페어링 키를 보관하고 있음) 또는 (0x67)(리소스 부족으로 거부: 다른 장치가 사용 중)이 표시됩니다.

끊어진 연결은 자동으로 다시 연결됩니다(최대 10회). 스트리밍 중에 PC가 절전 모드로 전환되면 BlueCaster는 복귀한 후 다시 연결하며, 이 시도는 횟수에 포함되지 않습니다.

헤드폰을 껐다 켜서 PC와 휴대폰 사이를 옮겨 다니는 경우에는 오디오 장치 > 자동으로 다시 연결을 끄십시오. 그러면 끊어진 연결은 끊긴 채로 남고 BlueCaster가 Bluetooth 어댑터를 놓아주므로, 헤드폰이 휴대폰에 연결할 수 있습니다. PC에 다시 연결하려면 홈에서 연결을 누르십시오.