Log in

View Full Version : how to update x264 under linux with mencoder


coolphoenix
28th November 2007, 13:39
hi all,

this may be a dumb question, but:

let's say i compiled the latest x264-svn (revision 702) with ./configure --enable-shared and installed it (make install). how do i say mencoder to use the new version of x264?

i encoded a vid with "mencoder -ovc x264 -x264encopts ... -of rawvideo" and finally muxed it with mkvmerge to an .mkv.

then i checked the x264-version reported by .mkv with "avinaptic" (http://forum.doom9.org/showthread.php?t=123076) under windows (as i can't get it to run in x86_64 linux) and it reports something like "x264-version 694-svn" (don't know exactly, can't check for now).

also recompiling mplayer/mencoder from newest svn did make no change to this.

so am i using the newest x264, only the version-flag is not updated in the current build?
is avinaptic reading the wrong version of my file?
is mkvmerge merging the file with wrong information?
or haven't i updated my x264 correctly?

thanks for your answers

nm
28th November 2007, 14:16
Generally MEncoder must be recompiled to use a newer version of x264 through it.

Perhaps you have two versions of x264 libraries installed on your system: distribution-packaged r694 (probably in /usr/lib) and the r702 in /usr/local/lib. When you compiled MEncoder, it used the first one. To find out which libraries are used, run ldd on the binary (for example ldd /usr/local/bin/mencoder ). To fix this problem, remove the older set of headers and libx264.* (by removing the packages, if that's how it was installed), recompile MEncoder and try again.

It's also possible that you didn't actually use the latest MEncoder that you compiled from SVN if there is an older MEncoder binary installed on your system. To make sure you run the correct binary, use the full path to it (/usr/local/bin/mencoder -ovc x264 ...).

coolphoenix
28th November 2007, 18:48
thanks, you are right!

mencoder compiled from svn uses /usr/local/lib/libx264.so.56 - but the x264-svn-build installs a /usr/local/lib/libx264.so.57 ...

it's a little bit weird, because in that directory is also a link "libx264.so" which points to the right libx264.so.57, so if mencoder would use it, it would always point to the newest build... don't know why it does prefer the other lib.

anyway, i just deleted the .56 - now mencoder uses the .57 after recompiling it.

thanks for that nice command "ldd" - didn't know before!