Monday, October 26, 2009

MPlayer Bleeding Edge

I've been using mplayer from the git repository because it provided the best solution to the problem of Matroska order chapters (linked segments, linked chapters, whatever) in fansubbed anime. But development moved off the master branch and my earlier attempts to compile the tmp_build branch didn't work because mplayer's configure script could not find FFmpeg.

The requirement that FFmpeg be embedded in the mplayer source tree, has been removed, so you either have to build and install FFmpeg from source, or install whatever binary packages are available for your distribution. I choose the latter because I am using Debian/unstable and the packages in the multimedia repository are usually recent repository checkouts anyway.

The following packages from Debian multimedia satisfy all mplayer's FFmpeg requirements: libavcodec-dev libavformat-dev libpostproc-dev libswscale-dev.

Other packages I found useful for codecs: libx264-dev, libxvidcore4-dev; and for audio and video: libasound2-dev, libxv-dev; and for ASS substitles: libfreetype6-dev, libfontconfig1-dev, libass-dev. This list is incomplete since I haven't tracked every library I have installed. Just install what you need, when you need it.

To build the tmp_build branch:
$ git clone git://repo.or.cz/mplayer
$ cd mplayer
$ git checkout -b tmp_build origin/tmp_build
$ ./configure
$ make
$ make install
For bleeding edge software, it works great! The little glitches in the Matroska ordered chapter support are all gone which is a great improvement.

Which leads to the question: why are these improvements not being merged into the master branch? Master hasn't been updated in about four months. Even an unofficial project needs to make it clear what people should be using, otherwise someone like me will just tell the world how to use the bleeding edge development branch. That might not be what you wanted.

1 comment:

  1. An even easier way to get mplayer is to use "git clone git://repo.or.cz/mplayer-build.git"

    It lets you build the code with ffmpeg and libass dependencies. Make sure to read the README file after you grab it.

    ReplyDelete