Nel giugno 2017 è stato rilasciato Linphone Desktop 4. Con ciò, i suoi autori Belledonne Communications sono passati da GTK + 2 a Qt 5.9 LTS (per essere più precisi: sono passati a QML con Qt Quick Controls 2). Inoltre, hanno aggiunto la possibilità di scaricare un file binario pronto all'uso tramite Flatpak . Pertanto, sebbene le risposte precedenti fossero corrette al momento, sono cambiate:
a) Download da 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) Build from Source
- per Ubuntu 14.04 LTS e / o
- per eseguire il debug / contribuire a Linphone perché sei uno sviluppatore e / o
- per usufruire delle ultime funzionalità e correzioni di bug e / o
- per ottenere più codec video e audio.
La variante tramite Flatpak ti offre come codec video solo VP8. Se ti costruisci, vengono aggiunti MP4V-ES, H.263 e H.264. Con l'aggiunta di codec audio, vengono aggiunti AMR, AMR-WB, iLBC, iSAC e SiLK. Inoltre, facoltativamente, puoi aggiungere anche G.726 e Codec 2. Tuttavia, ad oggi, questi due moduli devono essere patchati per funzionare con altre implementazioni VoIP / SIP (endianness e bitrate errati).
Per compilare te stesso, hai bisogno di Qt Framework. Pertanto,
a) scegli il programma di installazione Qt oppure
b) scegli Ubuntu 18.04 LTS e i suoi pacchetti Qt 5.9 esistenti.
Passaggio 1a: programma di installazione 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
Nel programma di installazione, scegli Qt → Qt 5.9.x → Desktop. Quando si imposta PATH
e Qt5_DIR
, assicurarsi che corrisponda alla versione scaricata:
Qt5_DIR="~/Qt/5.9.9/gcc_64/lib/cmake"
PATH="~/Qt/5.9.9/gcc_64/bin/:$PATH"
Step 1b: Pacchetti 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
Come notato sopra, questo funziona solo con l'ultimo Ubuntu. Per le versioni precedenti di Ubuntu, sceglierei il programma di installazione Qt come descritto in alternativa A. Inoltre, i commenti nel codice sorgente indicano che Belledonne Communications non si attacca alle versioni di supporto a lungo termine (LTS) ma richiederà il prossimo stabile rilascio, quando è stato rilasciato uno dopo il successivo ramo stabile (ad esempio, quando viene rilasciato Qt 5.11, Linphone potrebbe già richiedere Qt 5.10). Pertanto, quando leggi questa risposta, questa alternativa B potrebbe non essere più un'opzione.
Passaggio 2 per 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
Passaggio 2 per 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
Passaggio 2 per 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
Passaggio 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'
In Ubuntu 14.04 LTS, vai per python2
. In Ubuntu 18.04 LTS, puoi rimuovere il file -DENABLE_JPEG=OFF
. In Ubuntu 19.10, devi patchare un file di intestazione . Ad oggi, diversi bug sono presenti nell'implementazione AMR (-WB); quindi è disabilitato qui.
Nota a margine: ricontrolla il valore di quality_reporting_enabled
nel file ~/.config/linphone/linphonerc
se riflette i tuoi interessi di raccolta dati e privacy. Per me, ho 0
disabilitato i dati di telemetria che sono stati inviati a Belledonne Communications dopo ogni chiamata. Tuttavia, non ho trovato alcun modo per modificare quel valore tramite l'interfaccia utente grafica.