LINUX.ORG.RU
ФорумTalks

Bluetooth и кодеки

 , ,


1

1

Привет, ЛОР!

А вот объясни мне, пожалуйста, такую штуку. Насколько я понимаю, A2DP позволяет использовать любой кодек. Единственное требование в реализации профиля: сделать поддержку SBC как фоллбэка. В итоге, есть наушники с AAC, с разными вариантами aptX, Sony свой собственный LDAC запилили.

Мой вопрос: а почему нет Bluetooth-наушников с нативной поддержкой FLAC? Что именно этому мешает? Лицензию покупать не нужно, с патентами тоже проблем нету.

Ответ на: комментарий от hateyoufeel

Где об этом можно почитать? Как про flac, так и про lossless кодирование в принципе.

Думаю, где-то на википедии должно быть. Lossless-кодирование в самой своей сути не может обеспечить сжатие с постоянным коэффициентом, т.к. оно невозможно для произвольных данных.

В любом случае, разве это не решить буферизацией?

Буфер должен быть размером в секунды, в худшем случае, а для Bluetooth все пытаются его наоборот, максимально уменьшить.

А какая максимальная пропускная способность у BT? Я читал про 2-3 мегабита минимум. Опять же, даже с учётом потерь мегабитный флак можно прокинуть.

1414 и 1429 кбит/с точно недостаточно для передачи несжатого звука в реальных условиях, с зашумленным диапазоном 2.4 ГГц и необходимостью передачи служебных данных. EDR 3 мбит/с требователен к мощности передачи и шумам в эфире, поэтому, даже в режиме 3-DH5, комфортная передача PCM невозможна, постоянно будут кратковременные прерывания, и всё будет работать только на расстоянии в пару метров. На практике, даже 990 кбит/с-аудиопоток (LDAC 990 kbit/s) передаётся с трудом.

https://habr.com/ru/post/427997/

ValdikSS ★★★★★
()
Ответ на: комментарий от ValdikSS

Короче, всё упирается в пропускную способность. Спасибо, понял.

hateyoufeel ★★★★★
() автор топика

Вся проблема в том как работает блютус. Все эти космические скорости современного BT - никак не относятся к A2DP.

У A2DP - битрейт не такой уж высокий, максимум 500 килобит в секунду для типичных китайских ушей. Для многих наушников - получить выше просто нереально. При этом, BT с его мощностями очень нестабилен. И получить даже эти 500 килобит постоянно - очень сложно.

Отсюда возникает вторая проблема - задержки в передачи звука вызванные разнообразной буферизацией, и алгоритмической сложностью кодеков. Либо у нас большой буфер как на передатчике так и на наушниках - и по итогу конские задержки звука по секунде и выше, либо у нас простой и адаптивный кодек который может в течении считанных миллисекунд перестроиться на новый битрейт.

А по поводу SBC - его главное достоинство - относительно низкие задержки. Мне удавалось с вручную дописанными модулями bluetooth для pulseaudio - получать задержки порядка 80мс с вполне приличным качеством. Меньше уже практически нереально. Другие кодеки из-за своей сложности такого не позволяют, увы.

DawnCaster ★★
()
Ответ на: комментарий от DawnCaster

Блин, «тред не читай, сразу отвечай» )))

ValdikSS выше уже ответил. Я, кстати, именно по его туториалам и документации и допиливал SBC в этом вот проекте: https://github.com/EHfive/pulseaudio-modules-bt

За что ему огромное спасибо, сам-бы я в премудростях A2DP и SBC разбирался-бы лет 100.

DawnCaster ★★
()
Последнее исправление: DawnCaster (всего исправлений: 2)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.