You are not logged in.

#1 2004-03-28 14:12:33

Lefungus
Member
Registered: 2004-03-28
Posts: 26

libebml, libmatroska, and mkvtoolnix

Hello all

I installed Arch linux recently, but i noticed there were no support for matroska, so i added these packages to ftp://ftp.archlinux.org/incoming

It includes:

- libebml 0.6.5: a library needed for matroska support
- libmatroska 0.6.3 : the matroska library itself
- mkvtoolnix 0.8.6 : a set of tools to create, edit and query matroska files
- mplayer-1.0-pre3-4 : an updated version of mplayer that support matroska files (It include a dependency on libmatroska and a patch as 1.0-pre3 doesn't support latest libebml, cvs version work fine without it)

Matroska is a modern container that support many video and audio files. For example with an mkv file, you can have a video with an ac3 track and/or many other audio tracks like vorbis or acc. You can also add subtitles, chapters etc..

More informations here -> http://www.matroska.org
Any testing / Input / Feedback is welcome

Offline

#2 2004-03-29 03:16:39

tehdely
Member
Registered: 2004-02-20
Posts: 148
Website

Re: libebml, libmatroska, and mkvtoolnix

Generally you should post your PKGBUILDs in your thread so people can inspect them before checking out incoming.  To save you the trouble, I'm posting them here.

mplayer

# $Id: PKGBUILD,v 1.43 2004/03/09 19:40:35 dorphell Exp $
# Maintainer: dorphell <dorphell@archlinux.org>
# Committer: Judd Vinet <jvinet@zeroflux.org>
pkgname=mplayer
pkgver=1.0pre3
pkgrel=4
pkgdesc="A movie player for linux"
depends=('libmatroska' 'libmad' 'libungif' 'gtk' 'libvorbis' 'divx4linux' 'cdparanoia' 'codecs' 'sdl')
source=(ftp://ftp.mplayerhq.hu/MPlayer/releases/MPlayer-$pkgver.tar.bz2 
        ftp://ftp.mplayerhq.hu/MPlayer/releases/fonts/font-arial-iso-8859-1.tar.bz2 
        ftp://ftp.mplayerhq.hu/MPlayer/Skin/Blue-1.1.tar.bz2  http://www.bunkus.org/videotools/mkvtoolnix/sources/mplayer1.0pre3-libmatroska063.diff)
md5sums=('998becb79417c6a14d15c07e85188b82' '1ecd31d17b51f16332b1fcc7da36b312'
         '83a9dd5753cbc0484e7e494699fecd52'  '595050ab80bcaa2eb403c177634096c1')

build() {
  cd $startdir/src/MPlayer-$pkgver
  cd libmpdemux
  patch < $startdir/src/mplayer1.0pre3-libmatroska063.diff
  cd ..
  ./configure --prefix=/usr --enable-gui --enable-linux-devfs --disable-arts 
    --disable-external-faad --enable-runtime-cpudetection --disable-smb  
     --enable-sdl --enable-x11 --with-win32libdir=/usr/lib/win32
  make || return 1
  make DESTDIR=$startdir/pkg install
  mkdir -p $startdir/pkg/usr/share/mplayer/Skin
  cp etc/{codecs.conf,input.conf,example.conf} $startdir/pkg/usr/share/mplayer
  mv $startdir/src/font-arial-iso-8859-1/font-arial-{14,18,24,28}-iso-8859-1 $startdir/pkg/usr/share/mplayer/
  cd $startdir/pkg/usr/share/mplayer
  rm -rf font
  ln -s font-arial-24-iso-8859-1 font
  mv $startdir/src/Blue $startdir/pkg/usr/share/mplayer/Skin/default
  chown -R root.root $startdir/pkg/usr/share/mplayer/Skin
  chmod 755 $startdir/pkg/usr/share/mplayer/Skin
  chmod 755 $startdir/pkg/usr/share/mplayer/Skin/default
  chmod 644 $startdir/pkg/usr/share/mplayer/Skin/default/*
  chmod 755 $startdir/pkg/usr/share/mplayer/Skin/default/icons
}

libebml

pkgname=libebml
pkgver=0.6.5
pkgrel=1
pkgdesc="Extensible Binary Meta Language library"
url="http://www.matroska.org"
backup=()
makedepends=()
depends=()
source=(http://dl.matroska.org/downloads/$pkgname/$pkgname-$pkgver.tar.gz)
md5sums=('417d2597e4310458a74e6db32fb13632')

build() {
cd $startdir/src/$pkgname-$pkgver/make/linux
./configure --prefix=/usr --enable-insmod-static
make || return 1
make prefix=$startdir/pkg/usr install
}

libmatroska

pkgname=libmatroska
pkgver=0.6.3
pkgrel=1
pkgdesc="Matroska library"
url="http://www.matroska.org"
backup=()
makedepends=()
depends=('libebml')
source=(http://dl.matroska.org/downloads/$pkgname/$pkgname-$pkgver.tar.gz)
md5sums=('196801f6321badf0461c8760edd86841')

build() {
cd $startdir/src/$pkgname-$pkgver/make/linux
./configure --prefix=/usr --enable-insmod-static
make || return 1
make prefix=$startdir/pkg/usr install
}

mkvtoolnix

pkgname=mkvtoolnix
pkgver=0.8.6
pkgrel=1
pkgdesc="Set of tools to create, edit and inspect Matroska files"
url="http://www.bunkus.org/videotools/mkvtoolnix/index.html"
backup=()
makedepends=()
depends=('libebml' 'libmatroska')
source=(http://www.bunkus.org/videotools/$pkgname/sources/$pkgname-$pkgver.tar.bz2)
md5sums=('50260ccc8abb9cff8c721058bf6f3c0e')

build() {
cd $startdir/src/$pkgname-$pkgver
./configure --prefix=/usr --enable-insmod-static
make || return 1
make prefix=$startdir/pkg/usr install
}

Minor nitpicks:

You should always throw a contributor line in your PKGBUILDs so people know to whom they should attribute it, something along the lines of

#Contributor: FooBar Baz-Jackson <foo_bar_jackson@some.isp.com>
pkgname=footools
etc....

Also, remove any empty lines (makedepends=() for example) as they clutter up the PKGBUILD.

Finally, Xentac wrote a tool called 'namcap' which nitpicks your packages for you and spots missing/redundant dependencies, among other things.  Run it on your final package file and see if there's any changes you should make.


Otherwise, these look fantastic.  I was about to beg for matroska support from someone who knew mplayer/matroska until you showed up, and I'll probably be installing these tonight so I can play a few files I've grabbed in the last few days tongue


[Arch GNUstep Repository] [ PKGBUILDS ]
[code][gnustep]
Server = ftp://blkwidow.lerp.com/pub/mirror/arch/gnustep[/code]

Offline

#3 2004-03-30 17:05:46

Lefungus
Member
Registered: 2004-03-28
Posts: 26

Re: libebml, libmatroska, and mkvtoolnix

As suggested, i cleaned up a bit the PKGBUILD

libebml

#Contributor 30/03/04 lefungus@altern.org

pkgname=libebml
pkgver=0.6.5
pkgrel=1
pkgdesc="Extensible Binary Meta Language library"
url="http://www.matroska.org"
source=(http://dl.matroska.org/downloads/$pkgname/$pkgname-$pkgver.tar.gz)
md5sums=('417d2597e4310458a74e6db32fb13632')

build() {
cd $startdir/src/$pkgname-$pkgver/make/linux
make || return 1
make prefix=$startdir/pkg/usr install
}

libmatroska

#Contributor 30/03/04 lefungus@altern.org

pkgname=libmatroska
pkgver=0.6.3
pkgrel=1
pkgdesc="Matroska library"
url="http://www.matroska.org"
depends=('libebml>=0.6.5')
source=(http://dl.matroska.org/downloads/$pkgname/$pkgname-$pkgver.tar.gz)
md5sums=('196801f6321badf0461c8760edd86841')

build() {
cd $startdir/src/$pkgname-$pkgver/make/linux
make || return 1
make prefix=$startdir/pkg/usr install
}

mkvtoolnix

#Contributor 30/03/04 lefungus@altern.org

pkgname=mkvtoolnix
pkgver=0.8.6
pkgrel=1
pkgdesc="Set of tools to create, edit and inspect Matroska files"
url="http://www.bunkus.org/videotools/mkvtoolnix/index.html"
depends=('libmatroska>=0.6.3' 'flac' 'libvorbis')
source=(http://www.bunkus.org/videotools/$pkgname/sources/$pkgname-$pkgver.tar.bz2)
md5sums=('50260ccc8abb9cff8c721058bf6f3c0e')

build() {
cd $startdir/src/$pkgname-$pkgver
./configure --prefix=/usr --enable-insmod-static
make || return 1
make prefix=$startdir/pkg/usr install
}

Packages on ftp.archlinux.org/incoming contains old versions

Offline

#4 2004-08-03 16:49:22

Lefungus
Member
Registered: 2004-03-28
Posts: 26

Re: libebml, libmatroska, and mkvtoolnix

Updated PKGBUILD
Would it be possible to have those in extra ? After all ogmtools from the same author are there too, but matroska support more features

libebml

#Contributor 03/08/04 lefungus@altern.org
pkgname=libebml
pkgver=0.7.1
pkgrel=1
pkgdesc="Extensible Binary Meta Language library"
url="http://www.matroska.org"
source=(http://www.bunkus.org/videotools/mkvtoolnix/sources/$pkgname-$pkgver.tar.bz2)

build() {
cd $startdir/src/$pkgname-$pkgver/make/linux
make || return 1
make prefix=$startdir/pkg/usr install
}

libmatroska

#Contributor 03/08/04 lefungus@altern.org

pkgname=libmatroska
pkgver=0.7.1
pkgrel=1
pkgdesc="Matroska library"
url="http://www.matroska.org"
depends=('libebml>=0.6.5')
source=(http://www.bunkus.org/videotools/mkvtoolnix/sources/$pkgname-$pkgver.tar.bz2)

build() {
cd $startdir/src/$pkgname-$pkgver/make/linux
make lib || return 1
make prefix=$startdir/pkg/usr install
}

mkvtoolnix

#Contributor 03/08/04 lefungus@altern.org

pkgname=mkvtoolnix
pkgver=0.9.4
pkgrel=1
pkgdesc="Set of tools to create, edit and inspect Matroska files"
url="http://www.bunkus.org/videotools/mkvtoolnix/index.html"
depends=('libmatroska>=0.7.1' 'flac' 'libvorbis')
source=(http://www.bunkus.org/videotools/$pkgname/sources/$pkgname-$pkgver.tar.bz2)

build() {
cd $startdir/src/$pkgname-$pkgver/
./configure --prefix=/usr --enable-insmod-static
make  || return 1
make prefix=$startdir/pkg/usr install
}

Offline

#5 2004-08-03 16:55:39

dp
Member
From: Zürich, Switzerland
Registered: 2003-05-27
Posts: 3,378
Website

Re: libebml, libmatroska, and mkvtoolnix

the url to libebml is
http://dl.matroska.org/downloads/libebml/
instead of the main url to the whole suite

i will have a look at them, but i only maintain pkgs i also use myself or run from time to time, and i dont know exactly what these are good for (but will find out ;-) )


The impossible missions are the only ones which succeed.

Offline

#6 2004-08-04 16:43:51

Lefungus
Member
Registered: 2004-03-28
Posts: 26

Re: libebml, libmatroska, and mkvtoolnix

Basically, matroska  (.mkv for video files or .mka for audio files) is a container, like ogm, that could store various audio/video codecs. The simple example is an mpeg4video, with a vorbis audio track. Matroska support multi tracks, chapters, subtitles, many codecs (mpeg4 / rv / mp3 / vorbis / flac / ac3  and many others). It has excellent support both under libxine and mplayer. It has much less overhead than ogm. Mkvtoolnix is the tool required to mux and create such matroska files. Another cool use of matroska is making single cd images, with one chapter per track, embedded cue and flac as an audio codec.
That's all for the advertisements smile

If you don't maintain it, i will still post updated versions here as i need it often. And usually, it's jsut a matter of changing the version string.

Offline

#7 2004-08-04 17:56:00

dp
Member
From: Zürich, Switzerland
Registered: 2003-05-27
Posts: 3,378
Website

Re: libebml, libmatroska, and mkvtoolnix

thanx for the info - i had a look and must say: fascinating: it's like a dvd in a file

i included the libs in extra, about mkvtoolnix  i have a question: why are we using --enable-insmod-static ?


The impossible missions are the only ones which succeed.

Offline

#8 2004-08-04 18:06:48

dp
Member
From: Zürich, Switzerland
Registered: 2003-05-27
Posts: 3,378
Website

Re: libebml, libmatroska, and mkvtoolnix

my PKGBUILD looks like this:

# $Id: PKGBUILD,v 1.3 2004/04/19 06:20:42 dorphell Exp $
# Maintainer: damir <damir@archlinux.org>
# Contributor 03/08/04 <lefungus@altern.org>

pkgname=mkvtoolnix
pkgver=0.9.4
pkgrel=1
pkgdesc="Set of tools to create, edit and inspect Matroska files"
url="http://www.bunkus.org/videotools/mkvtoolnix/index.html"
depends=('libmatroska>=0.7.1' 'flac' 'libvorbis' 'bzip2' 'libjpeg' 'libtiff' 'wxgtk' 'lzo')
source=(http://www.bunkus.org/videotools/$pkgname/sources/$pkgname-$pkgver.tar.bz2)

build() {
 cd $startdir/src/$pkgname-$pkgver/
 ./configure --prefix=/usr 
     # --enable-insmod-static
 make  || return 1
 make prefix=$startdir/pkg/usr install
}

and i will include it in extra, when the insmod-static is clear to me


The impossible missions are the only ones which succeed.

Offline

#9 2004-08-05 16:22:42

robot5x
Member
Registered: 2004-01-26
Posts: 266

Re: libebml, libmatroska, and mkvtoolnix

thanks for updating this - I love matroska!
Now if only my standalone divx player will support it....

Offline

#10 2004-08-05 17:58:36

Lefungus
Member
Registered: 2004-03-28
Posts: 26

Re: libebml, libmatroska, and mkvtoolnix

dp wrote:

and i will include it in extra, when the insmod-static is clear to me

Nah, you can safely remove it, i didn't update it properly as this switch isn't needed anymore.

Offline

#11 2004-08-05 18:19:59

dp
Member
From: Zürich, Switzerland
Registered: 2003-05-27
Posts: 3,378
Website

Re: libebml, libmatroska, and mkvtoolnix

Lefungus wrote:
dp wrote:

and i will include it in extra, when the insmod-static is clear to me

Nah, you can safely remove it, i didn't update it properly as this switch isn't needed anymore.

ok, thx, went to extra :-)


The impossible missions are the only ones which succeed.

Offline

#12 2004-08-05 18:44:13

Lefungus
Member
Registered: 2004-03-28
Posts: 26

Re: libebml, libmatroska, and mkvtoolnix

Actually, i have no idea why i included this switch in the first place sad . Anyway, it's removed now, so it doesn't matter
Thanks for including it.

Offline

#13 2004-08-27 16:40:20

Lefungus
Member
Registered: 2004-03-28
Posts: 26

Re: libebml, libmatroska, and mkvtoolnix

libmatroska has been updated to 0.7.3
mkvtoolnix to 0.9.5

current PKGBUILD will work fine by only changing the release number in it

Offline

#14 2004-08-27 16:57:06

dp
Member
From: Zürich, Switzerland
Registered: 2003-05-27
Posts: 3,378
Website

Re: libebml, libmatroska, and mkvtoolnix

Lefungus wrote:

libmatroska has been updated to 0.7.3
mkvtoolnix to 0.9.5

current PKGBUILD will work fine by only changing the release number in it

thanx for letting me know

you can also only flag them out-of-date and i will get the info


The impossible missions are the only ones which succeed.

Offline

Board footer

Powered by FluxBB