Building libx264 on the NoMachine server host
This article applies to NoMachine v. 6 (up to v. 6.6.8) and v. 5.
Starting from v. 6.6.8, NoMachine packages for Windows, Linux, Mac and Raspberry provide the AVC/H.264 software codec. The manual procedure to install the H.264 encoder on the server and the H.264 decoder on the client (https://www.nomachine.com/AR10K00696) is no longer necessary.
The following procedure applies to NoMachine versions prior to v. 6.6.8.
IMPORTANT
On the server, you will need to build and install the libx264 libraries which contain our optimizations and necessary modifications. This version includes changes for retrieving information about the quantizer used to encode frames. Such changes take advantage of all the encoding functionalities at their best and improve perfomance.
Download the libraries here:
https://www.nomachine.com/opensource
3) Procedure below has been tested on Ubuntu 15.04 64, Windows 7 and OS X 10.7.5.
Prerequisites for compiling the libx264 libraries
a) Ensure that you have an assembler installed like Yasm.
b) To keep the best performances, we suggest to avoid compiling x264 with --disable-asm options.
c) If you are compiling on Windows, be sure that your Cygwin environment matches these requirements:
c.1) Use Cygwin 32-bit (suggested version, tested with the procedure provided by this article is 1.7.25).
c.2) Install under the Cygwin compilation environment: gcc, mingw32, make and pkg-config (you just need to select such packages in the Cygwin Setup and install them).
STEP 1
Download the latest libx264 from the Nomachine Web site: https://www.nomachine.com/opensource
STEP 2
Extract the archive.
STEP 3
Move to the x264 directory, run './configure' with options listed below and then run 'make'.
All options must be given on a single line, add the --libdir or --bindir option suitable for your compilation platform to the list below.
--enable-shared
--cross-prefix=i686-pc-mingw32- (for Windows only)
--enable-win32thread (for Windows only)
For Linux:
--libdir=NX_INSTALLATION_DIR/lib
For Windows:
--bindir=NX_INSTALLATION_DIR/bin
For Mac OS X:
--libdir=NX_INSTALLATION_DIR/Contents/Frameworks/lib
The --libdir option (or --bindir on Windows) specifies where the x264 library will be installed.
NX_INSTALLATION_DIR is path to the NoMachine installation directory and must be replaced with the proper path when executing the './configure' command.
For example, to compile on Linux run:
~: ./configure --enable-shared --libdir=/usr/NX/lib && make
STEP 4
When build completed successfully, install the x264 libraries by running 'make install'. This requires administrator privileges.
For example:
~: sudo make install
STEP 5
Verify that the x264 shared library has been copied into the installation directory provided with the --libdir or --bindir configure option.
The name of the x264 library just compiled contains the "142" number.
Rename manually the library to have the following, depending on the platform:
On Linux
NX_INSTALLATION_DIR/lib/libx264.so
On Windows
NX_INSTALLATION_DIR/bin/libx264.dll
On Mac OS X
NX_INSTALLATION_DIR/Contents/Frameworks/lib/libx264.dylib
Finally, ensure that ownership and permissions of libx264 are the same as for the other libraries used by NoMachine.
