xpra icon
Bug tracker and wiki

Opened 6 years ago

Closed 6 years ago

#686 closed defect (fixed)

missing encodings on rhel6

Reported by: pyther Owned by: pyther
Priority: minor Milestone:
Component: server Version: 0.14.x
Keywords: Cc:

Description

Trying to use webp, however the client says it is unsupported on the server.

Important to note, all command were ran on the same machine.

desktop$ xpra start --encoding help
xpra server supports the following encodings:
(please wait, encoder initialization may take a few seconds)
2014-09-19 12:21:21,037 video encoder 'nvenc' could not be loaded:
2014-09-19 12:21:21,037  No module named pycuda
 * rgb         Raw RGB pixels, lossless, compressed using zlib or lz4 (24bpp or 32bpp for transparency)
 * h264        H.264 video codec
 * vp8         VP8 video codec
 * png         Portable Network Graphics (lossless, 24bpp or 32bpp for transparency)
 * png/L       Portable Network Graphics (lossy, 8bpp grayscale)
 * png/P       Portable Network Graphics (lossy, 8bpp colour)
 * jpeg        JPEG lossy compression
desktop$ xpra attach --encoding help
2014-09-19 12:21:36,786 xpra client version 0.14.7
gtk2 xpra client supports the following encodings:
 * h264        H.264 video codec
 * h265        H.265 (HEVC) video codec (slow and buggy - do not use!)
 * vp8         VP8 video codec
 * vp9         VP9 video codec (very slow - do not use!)
 * png         Portable Network Graphics (lossless, 24bpp or 32bpp for transparency)
 * png/P       Portable Network Graphics (lossy, 8bpp colour)
 * png/L       Portable Network Graphics (lossy, 8bpp grayscale)
 * webp        WebP compression (lossless or lossy)
 * rgb         Raw RGB pixels, lossless, compressed using zlib or lz4 (24bpp or 32bpp for transparency)
 * jpeg        JPEG lossy compression
desktop$ python /usr/lib64/python2.6/site-packages/xpra/codecs/loader.py
codecs and csc modules found:
* PIL                  : /usr/lib64/python2.6/site-packages/PIL/__init__.pyc
* enc_vpx              : /usr/lib64/python2.6/site-packages/xpra/codecs/vpx/encoder.so
* dec_vpx              : /usr/lib64/python2.6/site-packages/xpra/codecs/vpx/decoder.so
* enc_x264             : /usr/lib64/python2.6/site-packages/xpra/codecs/enc_x264/encoder.so
* enc_x265             : 
* nvenc                : 
* csc_swscale          : /usr/lib64/python2.6/site-packages/xpra/codecs/csc_swscale/colorspace_converter.so
* csc_cython           : /usr/lib64/python2.6/site-packages/xpra/codecs/csc_cython/colorspace_converter.so
* csc_opencl           : 
* dec_avcodec          : 
* dec_avcodec2         : /usr/lib64/python2.6/site-packages/xpra/codecs/dec_avcodec2/decoder.so
* enc_webp             : /usr/lib64/python2.6/site-packages/xpra/codecs/webp/encode.so
* dec_webp             : /usr/lib64/python2.6/site-packages/xpra/codecs/webp/decode.so

codecs versions:
* PIL                  : 2.5.3
* avcodec2             : 55.69.100
* cython               : 0.3.0.20.2
* dec_webp             : 0.4.1
* enc_webp             : 0.4.1
* swscale              : 2.6.100
* vpx                  : 1.3.0
* x264                 : 142

Change History (4)

comment:1 Changed 6 years ago by Antoine Martin

Owner: changed from Antoine Martin to Antoine Martin
Status: newassigned

Confirmed, very strange how centos7 with the same list of packages does not have the same problem!

comment:2 Changed 6 years ago by Antoine Martin

Owner: changed from Antoine Martin to pyther
Status: assignednew

Ah, got it. Will probably close as 'wontfix'.

The problem is that our cython webp encoder is an accelerator which uses python-pillow as fallback, and so unless pillow supports webp encoding then we cannot enable it.
We can't build python-pillow against our private libwebp-xpra either.

The annoying thing is that the fallback never gets used (at least not during my testing on x86 / x86_64).

Ideas?

comment:3 Changed 6 years ago by Antoine Martin

Actually, I have one (see r7710 + r7711), since we never really use the fallback, we can relax it a bit and allow webp as long as we have webp OR png supported in python-pillow. In practice, we will always use webp, and still guarantee that we don't end up in a dead end if we don't.

Suitable for backports, tested on centos6.

comment:4 Changed 6 years ago by Antoine Martin

Resolution: fixed
Status: newclosed

Not heard back, backport in r7726 which caused another bug, fixed in r7753 with backport in r7806. Closing.

Note: See TracTickets for help on using tickets.