У червні 2017 року було випущено Linphone Desktop 4. З цим його автори Belledonne Communications змінили з GTK + 2 на Qt 5.9 LTS (якщо бути точнішим: вони змінили QML за допомогою Qt Quick Controls 2). Крім того, вони додали можливість завантажити готовий до використання бінарний файл через Flatpak . Тому, хоча попередні відповіді були правильними на той час, вони змінилися:
а) Завантажте з 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
б) Побудувати з джерела
- перейти на Ubuntu 14.04 LTS та / або
- для налагодження / сприяння в Linphone, оскільки ви розробник та / або
- користуватися найновішими функціями та виправленнями помилок та / або
- щоб отримати більше відео та аудіо кодеків.
Варіант через Flatpak дає вам як відеокодек саме VP8. Якщо ви будуєте себе, додайте MP4V-ES, H.263 та H.264. Як аудіокодеки додаються AMR, AMR-WB, iLBC, iSAC та SiLK. Крім того, ви можете додати навіть G.726 та Codec 2. Однак, на сьогоднішній день, ці два модулі потрібно виправити, щоб працювати з іншими реалізаціями VoIP / SIP (неправильна сторона та неправильний бітрейт).
Щоб скласти себе, вам потрібен Qt Framework. Таким чином, ви
a) перейдіть на інсталятор Qt або
б) перейдіть на Ubuntu 18.04 LTS та його наявні пакети Qt 5.9.
Крок 1a: Установник 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
У програмі установки ви переходите на Qt → Qt 5.9.x → Desktop. Коли ви встановите PATH
та Qt5_DIR
, переконайтеся, що він відповідає завантаженій версії:
Qt5_DIR="~/Qt/5.9.9/gcc_64/lib/cmake"
PATH="~/Qt/5.9.9/gcc_64/bin/:$PATH"
Крок 1b: Пакети 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
Як зазначалося вище, це працює лише з останньою Ubuntu. Для старих випусків Ubuntu я б попросив встановити Qt Installer, як описано в альтернативній версії А. Крім того, коментарі до вихідного коду вказують на те , що Belledonne Communications не дотримується випусків довгострокової підтримки (LTS), але вимагає наступної стабільної випуск, коли випущена одна за наступною стабільною гілкою (наприклад, коли Qt 5.11 випущено, для Linphone вже може знадобитися Qt 5.10). Тому, коли ви читаєте цю відповідь, ця альтернатива B вже може не бути варіантом.
Крок 2 для 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
Крок 2 для 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
Крок 2 для 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
Крок 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'
У Ubuntu 14.04 LTS ви йдете python2
. У Ubuntu 18.04 LTS ви можете видалити -DENABLE_JPEG=OFF
. У Ubuntu 19.10 вам потрібно виправити файл заголовка . На сьогоднішній день декілька помилок знаходяться у впровадженні AMR (-WB); тому він тут відключений.
Бічна примітка: Будь ласка, двічі перевірте значення quality_reporting_enabled
файлу, ~/.config/linphone/linphonerc
чи воно відображає ваші інтереси щодо збору даних та конфіденційності. Для мене 0
відключив телеметричні дані, які надсилалися до Belledonne Communications після кожного дзвінка. Однак я не знайшов способу змінити це значення через графічний інтерфейс користувача.