You are not logged in.

#1 2009-07-12 06:31:13

droog
Member
Registered: 2004-11-18
Posts: 877

X264, ffmpeg, mplayer and mpd harmony.

Oi vay, I had perfect builds of x264 ffmpeg and mplayer and mpd as a complete set,
as in no other depends at all for codecs besides faac, and I liked it this way.

For some reason it broke, I know skottish has done this as well and hope to get his pkgbuilds
or anyone as anal as me about getting rid of all these now worthless codecs, etc...

I guess this a general discussion of alternative builds of these few great programs and sharing
pkgbuilds for the greater good of mankind.

/edit would post mine but i'm not home 'til tomorrow and not at my computer, also they're recently broken.

Last edited by droog (2009-07-12 06:40:05)

Offline

#2 2009-07-12 07:13:37

djszapi
Member
From: Cambridge, United Kingdom
Registered: 2009-06-14
Posts: 1,439
Website

Re: X264, ffmpeg, mplayer and mpd harmony.

I don't see any question in your comment.

Offline

#3 2009-07-12 07:43:15

droog
Member
Registered: 2004-11-18
Posts: 877

Re: X264, ffmpeg, mplayer and mpd harmony.

djszapi wrote:

I don't see any question in your comment.

really i don't see a point in your comment...
I asked for specialty builds of these programs, like i had.
guess you missed it.

/edit ffmpeg moves really fast sometimes,
and I don't know how to take your comment were you being an ass or just looking for a ? because you don't know english well?

Last edited by droog (2009-07-12 07:54:04)

Offline

#4 2009-07-12 09:43:45

tomk
Forum Fellow
From: Ireland
Registered: 2004-07-21
Posts: 9,839

Re: X264, ffmpeg, mplayer and mpd harmony.

droog wrote:

For some reason it broke,

Would it not be better to find out why your builds broke, instead of asking for someone else's?

Offline

#5 2009-07-12 10:03:57

Army
Member
Registered: 2007-12-07
Posts: 1,784

Re: X264, ffmpeg, mplayer and mpd harmony.

