Jak opisano w tytule, występuję pół sekundy opóźnienia podczas odtwarzania dźwięku przez Bluetooth z A2DP.
To uniemożliwia oglądanie filmów, ponieważ dźwięk nie jest zsynchronizowany z wideo.
Nie jestem pewien, czy opóźnienie jest spowodowane standardem Bluetooth, protokołem A2PD, implementacją A2DP w Ubuntu 12.04, czy odbiornikiem Bluetooth Belkin Z73.
W każdym razie, czy to normalne opóźnienie? Czy istnieje sposób odtwarzania dźwięku przez Bluetooth bez zauważalnego opóźnienia?
pulseaudio
bluetooth
brillout
źródło
źródło
mplayer
, robisz to naciskając klawisze+
i-
. W VLC nie wiem, jak ustawić opóźnienie, ale byłbym zaskoczony, jeśli VLC nie ma takiej opcji.Tools->Track Synchronisation
lub gra z tą--audio-desync
opcją. Obawiam się, że nie jestem pewien, jakie są jednostki i jaki kierunek jest pozytywny, a pomoc nie nadchodzi w tej sprawie, ale tam właśnie chcesz spojrzeć.Odpowiedzi:
Nie, to nie jest normalne, ale czasami miałem podobny problem z moimi głośnikami Altec Lansing iMT525 Bluetooth. Coś podobnego w koncepcji do odpowiedzi Sri prawie zawsze działa dla mnie i muszę to zrobić tylko raz dla każdego połączenia.
Automatyczne przełączanie profili Bluetooth w celu ponownego zainicjowania PulseAudio
Jeśli szukasz winowajcy, przyjrzałbym się systemowi dźwiękowemu Ubuntu, najpierw PulseAudio, a następnie odbiornikowi bluetooth. Spróbuj tego:
Najpierw usuń i ponownie sparuj urządzenie Bluetooth.
Następnie skopiuj i wklej poniżej do
.sh
pliku w katalogu domowym, powiedz/home/brillout/pabluezswitch.sh
:Ustaw plik jako wykonywalny, otwierając terminal i pisząc
chmod +x ~/pabluezswitch.sh
Przejdź do Ustawienia ... Klawiatura ... Skróty i utwórz własny skrót; nadaj mu dowolną nazwę, używając polecenia as
/home/brillout/pabluezswitch.sh
(zastąp odpowiednią nazwę użytkownika na ścieżce!). Kliknij Zastosuj , a następnie kliknij po prawej stronie, gdzie jest napisane Wyłączony, aby skonfigurować skrót klawiaturowy do wykonania skryptu.Zmusza to system PulseAudio do ponownej synchronizacji dźwięku przesyłanego do zestawu słuchawkowego / głośników poprzez przełączanie profilów
ad2p -> hsp -> a2dp
, co ma nadzieję na pozbycie się wszelkich opóźnień.Za każdym razem, gdy połączysz się i zauważysz opóźnienie, naciśnij wybrany wyżej skrót klawiaturowy, aby spróbować naprawić opóźnienie - mam nadzieję, że to zadziała!
źródło
ad2p
ihsp
. Mój Bose ma tylkoad2p_sink
, a nie pozostałych dwóch.pacmd info | grep "current latency"
ipacmd stat
wydają się podawać te same liczby opóźnień / rozmiar bufora, bez względu na to, jak duże rzeczywiste opóźnienie rośnie (np. przy wyjmowaniu zestawu słuchawkowego z zasięgu i przywracaniu go z powrotem), więc może za opóźnienie odpowiada inna część stosu?ad2p_sink
ioff
działa dla mnie. Niedawno dodałem to do mojego skryptu Pulse Audio / Volume Control, który może być komuś pomocnysudo apt install pavucontrol
pavucontrol
z menuźródło
Od czasu do czasu mam podobny problem, niezależnie od użytego odtwarzacza. Mój to stereofoniczne słuchawki Bluetooth Nokia BH-503 z laptopem MSI CR400 i Ubuntu 11.10. Zdarzyło mi się obejście, które możesz wypróbować.
źródło
Najlepsza odpowiedź tutaj działa, ale nie dla każdego urządzenia audio Bluetooth. Niektóre urządzenia mają inne nazwy profili niż te, które ma ten plakat w głośnikach bluetooth. Na przykład w poniższym kodzie, który pierwotnie został opublikowany przez tę osobę, najwyraźniej ma ona profile o nazwach
a2dp
ihsp
. Żadne z nich nie jest dostępne na przykład z moimi tonami LG, ale są one dostępne z innymi urządzeniami, takimi jak zestaw słuchawkowy Sony.Wygląda na to, że ten kod będzie działał na większości urządzeń Bluetooth, ale aby działał poprawnie na tych urządzeniach, które nie mają profilu A2DP lub HSP, wpisz:
Spowoduje to zwrócenie wszystkiego po znalezieniu urządzenia Bluetooth. Na przykład dzięki zestawowi słuchawkowemu LG Tone Ultra otrzymuję:
Interesuje nas
profiles
sekcja. W tej sekcji, widzimy trzy profile, które sąa2dp_sink
,headset_head_unit
ioff
. Dwa profile, których potrzebujemy, powinny w nich mieć (zlew A2DP) i (HSP / HFP). W tym przypadku dotyczą onea2dp_sink
profilu a2dp iheadsethead_unit
profilu hsp. Zauważ, że różni się to od oryginalnego plakatua2dp
ihsp
.Teraz, z powyższym kodem, zmodyfikujemy go i umieścimy w pliku. Zadzwoniłem do pliku
bluezswitch.sh
.Przejdź do katalogu, w którym chcesz umieścić plik. Może być wszędzie.
Następnie
Skopiuj i wklej kod na samym początku tego komentarza, zamień
a2dp
ihsp
na wartości, które otrzymałeś po uruchomieniu powyższego polecenia, i wklej go do tego pliku. Tak na przykład wyglądał mój plik dla moich dźwięków LG.Teraz,
ctrl-x
po czymy
zapisać plik i opuścić nano, a następnie zrobić plik wykonywalny:Następnie wykonaj czynności, ustawiając skrót klawiaturowy, jak wyjaśniono.
To powinno być wszystko. To powinno działać dla wszystkich tych, dla których wcześniej nie działało.
źródło
a2dp_sink
,off
,a2dp_sink
w sekwencji działa bardzo dobrze dla mnie. Ustawienieheadset_head_unit
błędu We / Wy.Adaptacyjna różnicowa modulacja impulsowa polega na zastosowaniu algorytmu kompresji typu wybiegającego w przyszłość, w którym informacji nie można przesłać, zanim enkoder nie będzie w stanie zbadać kilku bajtów nadchodzących informacji. Dlatego dane muszą gromadzić się w koderze i istnieje nieodłączne przesunięcie czasowe między strumieniami wchodzącymi i wychodzącymi z enkodera. Dawno temu przeprowadziłem badanie opóźnień sieci danych, aby określić wykonalność telefonii VoIP (obecnie VoIP). Myślę, że doszedłem do wniosku, że kompresja / kodowanie w stylu ADPCM wprowadziłoby zbyt duże opóźnienie. Myślę, że aby rozwiązać ten problem z opóźnieniem Bluetooth, może być potrzebny koder dźwięku bez kompresji, który powinien mieć mniejsze opóźnienia.
źródło
Próbowałem wielu podejść do tego problemu, ale nic nie mogło go naprawić. Potem natknąłem się na set-port-latency-offset
Jeśli używasz pulseaudio:
To da ci interfejs bluetooth. Teraz ustaw odpowiednio opóźnienie:
Używam 100000 mikrosekund, co działa dobrze dla mnie.
źródło
Oto, co dla mnie rozwiązało:
$ sudo apt-get install phonon-backend-vlc
upewnij się, że jest to preferowany backend, w KDE przejdź do [Ustawienia systemu] [Multimedia] [Ustawienia audio i wideo] [Backend] i użyj przycisku [Preferuj]źródło
osoby, które mają ten problem Proszę przejrzeć tę stronę: http://projectzeorymer.wordpress.com/2011/09/01/ubuntu-how-to-connect-nokia-bh-503-bluetooth-headset-to-your-pc /, aby zobaczyć zdjęcie tego, co musisz pobrać.
Pobierz menedżera Bluetooth i użyj go do zmiany ustawień zestawu słuchawkowego. Ustaw ustawienia dźwięku na Odtwarzanie wysokiej jakości (A2DP), a następnie przejdź do ustawień dźwięku.
źródło
W odtwarzaczu VLC Media Player przejdź do Narzędzia Synchronizacja ścieżki Karta Synchronizacja W obszarze Synchronizacja ścieżki audio / wideo użyj wartości ujemnej, takiej jak około -0,67, a opóźnienie zostanie w pełni skompensowane. Musisz to zrobić ręcznie za każdym razem, gdy otwierasz nowy plik. Chris
źródło
Podobnie jak w przypadku odpowiedzi Timma, nie miałem również profili akceptowanej odpowiedzi. Ustawienie HSP dało kod błędu.
Skończyło się na użyciu następującego, prawie identycznego skryptu.
źródło
Wydaje się, że ta kwestia jest nadal aktualna po tylu latach.
Na podstawie odpowiedzi Arindama Mani Dasa i komentarza Billy'ego Farringtona stworzyłem następujący skrypt powłoki:
Używam 100000 mikrosekund, jak zalecił Arindam, i działa również dobrze dla mnie.
źródło