W czerwcu 2017 r. Wydano Linphone Desktop 4. Dzięki temu jego autorzy Belledonne Communications zmienili z GTK + 2 na Qt 5.9 LTS (a ściślej: zmienili na QML z Qt Quick Controls 2). Ponadto dodali możliwość pobrania gotowego pliku binarnego za pośrednictwem Flatpak . Dlatego chociaż poprzednie odpowiedzi były prawidłowe w tamtym czasie, zmieniły się:
a) Pobierz z Flatpak
sudo add-apt-repository ppa:alexlarsson/flatpak
sudo apt update
sudo apt install flatpak
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
flatpak --user install --from https://linphone.org/flatpak/linphone.flatpakref
flatpak run com.belledonnecommunications.linphone --verbose
b) Kompilacja ze źródła
- przejść na Ubuntu 14.04 LTS i / lub
- debugować / współtworzyć Linphone, ponieważ jesteś programistą i / lub
- aby korzystać z najnowszych funkcji i poprawek błędów i / lub
- aby uzyskać więcej kodeków audio i wideo.
Wariant przez Flatpak daje jako kodek wideo tylko VP8. Jeśli zbudujesz siebie, MP4V-ES, H.263 i H.264 zostaną dodane. Wraz z dodawaniem kodeków audio, AMR, AMR-WB, iLBC, iSAC i SiLK. Ponadto opcjonalnie możesz dodać nawet G.726 i kodek 2. Jednak na dzień dzisiejszy te dwa moduły muszą zostać załatane, aby współpracowały z innymi implementacjami VoIP / SIP (zła endianność i zła przepływność).
Aby się skompilować, potrzebujesz Qt Framework. Dlatego
a) wybierasz Instalatora Qt lub
b) wybieracie Ubuntu 18.04 LTS i jego istniejące pakiety Qt 5.9.
Krok 1a: Instalator Qt
wget download.qt.io/official_releases/online_installers/qt-unified-linux-x64-online.run
chmod u+x ./qt-unified-linux-*.run
./qt-unified-linux-*.run
W Instalatorze wybierasz opcje Qt → Qt 5.9.x → Pulpit. Po ustawieniu PATH
i Qt5_DIR
upewnij się, że odpowiada wersji, którą pobrałeś:
Qt5_DIR="~/Qt/5.9.9/gcc_64/lib/cmake"
PATH="~/Qt/5.9.9/gcc_64/bin/:$PATH"
Krok 1b: Pakiety Qt
sudo apt install qt5-default qttools5-dev qttools5-dev-tools libqt5svg5-dev libqt5texttospeech5-dev qtdeclarative5-dev qtdeclarative5-dev-tools qtquickcontrols2-5-dev qml-module-qtquick-controls qml-module-qtquick-controls2 qml-module-qtquick-dialogs qml-module-qtqml-models2 qml-module-qtquick-templates2 qml-module-qt-labs-folderlistmodel qml-module-qt-labs-settings qml-module-qt-labs-platform
Jak wspomniano powyżej, działa to tylko z najnowszym Ubuntu. W przypadku starszych wersji Ubuntu wybrałbym instalator Qt, jak opisano w alternatywie A. Ponadto komentarze w kodzie źródłowym wskazują , że Belledonne Communications nie trzyma się wersji długoterminowych (LTS), ale będzie wymagać następnej stabilnej release, kiedy jedna po następnej stabilnej gałęzi została wydana (na przykład, kiedy Qt 5.11 jest wydany, Linphone może już wymagać Qt 5.10). Dlatego po przeczytaniu tej odpowiedzi ta alternatywa B może już nie być opcją.
Krok 2 dla Ubuntu 14.04 LTS
sudo apt install autoconf libasound2-dev build-essential libbsd-dev cmake3 curl doxygen git libglew-dev graphviz libtool default-jre-headless nasm libpcap-dev pkg-config python-pystache python-six libudev-dev libwww-perl libxv-dev yasm libpolarssl-dev libsqlite3-dev libxml2-dev libsrtp0-dev libgsm1-dev libopus-dev libspeexdsp-dev libavcodec-extra libavcodec-dev libswscale-dev libv4l-dev libvpx-dev libantlr3c-dev antlr3 xsdcxx libxerces-c-dev libspandsp-dev libopencore-amrnb-dev libopencore-amrwb-dev libvo-amrwbenc-dev
Krok 2 dla Ubuntu 16.04 LTS
sudo apt install autoconf libasound2-dev build-essential libbsd-dev cmake curl doxygen git libglew-dev graphviz libtool default-jre-headless nasm libpcap-dev pkg-config python3-distutils python3-pystache python3-six libudev-dev libwww-perl libxv-dev yasm libmbedtls-dev libsqlite3-dev libxml2-dev libsrtp0-dev libgsm1-dev libopus-dev libspeexdsp-dev libavcodec-extra libavcodec-dev libswscale-dev libv4l-dev libvpx-dev libantlr3c-dev antlr3 xsdcxx libxerces-c-dev libspandsp-dev libopencore-amrnb-dev libopencore-amrwb-dev libvo-amrwbenc-dev libcodec2-dev
Krok 2 dla Ubuntu 18.04 LTS
sudo apt install autoconf libasound2-dev build-essential libbsd-dev cmake curl doxygen git libglew-dev graphviz libtool default-jre-headless nasm libpcap-dev pkg-config python3-distutils python3-pystache python3-six libturbojpeg0-dev libudev-dev libwww-perl libxv-dev yasm libmbedtls-dev libsqlite3-dev libxml2-dev libsrtp2-dev libgsm1-dev libopus-dev libspeexdsp-dev libavcodec-extra libavcodec-dev libswscale-dev libv4l-dev libvpx-dev libantlr3c-dev antlr3 xsdcxx libxerces-c-dev libspandsp-dev libopencore-amrnb-dev libopencore-amrwb-dev libvo-amrwbenc-dev libcodec2-dev
Krok 3
git clone git://git.linphone.org/linphone-desktop --recursive
cd ./linphone-desktop
python3 prepare.py --use-system-dependencies --all-codecs --debug --list-cmake-variables -DENABLE_AMRWB=OFF -DENABLE_AMR=OFF -DENABLE_UNMAINTAINED=ON -DENABLE_JPEG=OFF
make
gdb ./OUTPUT/desktop/bin/linphone -ex 'run --verbose'
W Ubuntu 14.04 LTS wybierasz python2
. W Ubuntu 18.04 LTS możesz usunąć -DENABLE_JPEG=OFF
. W Ubuntu 19.10 musisz łatać plik nagłówka . Na dzień dzisiejszy kilka błędów dotyczy implementacji AMR (-WB); dlatego tutaj jest wyłączone.
Uwaga dodatkowa: Proszę dokładnie sprawdzić wartość quality_reporting_enabled
w pliku, ~/.config/linphone/linphonerc
czy odzwierciedla on Twoje dane dotyczące gromadzenia danych i interesy prywatności. Dla mnie 0
wyłączone dane telemetryczne, które były wysyłane do Belledonne Communications po każdym połączeniu. Nie znalazłem jednak sposobu na zmianę tej wartości za pomocą graficznego interfejsu użytkownika.