Em junho de 2017, o Linphone Desktop 4 foi lançado. Com isso, seus autores Belledonne Communications mudaram de GTK + 2 para Qt 5.9 LTS (para ser mais preciso: eles mudaram para QML com Qt Quick Controls 2). Além disso, eles adicionaram a possibilidade de baixar um binário pronto para uso via Flatpak . Portanto, embora as respostas anteriores estivessem corretas no momento, elas mudaram:
a) Faça o download do 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) Construir a partir da fonte
- para o Ubuntu 14.04 LTS e / ou
- depurar / contribuir com o Linphone porque você é um desenvolvedor e / ou
- para aproveitar os recursos mais recentes e correções de bugs e / ou
- para obter mais codecs de vídeo e áudio.
A variante via Flatpak fornece como codec de vídeo apenas VP8. Se você construir, MP4V-ES, H.263 e H.264 serão adicionados. À medida que os codecs de áudio são adicionados, AMR, AMR-WB, iLBC, iSAC e SiLK. Além disso, opcionalmente, você pode adicionar até o G.726 e o Codec 2. No entanto, a partir de hoje, esses dois módulos precisam ser corrigidos para funcionar com outras implementações de VoIP / SIP (endianness incorreto e taxa de bits incorreta).
Para se compilar, você precisa do Qt Framework. Portanto,
a) opte pelo Qt Installer ou
b) pelo Ubuntu 18.04 LTS e seus pacotes existentes do Qt 5.9.
Etapa 1a: 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
No instalador, você escolhe Qt → Qt 5.9.x → Desktop. Ao definir PATH
e Qt5_DIR
, verifique se ele corresponde à versão que você baixou:
Qt5_DIR="~/Qt/5.9.9/gcc_64/lib/cmake"
PATH="~/Qt/5.9.9/gcc_64/bin/:$PATH"
Etapa 1b: Pacotes 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
Como observado acima, isso funciona apenas com o Ubuntu mais recente. Para versões mais antigas do Ubuntu, eu usaria o Qt Installer como descrito na alternativa A. Além disso, os comentários no código-fonte indicam que a Belledonne Communications não está aderindo às versões de suporte a longo prazo (LTS), mas exigirá a próxima instalação estável. release, quando um após o próximo ramo estável foi lançado (por exemplo, quando o Qt 5.11 é lançado, o Linphone pode exigir o Qt 5.10 já). Portanto, quando você lê esta resposta, essa alternativa B pode já não ser mais uma opção.
Etapa 2 para o 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
Etapa 2 para o 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
Etapa 2 para o 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
etapa 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'
No Ubuntu 14.04 LTS, você escolhe python2
. No Ubuntu 18.04 LTS, você pode remover o -DENABLE_JPEG=OFF
. No Ubuntu 19.10, você precisa corrigir um arquivo de cabeçalho . Atualmente, vários bugs estão na implementação de AMR (-WB); portanto, está desativado aqui.
Nota lateral: verifique o valor de quality_reporting_enabled
no arquivo ~/.config/linphone/linphonerc
se reflete seus interesses de coleta de dados e privacidade. Para mim, 0
desativei os dados de telemetria que foram enviados para a Belledonne Communications após cada chamada. No entanto, não encontrei maneira de alterar esse valor por meio da interface gráfica do usuário.