Edytuj 2018-10-27: Trwają prace nad obsługą LDAC, APTX (-HD) i AAC dla PulseAudio. Na GitHub firmy EHfive znajduje się repozytorium z łatkami, a także PPA od 18.04. Więcej informacji na Wiki. Wygląda na to, że łatki pojawią się w pewnym momencie. Sprawdziłem PPA 18.04, działa, choć zastępuje PA 11.1 12, instaluje nowszą wersję ffmpeg i x265.
Edytuj 2017-12-18: Musiałem go przegapić kilka tygodni temu, ale wygląda na to, że w FFmpeg jest teraz koder . Według mojej wiedzy nie ma obecnie przyjaznego dla użytkownika rozwiązania.
Krótka odpowiedź
Musisz użyć specjalnych markowych kluczy Bluetooth. Spójrz więc na Jak mogę używać aptX? sekcji tej odpowiedzi lub przejrzyj stronę aptx.com w poszukiwaniu nadajników .
Dłuższa odpowiedź
Problemy z licencjonowaniem
Kodek aptX jest zastrzeżonym standardem, który CSR nabył od APT Licensing Ltd. w celu opracowania i wprowadzenia na rynek zasilanych aptX wysokiej jakości rozwiązań audio Bluetooth poprzez znakowanie składników . Masz rację, jest to strategia CSR na sprzedaż ekskluzywnych żetonów.
Podczas przeglądania umowy licencyjnej na dekoder znalazłem następującą klauzulę :
- wdrożyć Oprogramowanie jako oprogramowanie wewnętrzne w bezpiecznym kodzie osadzonym w Licencjobiorcy
Chociaż nie odpowiada to na pytania dotyczące kodera, powiedziałbym, że sytuacja jest co najmniej tak trudna, jak w przypadku innych zastrzeżonych kodeków i komponentów oprogramowania ( 1 , 2 , 3 ).
Jak zatem mogę użyć aptX?
Możesz go używać, nie tylko jako rozwiązanie wolnego oprogramowania.
Możesz znaleźć specjalne markowe klucze Bluetooth, tak zwane nadajniki aptX. Nie są to typowe klucze Bluetooth w rozmiarze nano lub pico, ale urządzenia USB Audio Class. (Aby uzyskać więcej informacji, zapoznaj się z sekcją klas urządzeń w artykule na temat USB w Wikipedii). Oznacza to, że urządzenia te zostaną rozpoznane jako karty dźwiękowe i nie zapewnią łączności Bluetooth z komputerem hosta. Jest też jedna poważna wada: kosztują one prawie 10 razy tyle, co zwykłe klucze Bluetooth.
Lista nadajników aptX lub kluczy Bluetooth z obsługą aptX w kolejności alfabetycznej:
- Creative BT-D1 USB Transmitter Bluetooth, Bluetooth 2.1 + EDR
- Creative BT-W1 / BT-W2 USB, Bluetooth 2.1 + EDR
- Sennheiser BTD 500 USB, Bluetooth 3.0
- Avantree BTDG-50-WGR, Bluetooth 4.1 z aptX LL
(Suplementy są mile widziane! Chciałbym zobaczyć - najlepiej tańsze - alternatywy).
Sprawdź skonfigurowany kodek połączenia
Zainstaluj bluez-hcidump
i uruchom sudo hcidump avdtp
, a następnie podłącz urządzenie i poszukaj negocjacji konfiguracji. Oto wynik, który otrzymałem (patrz także ), wygląda na to, że wypróbował aptX, AAC i ostatecznie zdecydował się na SBC.
$ sudo hcidump avdtp
HCI sniffer - Bluetooth packet analyzer ver 5.35
device: hci0 snap_len: 1500 filter: 0x400
< AVDTP(s): Discover cmd: transaction 11 nsp 0x00
> AVDTP(s): Discover rsp: transaction 11 nsp 0x00
ACP SEID 5 - Audio Sink
ACP SEID 3 - Audio Sink
ACP SEID 1 - Audio Sink
< AVDTP(s): Capabilities cmd: transaction 12 nsp 0x00
ACP SEID 5
> AVDTP(s): Capabilities rsp: transaction 12 nsp 0x00
Media Transport
Media Codec - non-A2DP (aptX)
16kHz 32kHz 44.1kHz 48kHz
Stereo
< AVDTP(s): Capabilities cmd: transaction 13 nsp 0x00
ACP SEID 3
> AVDTP(s): Capabilities rsp: transaction 13 nsp 0x00
Media Transport
Media Codec - MPEG-2,4 AAC
MPEG-2 AAC LC MPEG-4 AAC LC
8kHz 11.025kHz 12kHz 16kHz 22.05kHz 24kHz 32kHz 44.1kHz 48kHz
1 2 Channels
320000bps VBR
Content Protection
02 00
< AVDTP(s): Capabilities cmd: transaction 14 nsp 0x00
ACP SEID 1
> AVDTP(s): Capabilities rsp: transaction 14 nsp 0x00
Media Transport
Media Codec - SBC
16kHz 32kHz 44.1kHz 48kHz
Mono DualChannel Stereo JointStereo
4 8 12 16 Blocks
4 8 Subbands
SNR Loudness
Bitpool Range 2-53
Content Protection
02 00
< AVDTP(s): Set config cmd: transaction 15 nsp 0x00
ACP SEID 1 - INT SEID 1
Media Transport
Media Codec - SBC
44.1kHz
JointStereo
16 Blocks
8 Subbands
Loudness
Bitpool Range 2-53
> AVDTP(s): Set config rsp: transaction 15 nsp 0x00
< AVDTP(s): Open cmd: transaction 0 nsp 0x00
ACP SEID 1
> AVDTP(s): Open rsp: transaction 0 nsp 0x00
< AVDTP(s): Start cmd: transaction 1 nsp 0x00
ACP SEID 1
> AVDTP(s): Start rsp: transaction 1 nsp 0x00
< AVDTP(m): ver 2 cc 0 pt 1 seqn 0 time 0 ssrc 1
< AVDTP(m): ver 2 cc 0 pt 1 seqn 1 time 896 ssrc 1
Rozwiązywanie problemów
- A2DP jest jednokierunkowy, możesz słuchać muzyki tylko za pomocą A2DP . Do połączeń głosowych używaj profili HSP / HFP.
- Jeśli słuchawki lub urządzenia nie zostaną rozpoznane lub wymienione jako urządzenia wyjściowe, na przykład w VLC, spróbuj przełączyć na inną kartę dźwiękową i wrócić za pomocą ustawień dźwięku. Urządzenia powinny wtedy zostać rozpoznane.
Co z telefonem Ubuntu?
Nie wiem, czy Ubuntu na telefony obsługuje ten kodek. Dokumenty CSR mówią, że rozwiązania są dostępne dla producentów urządzeń z Androidem, więc zakładam, że to producenci telefonów decydują, czy i jak. Oczywiście Ubuntu Touch ogólnie obsługuje zestawy słuchawkowe Bluetooth i mogłem sparować mój Nexus 4 z systemem Ubuntu z zestawami słuchawkowymi, które testowałem.
Moje doświadczenie i testy
Testowane moduły i klucze Bluetooth:
- Komputer stacjonarny z kluczami nano Bluetooth 2.1 i 4.0, Lenovo T530 z wbudowanym modułem. - A2DP osiągnął prawie taki sam poziom jakości jak BTD 500 podczas odtwarzania muzyki z plików FLAC. Dźwięk z filmów był zsynchronizowany z 14.04.
- Sennheiser BTD 500 USB. - Parowanie trwa tak długo, jak w przypadku zwykłych kluczy sprzętowych nieobsługujących NFC.
Testowane zestawy słuchawkowe:
- Philips Fidelio M1BTBL, Bluetooth 4.0. - Działa poprawnie ze wszystkimi kluczami sprzętowymi i modułami.
- Sony MDR-10RBT, Bluetooth 3.0, NFC. - Działa poprawnie ze wszystkimi kluczami sprzętowymi i modułami.
- Creative Sound Blaster EVO ZxR, Bluetooth 2.1, NFC. - Ten miał najlepszy zasięg odbioru spośród wszystkich trzech, ale nie mógł połączyć się z BTD 500.