В июне 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 или
b) идете за Ubuntu 18.04 LTS и его существующими пакетами Qt 5.9.
Шаг 1а: Qt Installer
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 → Рабочий стол. Когда вы устанавливаете 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, как описано в альтернативе А. Кроме того, комментарии в исходном коде указывают , что 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 после каждого звонка. Тем не менее, я не нашел способа изменить это значение через графический интерфейс пользователя.