H.265 integration in Linphone for iOS and Android

Primary tabs

High Efficiency Video Coding (HEVC), or H.265, is a video compression standard designed to substantially improve coding efficiency when compared to its widely-used predecessor, the Advanced Video Coding (AVC), or H.264.

However, even if it has been well-established that H.265 codec brings significant advantages in terms of video quality and bit reduction, there are still few SIP clients / softphones that support H.265 codec.

From the beginning, the Linphone team has been investing a lot of its R&D effort on audio and video quality across heterogeneous networks. After having developed our innovative algorithm for adaptive bitrate control last year, we are pleased to announce that H.265 is now supported out-of-the-box in Linphone for iOS and Android.
The integration of H.265 into Liblinphone library complies with RFC 7798.

CONCRETELY, WHAT DOES IT BRING?

H.265 support in Linphone apps leads to a significant gain of video quality in case of limited bandwidth, which can easily be experienced. On an iPhone 6S for example, by limiting video bandwidth to 500 kbit/s and keeping a definition of 720p, we observed a poor video quality with H.264 (apparent macro-blocks even when the picture was still), whereas quality was clean with H.265.

AVAILABILITY

You can benefit from H.265 in your Linphone-based app on the following OS versions :

iOS 11 and 12, as these versions integrate a VideoToolbox API that supports H.265.
Android higher or equal to 5.1, provided that the underlying hardware provides a H265/HEVC encoder and decoder integrated in MediaCodec, the Google API for video encoding and decoding. Recent devices released with Android ≥ 8 are more likely to support HEVC.

In addition to reducing CPU consumption, the usage of hardware accelerated codecs removes the cost of H.265 patent fees for the software distributor, as H.265 codec is brought by the platform manufacturer.

The corresponding source code is already available on Linphone’s development branch (« master ») and will be integrated in the next release of Linphone for iOS and Android (4.1) in the coming weeks.