Vào tháng 6 năm 2017, Linphone Desktop 4 đã được phát hành. Cùng với đó, các tác giả của nó Belledonne Communications đã thay đổi từ GTK + 2 thành Qt 5.9 LTS (chính xác hơn: Họ đã đổi thành QML với Qt Quick Controls 2). Hơn nữa, họ đã thêm khả năng tải xuống tệp nhị phân sẵn sàng sử dụng thông qua Flatpak . Do đó, mặc dù các câu trả lời trước đó là chính xác vào thời điểm của họ, họ đã thay đổi:
a) Tải xuống từ 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) Xây dựng từ nguồn
- để dùng Ubuntu 14.04 LTS và / hoặc
- để gỡ lỗi / đóng góp cho Linphone vì bạn là nhà phát triển và / hoặc
- để tận hưởng các tính năng mới nhất và sửa lỗi và / hoặc
- để có thêm codec video và âm thanh.
Biến thể thông qua Flatpak cung cấp cho bạn dưới dạng codec video chỉ VP8. Nếu bạn tự xây dựng, MP4V-ES, H.263 và H.264 sẽ được thêm vào. Khi các codec âm thanh, AMR, AMR-WB, iLBC, iSAC và SiLK được thêm vào. Ngoài ra, bạn có thể thêm ngay cả G.726 và Codec 2. Tuy nhiên, cho đến ngày hôm nay, hai mô-đun đó cần được vá để hoạt động với các triển khai VoIP / SIP khác (sai về cuối và sai bitrate).
Để tự biên dịch, bạn cần Khung Qt. Do đó, bạn
a) sử dụng Trình cài đặt Qt hoặc
b) sử dụng Ubuntu 18.04 LTS và các gói Qt 5.9 hiện có của nó.
Bước 1a: Trình cài đặt 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
Trong Trình cài đặt, bạn truy cập Qt → Qt 5.9.x → Máy tính để bàn. Khi bạn đặt PATH
và Qt5_DIR
, hãy chắc chắn rằng nó phù hợp với phiên bản bạn đã tải xuống:
Qt5_DIR="~/Qt/5.9.9/gcc_64/lib/cmake"
PATH="~/Qt/5.9.9/gcc_64/bin/:$PATH"
Bước 1b: Gói 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
Như đã lưu ý ở trên, điều này chỉ hoạt động với Ubuntu mới nhất. Đối với các bản phát hành Ubuntu cũ hơn, tôi sẽ sử dụng Trình cài đặt Qt như được mô tả trong phương án A. Ngoài ra, các nhận xét trong mã nguồn cho biết , Belledonne Communications không gắn bó với các bản phát hành hỗ trợ dài hạn (LTS) nhưng sẽ cần sự ổn định tiếp theo phát hành, khi một sau khi nhánh ổn định tiếp theo được phát hành (ví dụ: khi Qt 5.11 được phát hành, Linphone có thể yêu cầu Qt 5.10 rồi). Do đó, khi bạn đọc câu trả lời này, B thay thế này có thể không còn là lựa chọn nữa.
Bước 2 cho 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
Bước 2 cho 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
Bước 2 cho 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
Bước 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'
Trong Ubuntu 14.04 LTS, bạn đi python2
. Trong Ubuntu 18.04 LTS, bạn có thể xóa -DENABLE_JPEG=OFF
. Trong Ubuntu 19.10, bạn phải vá một tệp tiêu đề . Cho đến hôm nay, một số lỗi nằm trong triển khai AMR (-WB); do đó nó bị vô hiệu hóa ở đây.
Lưu ý bên lề: Vui lòng kiểm tra kỹ giá trị quality_reporting_enabled
trong tệp ~/.config/linphone/linphonerc
xem nó có phản ánh sở thích thu thập dữ liệu và quyền riêng tư của bạn không. Đối với tôi, một 0
dữ liệu từ xa bị vô hiệu hóa được gửi đến Belledonne Communications sau mỗi cuộc gọi. Tuy nhiên, tôi không tìm thấy cách nào để thay đổi giá trị đó thông qua giao diện người dùng đồ họa.