Xpra: Ticket #445: x265 encoding

x265.org is an open-source project and free application library for encoding video streams into the H.265/High Efficiency Video Coding (HEVC) format, and is released under the terms of the GNU GPL.

It should be relatively easy to add this encoder as it follows the same layout as x264, with a simpler API too. Stub patch attached. Decoding has been added to ffmpeg already: FFmpeg Now Supports HEVC/H.265 Decoding - though for this we will need to fix #415 first.



Sun, 20 Oct 2013 07:39:59 GMT - Antoine Martin: attachment set

better enc_x265 stub patch, removes generated files


Thu, 13 Feb 2014 15:02:05 GMT - Antoine Martin: status changed

FFmpeg & Libav Add H.265 Encoder Via x265: Now today both FFmpeg and libav have integrated x265 encoding support into their respective programs

Looks like x265 is maturing quickly.


Sun, 23 Feb 2014 01:28:12 GMT - Antoine Martin:

From The world’s fastest VP9 decoder: ffvp9: We did briefly look into x265, one of the more popular HEVC encoders. Unfortunately, it suffers from the same basic issue as libvpx: it can be fast, and it can beat x264, but it can’t do both at the same time.


Sun, 23 Feb 2014 16:49:18 GMT - Antoine Martin:

encoder implemented in r5562, decoder support added in r5558

Not particularly impressive: on "ultrafast" it is 5 to 20 times slower than x264!


Wed, 26 Feb 2014 04:01:58 GMT - Antoine Martin:

For the record, this is how fmpeg2 is now built on win32 and osx (added hevc aka h265):

./configure --cpu=i686 --enable-runtime-cpudetect \
    --prefix=/c/ffmpeg-win32-bin \
    --enable-static --enable-shared --enable-gpl \
    --enable-memalign-hack \
    --disable-avdevice --disable-decoders --disable-dxva2 --disable-encoders \
    --disable-devices --disable-muxers --disable-demuxers \
    --disable-postproc --disable-avfilter  --disable-filters --disable-protocols \
    --disable-bsfs --disable-parsers  \
    --enable-swscale \
    --enable-libx264 --enable-decoder=h264 \
    --enable-libvpx --enable-decoder=vp8 --enable-decoder=vp9 \
    --enable-decoder=hevc

trunk versions of ffmpeg2 also support --enable-libx265, but this is not needed for decoding. For OSX, you must also add the usual GTK --prefix= path.


Mon, 19 May 2014 11:48:08 GMT - Antoine Martin: status, milestone changed; resolution set

This has been working for a while but is of little interest because it is so slow. Closing the ticket without further testing.


Sat, 23 Jan 2021 04:55:43 GMT - migration script:

this ticket has been moved to: https://github.com/Xpra-org/xpra/issues/445