I used to compile those three packages by myself (x264, ffmpeg and mplayer) but after a reinstall I tried out the official ones and they run perfectly, play everything I ever wanted to play (mplayer even plays this strange *.m2ts, which didn't work with skottish's builds. Ok, the binary might be a little bit bigger than what you used to have, but come on, it's still small enough. In case you still don't want to use the official ones, then at least you can use them as a starting point for your own builds wink

Offline

#6 2009-07-13 05:25:59

skottish
Forum Fellow
From: Here
Registered: 2006-06-16
Posts: 7,942

Re: X264, ffmpeg, mplayer and mpd harmony.

I can't be 100% certain that I have all of the dependencies listed on these.

pkgname=x264-git
pkgver=20090711
pkgrel=1
pkgdesc="free library for encoding H264/AVC video streams"
arch=('i686' 'x86_64')
license=('GPL')
makedepends=('git' 'yasm') 
url="http://www.videolan.org/developers/x264.html"
conflicts=('x264')
replaces=('x264-svn')
provides=("x264=$pkgver")

#_gitroot="git://git.x264.org/x264.git"
_gitroot="git://git.videolan.org/x264.git"
_gitname="x264"

build() {
    cd $srcdir
    msg "Connecting to the GIT server...."

    if [[ -d $srcdir/$_gitname ]] ; then
        cd $_gitname
        git pull origin
        msg "The local files are updated."
    else
        git clone $_gitroot
    fi

    msg "GIT checkout done"
    msg "Starting make..."

    cp -r $srcdir/$_gitname $srcdir/$_gitname-build

    cd $srcdir/$_gitname-build

    ./configure --prefix=/usr \
        --enable-pthread \
        --enable-shared \
        --enable-pic || return 1

    make || return 1
    make DESTDIR=$pkgdir install || return 1

    rm -rf $srcdir/$_gitname-build
}

I re-enabled libtheora and libvorbis because the FFmpeg developers didn't feel like fixing theirs. Also, this isn't GPL'd anymore. FAAC has been declared to be in violation:

pkgname=ffmpeg-svn
pkgver=19422
pkgrel=1
pkgdesc="Complete and free Internet live audio and video broadcasting solution for Linux/Unix"
arch=('i686' 'x86_64')
url="http://ffmpeg.mplayerhq.hu/"
license=('GPL')
depends=('sdl' 'faac' 'zlib' 'imlib2' 'x264-git' 'libvorbis' 'libtheora') 
makedepends=('subversion')
provides=("ffmpeg=`date +%Y%m%d`")
conflicts=('ffmpeg')
replaces=('ffmpeg')

_svntrunk=svn://svn.ffmpeg.org/ffmpeg/trunk
_svnmod=ffmpeg

build() {
  cd $startdir/src

  if [ -d $_svnmod/.svn ]; then
    (cd $_svnmod && svn up -r $pkgver)
  else
    svn co $_svntrunk --config-dir ./ -r $pkgver $_svnmod
  fi

  msg "SVN checkout done or server timeout"
  msg "Starting make..."

  cp -r $_svnmod $_svnmod-build
  cd $_svnmod-build

  ./configure --prefix=/usr \
              --enable-gpl \
              --enable-nonfree \
              --enable-libfaac \
              --enable-libx264 \
              --enable-shared \
              --enable-libvorbis \
              --enable-libtheora \
              --disable-static \
              --enable-pthreads \
              --enable-network \
              --enable-x11grab \
              --enable-postproc \
              --enable-avfilter \
              --enable-avfilter-lavf || return 1

  make || return 1

  make DESTDIR=$startdir/pkg install || return 1

  rm -rf ../$_svnmod-build
}

I disabled more of Mplayer. I love FFmpeg:

pkgname=mplayer-svn
pkgver=29417
pkgrel=1
pkgdesc="A movie player for linux"
depends=('libungif' 'cdparanoia' 'sdl' 'libjpeg' \
         'ttf-bitstream-vera' 'libxxf86dga' 'fontconfig' \
         'libxinerama' 'libxv' 'libpng' 'libxxf86vm')

makedepends=('subversion' 'pkgconfig')
source=()
md5sums=()
conflicts=('mplayer')
provides=('mplayer')
url="http://www.mplayerhq.hu/"
license=("GPL")
arch=('i686' 'x86_64')

_svntrunk=svn://svn.mplayerhq.hu/mplayer/trunk
_svnmod=mplayer

build() {
  cd $startdir/src

  if [ -d $_svnmod/.svn ]; then
    (cd $_svnmod && svn up -r $pkgver)
  else
    svn co $_svntrunk --config-dir ./ -r $pkgver $_svnmod
  fi

  msg "SVN checkout done or server timeout"
  msg "Starting make..."

  cp -r $_svnmod $_svnmod-build
  cd $_svnmod-build

  ./configure --prefix=/usr --confdir=/etc/mplayer \
      --disable-gui \
      --disable-faad \
      --disable-faad-internal \
      --disable-runtime-cpudetection \
      --disable-faac \
      --disable-faac-lavc \
      --disable-libdv \
      --disable-aa \
      --disable-mencoder \
      --disable-liblzo \
      --disable-speex \
      --disable-fribidi \
      --disable-smb \
      --disable-openal \
      --disable-x264 \
      --disable-esd \
      --disable-jack \
      --disable-gl \
      --disable-fbdev \
      --disable-mp3lib \
      --disable-dvb \
      --disable-dvbhead \
      --disable-libvorbis \
      --disable-musepack \
      --disable-directfb \
      --disable-nas \
      --disable-liba52 \
      --disable-libavutil_a \
      --disable-libavcodec_a  \
      --disable-libavformat_a \
      --disable-libswscale_a \
      --disable-libpostproc_a \
      --disable-tv \
      --disable-tv-v4l1 \
      --disable-tv-v4l2 \
      --disable-tv-teletext \
      --disable-v4l2 \
      --disable-dga2 \
      --disable-dga2 \
      --disable-vidix 

  make || return 1
  make DESTDIR=$startdir/pkg install || return 1
  install -m644 etc/{codecs.conf,input.conf,example.conf} $startdir/pkg/etc/mplayer
  rm -rf $startdir/pkg/usr/share/mplayer/font
  rm -rf ../$_svnmod-build
}

Offline

#7 2009-07-15 23:30:56

DrZaius
Member
Registered: 2008-01-02
Posts: 193

Re: X264, ffmpeg, mplayer and mpd harmony.

skottish wrote:

I can't be 100% certain that I have all of the dependencies listed on these.

pkgname=x264-git
pkgver=20090711
pkgrel=1
pkgdesc="free library for encoding H264/AVC video streams"
arch=('i686' 'x86_64')
license=('GPL')
makedepends=('git' 'yasm') 
url="http://www.videolan.org/developers/x264.html"
conflicts=('x264')
replaces=('x264-svn')
provides=("x264=$pkgver")

#_gitroot="git://git.x264.org/x264.git"
_gitroot="git://git.videolan.org/x264.git"
_gitname="x264"

build() {
    cd $srcdir
    msg "Connecting to the GIT server...."

    if [[ -d $srcdir/$_gitname ]] ; then
        cd $_gitname
        git pull origin
        msg "The local files are updated."
    else
        git clone $_gitroot
    fi

    msg "GIT checkout done"
    msg "Starting make..."

    cp -r $srcdir/$_gitname $srcdir/$_gitname-build

    cd $srcdir/$_gitname-build

    ./configure --prefix=/usr \
        --enable-pthread \
        --enable-shared \
        --enable-pic || return 1

    make || return 1
    make DESTDIR=$pkgdir install || return 1

    rm -rf $srcdir/$_gitname-build
}

The x264 configuration option --enable-pthread is obsolete/invalid because it automatically detects this.

Offline

#8 2009-07-17 04:15:36

skottish
Forum Fellow
From: Here
Registered: 2006-06-16
Posts: 7,942

Re: X264, ffmpeg, mplayer and mpd harmony.

Thanks DrZaius. It's good to remove fluff.

For everyone: Sometime recently (today maybe?) FFmpeg enabled their AAC encoder. My first test shows that it works and it seems to sound good. I'm going to rip some music now to see how it plays out with my music player. Finally, a public release of what will become a high quality open source AAC encoder under Linux.

--EDIT--

I removed FAAC from my system and updated the FFmpeg PKGBUILD:

pkgname=ffmpeg-svn
pkgver=19448
pkgrel=1
pkgdesc="Complete and free Internet live audio and video broadcasting solution for Linux/Unix"
arch=(i686 x86_64)
url="http://ffmpeg.mplayerhq.hu/"
license=('GPL')
depends=('sdl' 'zlib' 'imlib2' 'x264') 
makedepends=('subversion')
provides=("ffmpeg=`date +%Y%m%d`")
conflicts=('ffmpeg')
source=()
md5sums=()

_svntrunk=svn://svn.ffmpeg.org/ffmpeg/trunk
_svnmod=ffmpeg

build() {
  cd $startdir/src

  if [ -d $_svnmod/.svn ]; then
    (cd $_svnmod && svn up -r $pkgver)
  else
    svn co $_svntrunk --config-dir ./ -r $pkgver $_svnmod
  fi

  msg "SVN checkout done or server timeout"
  msg "Starting make..."

  cp -r $_svnmod $_svnmod-build
  cd $_svnmod-build

  ./configure --prefix=/usr \
              --enable-gpl \
              --enable-libx264 \
              --enable-shared \
              --enable-libvorbis \
              --enable-libtheora \
              --disable-static \
              --enable-pthreads \
              --enable-network \
              --enable-x11grab \
              --enable-postproc \
              --enable-avfilter \
              --enable-avfilter-lavf || return 1

  make || return 1

  make DESTDIR=$startdir/pkg install || return 1

  rm -rf ../$_svnmod-build
}

Offline

#9 2009-07-17 16:39:49

DrZaius
Member
Registered: 2008-01-02
Posts: 193

Re: X264, ffmpeg, mplayer and mpd harmony.

Good news.  Thanks for the update.  Even more fluff to remove.  Goodbye, --enable-nonfree.

Offline

#10 2009-08-03 08:46:23

wantilles
Member
From: Athens - Greece
Registered: 2007-03-29
Posts: 327

Re: X264, ffmpeg, mplayer and mpd harmony.

In recent svn builds of mplayer and ffmpeg I have encountered the aftermentioned same bug:

When smplayer (0.6.7 or 0.6.8) opens a Matroska (MKV) container for playback, it crashes.

It does not happen with mplayer 29438.

But it happens with mplayer 29446, 29462, 29463, 29465.

It also happens with ffmpeg 19564.



PS: Is mplayer (when using its own internal code) affected by the ffmpeg installed in the system?

Because if I build it with the stock extra ffmpeg=0.5 it behaves fine.

But if I use the abovementioned ffmpeg-svn-19654, then I get the same crashes when opening Matroska containers.

Last edited by wantilles (2009-08-03 09:00:00)

Offline

#11 2009-08-03 14:31:33

wantilles
Member
From: Athens - Greece
Registered: 2007-03-29
Posts: 327

Re: X264, ffmpeg, mplayer and mpd harmony.

Two relevant posts:

http://bbs.archlinux.org/viewtopic.php? … 29#p594529

http://bbs.archlinux.org/viewtopic.php? … 46#p594546

I found the cause of the crashes.

It is gcc 4.4.1.

If built with gcc 4.4.0, it works normally.

Offline

#12 2009-08-03 16:15:43

wantilles
Member
From: Athens - Greece
Registered: 2007-03-29
Posts: 327

Re: X264, ffmpeg, mplayer and mpd harmony.

2 more questions:

1. I built ffmpeg with --enable-vdpau (I have an nVidia 9800GT card). Do I need to enable it in the shared mplayer also? (I suspect not, but I am not sure) (I always build the static-stock mplayer with --enable-vdpau)

2. I always split mplayer into 2 packages (just like they do it in Gentoo) -> one is mplayer (--enable-mplayer --disable-mencoder) -> the other is mencoder (--disable-mplayer --enable-mencoder). I suppose that skottish's minimalistic shared mplayer config, will also work for mencoder?

Offline

Board footer

Powered by FluxBB