xpra icon
Bug tracker and wiki

Opened 14 months ago

Closed 11 months ago

Last modified 11 months ago

#1142 closed task (fixed)

xvid MPEG4 codec support

Reported by: Antoine Martin Owned by: alas
Priority: major Milestone: 0.17
Component: encodings Version: trunk
Keywords: Cc:

Description

Related to #1107.

The xvid codec does MPEG4 and is available in Fedora.

Attachments (1)

xvid.pc (177 bytes) - added by Antoine Martin 14 months ago.
none of the development packages include a pkg-config file, so I made one (we use pkg-config to detect if the xvid development headers are installed)

Download all attachments as: .zip

Change History (6)

comment:1 Changed 14 months ago by Antoine Martin

Status: newassigned

xvid codec added in r12119, can be enabled using --encoding=mpeg4.
Requires a new build of ffmpeg (with mpeg4 decoding support) and xpra build against xvidcore-devel.

Still TODO:

  • packaging updates: rpm and deb build dependencies
  • win32 and osx build updates
  • remove the xvid encode statistics overlayed on top of the video (but make it possible to re-enable them for debugging - could be quite useful)

comment:2 Changed 14 months ago by Antoine Martin

Owner: changed from Antoine Martin to alas
Status: assignednew

r12125 adds packaging for all platforms except for win32 and osx as servers

This will do for now, not sure if it will help at all with container formats, but it may still help in some other ways (comparing with h264, legacy clients, etc)

How to check for this new codec:

  • new "mpeg 4" encoding in the system tray (assuming both the client and server builds have support for it)
  • loader.py (aka "Encoding info" exe) will show "mpeg4" under encodings for "dec_avcodec2" when ran with "-v"
  • xpra attach --encoding=help
  • xpra start --encoding=help

@afarr: just a FYI, feel free to close.

Last edited 14 months ago by Antoine Martin (previous) (diff)

Changed 14 months ago by Antoine Martin

Attachment: xvid.pc added

none of the development packages include a pkg-config file, so I made one (we use pkg-config to detect if the xvid development headers are installed)

comment:3 Changed 11 months ago by alas

Resolution: fixed
Status: newclosed

Interestingly, I find an xvid directory in my v0.17.x src, but not in my trunk (0.18.x), on the vm where I build xpra.

I'm not quite sure how to build a 0.17.x server that will include the mpeg4 (it doesn't show on my --encoder=help list for the server, though it does show on the list for the win32 client I downloaded from your repo).

Loader.py is giving me this output:

* csc_cython           : /usr/lib64/python2.7/site-packages/xpra/codecs/csc_cython/colorspace_converter.so
* csc_libyuv           :
* csc_opencl           :
* csc_opencv           : /usr/lib64/python2.7/site-packages/xpra/codecs/csc_opencv/colorspace_converter.pyc
* csc_swscale          : /usr/lib64/python2.7/site-packages/xpra/codecs/csc_swscale/colorspace_converter.so
* dec_avcodec2         : /usr/lib64/python2.7/site-packages/xpra/codecs/dec_avcodec2/decoder.so
* dec_pillow           : /usr/lib64/python2.7/site-packages/xpra/codecs/pillow/decode.pyc
* dec_vpx              : /usr/lib64/python2.7/site-packages/xpra/codecs/vpx/decoder.so
* dec_webp             : /usr/lib64/python2.7/site-packages/xpra/codecs/webp/decode.so
* enc_pillow           : /usr/lib64/python2.7/site-packages/xpra/codecs/pillow/encode.pyc
* enc_vpx              : /usr/lib64/python2.7/site-packages/xpra/codecs/vpx/encoder.so
* enc_webp             : /usr/lib64/python2.7/site-packages/xpra/codecs/webp/encode.so
* enc_x264             : /usr/lib64/python2.7/site-packages/xpra/codecs/enc_x264/encoder.so
* enc_x265             :
* nvenc4               :
* nvenc5               :
* nvenc6               :
* xvid                 :

codecs versions:
* PIL                             : 3.1.1
* avcodec2                        : 57.24.102
* buffer_api                      : 1
* cython                          : 1.0.24
* dec_pillow                      : 3.1.1
* dec_webp                        : 0.4.4
* enc_pillow                      : 3.1.1
* enc_webp                        : 0.4.4
* numpy                           : 1.9.2
* opencv                          : 2.4.12.2
* swscale                         : 4.0.100
* vpx                             : 1.5.0
* x264                            : 148

I'm not sure the mpeg 4 is meant to be built into a server unless I take some steps (I tried installing xvidcore-devel, but that alone wasn't sufficient).

I will go ahead and close and see is smo maybe has a tip for where that xvid.pc should be dropped in order to enable the mpeg 4... and open some other ticket if my failures persist.

comment:4 Changed 11 months ago by Antoine Martin

To build the xvid codec, you need to drop the attachment/ticket/1142/xvid.pc into your pkg-config directory (ie: /usr/lib64/pkgconfig/).

comment:5 Changed 11 months ago by alas

Sure enough, dropping it there it worked without a hitch.

I do notice that the xvid encode statistics are still displaying, but I assume you're aware. (Leaving closed.)

Note: See TracTickets for help on using tickets.