Praktyczny test klientów SIP | Command Line 1

W pierwszym odcinku Command Line staramy się praktycznie i rzeczowo pokazać różnice pomiędzy kilkoma dostępnymi klientami protokołu SIP. Temat, który będziemy pewnie nie raz odświeżać, ale na pewno warto posłuchać o naszych długotrwałych eksperymentach i ich wynikach. Testowane aplikacje to: Blink, Jitsi, Linphone, Ring, Hangout.

Jest to inauguracyjny odcinek serii Command Line, stąd imprezowa czapeczka Freda 🙂 Opowiadamy nie tylko o planach na podkast ale też przedstawiamy pierwszy techniczny temat. Temat, który pojawił się właściwie sam. Od kilku miesięcy szukaliśmy idealnego oprogramowania do komunikacji audio i wideo w naszym wirtualnym studio. Poszukiwaliśmy nie tylko wygodnego w użyciu narzędzia, ale głównie takiego, umożliwiającego realizację wysokiej jakości nagrań z naszych technicznych dyskusji.

Materiały dodatkowe do odcinka:

 

Blink

Linphone

Jitsi

Ring

Hangout

Ekiga

 

testowana wersja

2.0.0

3.10.2

2.8.5426

Beta 2

 

4.01

 

istnieje od

od 2009

od 2001

od 2003

bazuje na SFLphone, istniejącym od 2009

od maja 2013

 

od 2000

 

licencja

OSX: Blink License, Windows i Linux: GPLv3 lub FreeBSD

GNU GPLv2

Apache 2.0

GNU GPLv3

Freeware

GPL 2.0

 

rozwijane przez

AG Projects

Belledonne Communications

Jitsi Team and Contributors

Savoir-faire Linux, wraz z globalną społecznośćią

 

Google

Damien Sandra i niezależni programiści

 

 

strona projektu

http://icanblink.com

https://www.linphone.org

https://jitsi.org

https://ring.cx

https://hangouts.google.com

http://ekiga.org

 

ergonomia interfejsu

– klasczny interface komunikatora

– intuicyjnie zaprojektowane menu

– optymalny balans między zaawansowaniem i szegółowością opcji a wygodą uzytkowania

– brak szczegółowych informacji o połączeniu (dobrze zaprezentowane informacje podstawowe)

– klasyczny interface z listą kontaktów i historią aktywności

– brak GUI do konfiguracji opcji kodeków

– mniej intuicyjne niz Blink

– brak wyświetlania technicznych informacji o połączeniu

– klasyczny interface z listą kontaktów

– dużo opcji i szegółowa konfiguracja, całkiem ergonomicznie rozplanowana

– szczegółowa ale mało intuicyjna i skomplikowana konfiguracja kodeka H264

– mnogość opcji może przytłaczać mało zaawansowanego użytkownika

– bardzo szczegółowe informacje o parametrach trwającego połączenia

– nietypowy interface, ciekawie rozwiązana konfiguracja ustawień

– jako jedyny: mozliwość regulacji jakości video w trakcie połączenia

– brak wyświetlania informacji o parametrach trwającego połączenia

– prosty intuicyjny interface bez zaawansowanych opcji konfiguracji

– podobnie jak w pozostałych usługach Google

 

– klasyczny interface z listą kontaktów

– interface „sprzed kilku lat

– proste ale skuteczne opcje konfiguracyjne

– brak nadmiaru opcji

– prezentuje podstawowe informacje techniczne o trwającym połączeniu

 

dostepne kodeki

audio:

OPUS, SPEEX, G.722, G.711a, G.711u, iLBC, GSM

 

video:

H.264, VP8

 

bakcendy audio (linux): alsa, pulseaudio

audio:

OPUS, SILK, SPEEX, G722, AMR-WB (G722.2), GSM 6.10, AMR-NB, ILBC, G729, G711

 

video:

H.264, VP8, MPEG4

 

backendy audio (linux): alsa, pulseaudio

audio:

OPUS, SILK, SPEEX, AMR, ILBC, G722, GSM, PCMA, PCMU

 

video:

H.264, H.263, VP8, red, ulpfec

 

backendy audio (linux):

pulseaudio, portaudio

audio:

Opus, G711u, G711a, GSM, Speex (8, 16, 32 kHz), G.722

 

video:

h264, VP8, MP4V-ES, H263-1998

 

backedy audio (linux):

alsa, pulseaudio, jackaudio (poprzez modul jackaudio ladowany przez pulseaudio)

WebRTC

– używa VP8 do kodowania wideo i Opus (lub innych np. iLBC, iSAC, G.711, G.722) do audio

 

audio:

iLBC, GSM 06.10, MS-GSM, G.711 A-law, G.711 µ-law, G.726, G.721, Speex, G.722, CELT (also G.723.1, G.728, G.729, GSM 06.10, GSM-AMR, G.722.2 [GSM‑AMR-WB] using Intel IPP

 

video:

H.264, H.261, H.263+, Theora, MPEG-4

 

backendy audio:

alsa, pulseaudio

 

 

obslugiwane protokoly

SIP, Bonjour (LAN)

SIP

SIP, XMPP, IRC, MSNP, OSCAR, YMSG, AIM/ICQ, Facbook

RING, SIP

własny protokół

SIP, H.323

 

 

 

konfigurowalnosc

– rozdzielczość kamery, FPS

– proste ale skuteczne ustawienia kodeka H264

– ustawianie częstotliwości próbkowania audio

– możliwość włączenia/wyłączenia usuwania echa

– zaawansowane ustawienia sieci i protokołu SIP

 

– rozdzielczość kamery, FPS, dostępne także 3 presety

– możliwość podania dodatkowych parametrów wszystkich kodeków ale bez GUI i żadnych ułatwień, wymaga gruntownej znajomości kodeków

– wł/wył usuwanie echa

– zaawansowane ustawienia sieci i protokołu SIP

– bardzo szczegółowe opcje konfiguracji

– zaawansowane ustawienia wlasciwie każdego aspektu programu: sieć, kodeki, szyfrowanie, protokoły

– wł/wył usuwania echa oraz wł/wył redukcji szumów

– standardowe opcje kamery i rozdzielczości

– zaawansowane opcje sieciowe

– BRAK MOŻLIWOŚCI wyłączenia usuwania echa (linux)

– możliwość konfiguracji jakości video w trakcie trwania połączenia

– prosta konfiguracja: wybór kamery, mikrofonu oraz jakości połączenia video

– możliwości konfiguracji ograniczone do minimum, zgodnie z filozofią: Google wie lepiej jak to ma działać

– prosta ale skuteczna konfiguracja

– wł/wył usuwanie echa

– wł/wył detekcję ciszy

– regulowany rozmiar bufora audio

– brak szczegółowych opcji kodeków, sieci i protokołów

 

implementacja w

 

Python

 

C

Java

C/C++

N/A

C/C++

 

sprzetowe wspomaganie video

– OSX: nie

– linux: nie

– OSX: tak, wykorzystanie wsparcia GPU dla kodeka H.264

– linux: nie

linux: nie

osx: nie

osx: tak

nie

brak danych

 

subiektywna ocena jakosci polaczenia + video z prezentacja

– bardzo dobra jakość video i audio

 

– słabe video

– problemy z prezentowaniem pulpitu

– przy h.264 w wysokiej rozdzielczości – video praktycznie nieczytelne

– w miarę akceptowalne video

– czasami trzeszczące audio ze strony klienta na Linux’ie

– domyślnie niska rozdzielczość i jakość video ale bardzo małe opóźnienie

– wysoka jakość audio i video

– bardzo dobra jakość audio

– jakość video dopasowywana automatycznie w zależności od kilku czynników: zasoby sprzętowe, jakość polączenia itp.

 

– niska jakość, kłopoty przy próbie zwiększenia rozdzielczości

 

czym zawodzi

– problemy z udostępnianiem pulpitu

– maksymalna wspierana rozdzielczość video to SVGA (800×600)

– trudna konfiguracja kodeków

– brak możliwośći wyłączenia usuwania echa

– problemy typowe dla wersji beta: niska stabilność, losowe, zaskakujące zachowania GUI, samoistne wyłączanie się aplikacji

– program wyraźnie buforuje nieskompresowane video i wprowadza duże opóźnienia

– częste spadki na jakości wideo

– brak możliwości konfiguracji detali kodowania audio/wideo

– czasami zawodzi możliwość prezentowania ekranu

– brak kodeka OPUS

– maksymalna wspierana rozdzielczość video to 640×480

– dostępny wyłącznie na Linux

 

czym zachwyca

– bardzo wysoka jakość video i audio po wybraniu odpowiednich opcji kodeka H264 i Opus

 

– dostępność na wszystkie główne platformy: osx, windows, linux, ios, android

 

– najbardziej konfigurowalne rozwiązanie ze wszystkich testowanych

– jitsi videobridge: wideokonferencje dla wielu osób

– jitsi meet: wersja web wideokonferencji dla wielu osób, można skonfigurować serwer samodzielnie lub skorzystać np. z: https://meet.jit.si/

 

– autorski protokół RING z anonimowym kontem

– możliwość konfiguracji jakości video w trakcie trwającego połączenia

– dostępność na wszystkie główne platformy poza iOS: windows, linux, osx, android

– obsługa jackaudio (poprzez automatyczny ‚bridge’ do Pulseaudio, realizowany modułami jackaudio-module)

– bardzo dobre audio

– przy niskiej przepustowości sieci lub problemach z połączeniem, automatycznie dostosowuje jakość video utrzymując tym samym audio na wysokim poziomie

– prostota i skuteczność

 

EFF Secure Messaging Scorecard

   

6 / 7

 

2 / 7

   

podsumowanie

Oferuje znakomitą jakość połączenia i wiele ciekawych opcji

Dostępność na wszystkie platformy i nietrudna konfiguracja czyni go najlepszym komunikatorem dla przeciętnego użytkownika

Najlepszy dla power-usera chcącego ingerować w każdy aspekt połączenia

Niezwykle obiecujący ale niedopracowany jeszcze produkt

Click and forget 🙂

Zapomniany nieco komunikator wymagający znacznego odświeżenia kodu

 
               
               

Odcinek dostępny jest także na portalu Youtube: https://youtu.be/AIqaM8Mn-4g

Znajdziesz nas na Twitterze:
Fred: @fredblacksheep
Krzysztof: @KZBlackSheep

Podkasty audio oraz video, do oglądania przez stronę:

Komentarze