You are not logged in.

#1 2008-01-21 16:57:36

Canute
Member
From: Norway
Registered: 2007-04-23
Posts: 21

vlc is unable to play .avi/.mp4 files after ffmpeg upgrade.

After the recent ffmpeg upgrade to ffmpeg-20071204-1 my vlc is unable to play certain files. The audio works like it should, and when I go to Video->Video Track it is disabled. If I try to enable Track1 nothing happens. Vlc however is still able to play other file formats, such as .mpg, .wmv and .img and .iso.

When I try to open vlc from the command line this happens:

[canute@arch-desktop Downloads]$ vlc -v myfile.avi 
VLC media player 0.8.6d Janus
[00000300] main decoder warning: cannot load module `/usr/lib/vlc/codec/libffmpeg_plugin.so' (libavformat.so.51: cannot open shared object file: No such file or directory)
[00000300] main decoder error: no suitable decoder module for fourcc `XVID'.
VLC probably does not support this sound or video format.
[00000278] main playlist: stopping playback

I also tried to upgrade ffmpeg to the ffmpeg-svn which is in the AUR, but the same happens.

Any suggestions?

Last edited by Canute (2008-01-21 17:05:54)

Offline

#2 2008-01-21 17:20:20

farmer
Member
Registered: 2008-01-19
Posts: 7

Re: vlc is unable to play .avi/.mp4 files after ffmpeg upgrade.

similar problem here after ffmpeg 20071204-1 update

[00000388] main decoder error: no suitable decoder module for fourcc `XVID'.
VLC probably does not support this sound or video format.

works in mplayer though

Offline

#3 2008-01-21 17:24:44

bangkok_manouel
Member
From: indicates a starting point
Registered: 2005-02-07
Posts: 1,556

Re: vlc is unable to play .avi/.mp4 files after ffmpeg upgrade.

Would someone check the output of FFmpeg and see if swscaler is enabled. If this problem is because of the newest FFmpeg from the repos, it may be because of FFmpeg's swscaler. It's a well known problem that VLC 8.6 and swscaler do not work together. The VLC people fixed it in the upcoming 9.0.

what can be done:

rebuild ffmpeg with swscaler disabled
patch vlc wih this patch (otherwise build will fail with this version of ffmpeg)
rebuild vlc

Offline

#4 2008-01-21 18:00:44

Canute
Member
From: Norway
Registered: 2007-04-23
Posts: 21

Re: vlc is unable to play .avi/.mp4 files after ffmpeg upgrade.

I have tried to rebuild vlc many times now, from abs and from aur. Every time i get some kind of compile error.

mux.c: In function 'OpenMux__0_8_6':
mux.c:136: error: incompatible types in assignment
mux.c: In function 'CloseMux__0_8_6':
mux.c:160: warning: comparison between signed and unsigned
make[6]: *** [libffmpeg_plugin_a-mux.o] Error 1
make[6]: Leaving directory `/home/canute/Builds/vlc/src/vlc-0.8.6d/modules/codec/ffmpeg'
make[5]: *** [all-modules] Error 1
make[5]: Leaving directory `/home/canute/Builds/vlc/src/vlc-0.8.6d/modules/codec/ffmpeg'
make[4]: *** [all-recursive] Error 1
make[4]: Leaving directory `/home/canute/Builds/vlc/src/vlc-0.8.6d/modules/codec'
make[3]: *** [all] Error 2
make[3]: Leaving directory `/home/canute/Builds/vlc/src/vlc-0.8.6d/modules/codec'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/canute/Builds/vlc/src/vlc-0.8.6d/modules'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/canute/Builds/vlc/src/vlc-0.8.6d'
make: *** [all] Error 2
==> ERROR: Build Failed.
    Aborting...

With this PKGBUILD

# $Id $
# Maintainer:
# Contributor: Sarah Hay <sarahhay@mb.sympatico.ca>

pkgname=vlc
pkgver=0.8.6d
pkgrel=1
pkgdesc="A multi-platform MPEG, VCD/DVD, and DivX player"
depends=('libmad>=0.15.1b-2' 'libmpeg2>=0.4.0b-3' 'ffmpeg-svn'
         'wxgtk-2.6>=2.6.4' 'hal>=0.5.9.1' 'libid3tag>=0.15.1b-2' 'bash>=3.1'
         'libdvbpsi4>=0.1.5' 'fribidi>=0.10.7' 'sysfsutils>=2.0.0'
         'libdvdnav>=0.1.10-2' 'libdvdread>=0.9.4-3' 'xvidcore>=1.1.0-2'
         'libmatroska>=0.8.0' 'libxv>=1.0.1' 'libcdio>=0.78.2' 'desktop-file-utils')
arch=(i686 x86_64)
license=('GPL')
url="http://www.videolan.org/vlc/"
#Note: These build plugins, so I guess they'd be runtime depends
makedepends=('live-media' 'gnome-vfs' 'mesa' 'sdl_image' 'libmpcdec' 'speex'
             'libnotify' 'libmodplug' 'lirc-utils')
install=${pkgname}.install
source=(http://download.videolan.org/pub/videolan/vlc/${pkgver}/${pkgname}-${pkgver}.tar.bz2 meh.patch wx-2.8.patch)
md5sums=('c11e4c38c3347e74ad9004e41208782e')

build() {
  cd $startdir/src/${pkgname}-${pkgver}
  sed -i -e 's:#include <vlc\/vlc.h>:#include <vlc/vlc.h> \n #include <locale.h>: ' src/misc/charset.c
  sed -i -e 's:/truetype/freefont/FreeSerifBold.ttf:/TTF/VeraBd.ttf:' modules/misc/freetype.c

  # features that won't build on x86_64
  [ "${CARCH}" = "i686" ] && EXTRAFEATURES="--enable-loader"

  ./configure --prefix=/usr --enable-dvdread --enable-dvdnav --enable-madi \
    --enable-ffmpeg --disable-rpath --enable-wxwidgets --enable-faad \
    --enable-alsa --enable-skins2 --enable-livedotcom --enable-dvb --enable-theora \
    --enable-dmo --with-livedotcom-tree=/usr/lib/live-media \
    --with-ffmpeg-faac --with-ffmpeg-vorbis --with-ffmpeg-dts \
    --with-ffmpeg-ogg --with-ffmpeg-theora --enable-v4l \
         --enable-lirc \
    --with-wx-config=wx-config-2.6 ${EXTRAFEATURES}
  make || return 1
  make DESTDIR=${startdir}/pkg install || return 1

  for res in 16 32 48; do
    install -D -m644 share/vlc${res}x${res}.png \
      ${startdir}/pkg/usr/share/icons/hicolor/${res}x${res}/apps/vlc.png || return 1
  done

  rm -rf ${startdir}/pkg/usr/lib/mozilla
}

where meh.patch is the patch you linked to.

Offline

#5 2008-01-21 18:19:41

bangkok_manouel
Member
From: indicates a starting point
Registered: 2005-02-07
Posts: 1,556

Re: vlc is unable to play .avi/.mp4 files after ffmpeg upgrade.

well, i'm no expert but where exactly in your PKGBUILD are you actually applying the patch ?

Offline

#6 2008-01-21 18:25:47

Canute
Member
From: Norway
Registered: 2007-04-23
Posts: 21

Re: vlc is unable to play .avi/.mp4 files after ffmpeg upgrade.

I don't know, I didn't find anything about applying a patch in the wiki, so I figured it did that automatically. Tried adding patch -p1 meh.patch, but then it just waits forever.

edit: ah, it's supposed to be patch -p1 <patch smile

Last edited by Canute (2008-01-21 18:30:04)

Offline

#7 2008-01-21 18:30:09

bangkok_manouel
Member
From: indicates a starting point
Registered: 2005-02-07
Posts: 1,556

Re: vlc is unable to play .avi/.mp4 files after ffmpeg upgrade.

That's the problem indeed !  tongue

I can confirm it works here (but you have to apply the patch). FWIW I just patched the source directly...

Offline

#8 2008-01-21 18:35:48

Canute
Member
From: Norway
Registered: 2007-04-23
Posts: 21

Re: vlc is unable to play .avi/.mp4 files after ffmpeg upgrade.

Yay, it works. Thanks a lot!

Offline

#9 2008-01-21 22:51:32

justin
Member
From: Philadelphia
Registered: 2007-04-18
Posts: 132

Re: vlc is unable to play .avi/.mp4 files after ffmpeg upgrade.

Even after reading this, I am still uncertain as to how to apply the patch. roll

Offline

#10 2008-01-22 02:51:31

bruenig
Member
Registered: 2007-05-20
Posts: 175

Re: vlc is unable to play .avi/.mp4 files after ffmpeg upgrade.

justin wrote:

Even after reading this, I am still uncertain as to how to apply the patch. roll

Download the patch. Name it something, put that something in the source=(), add the md5sum. In the build part after the cd $startdir/src/blahblah just add a line that says patch -p1 <../whateveryounamedthepatch.

Last edited by bruenig (2008-01-22 03:04:48)

Offline

#11 2008-01-22 03:55:00

justin
Member
From: Philadelphia
Registered: 2007-04-18
Posts: 132

Re: vlc is unable to play .avi/.mp4 files after ffmpeg upgrade.

bruenig wrote:
justin wrote:

Even after reading this, I am still uncertain as to how to apply the patch. roll

Download the patch. Name it something, put that something in the source=(), add the md5sum. In the build part after the cd $startdir/src/blahblah just add a line that says patch -p1 <../whateveryounamedthepatch.

Thank you very much, all this working now. cool

Offline

#12 2008-01-22 19:25:00

jacko
Member
Registered: 2007-11-23
Posts: 840

Re: vlc is unable to play .avi/.mp4 files after ffmpeg upgrade.

I can't for the life of me seem to get this figured out. I do not know what I am doing wrong.

Can anyone tell me why this wouldn't work? I have the same problem as the rest of you, I can't watch avi video's because there is no video. the error is the exact same.

main decoder error: no suitable decoder module for fourcc `XVID'.

here is my package build file

# $Id $
# Maintainer:
# Contributor: Sarah Hay <sarahhay@mb.sympatico.ca>

pkgname=vlc
pkgver=0.8.6d
pkgrel=1
pkgdesc="A multi-platform MPEG, VCD/DVD, and DivX player"
depends=('libmad>=0.15.1b-2' 'libmpeg2>=0.4.0b-3' 'ffmpeg>=20070131'
         'wxgtk-2.6>=2.6.4' 'hal>=0.5.9.1' 'libid3tag>=0.15.1b-2' 'bash>=3.1'
         'libdvbpsi4>=0.1.5' 'fribidi>=0.10.7' 'sysfsutils>=2.0.0'
         'libdvdnav>=0.1.10-2' 'libdvdread>=0.9.4-3' 'xvidcore>=1.1.0-2'
         'libmatroska>=0.8.0' 'libxv>=1.0.1' 'libcdio>=0.78.2' 'desktop-file-utils')
arch=(i686 x86_64)
license=('GPL')
url="http://www.videolan.org/vlc/"
#Note: These build plugins, so I guess they'd be runtime depends
makedepends=('live-media' 'gnome-vfs' 'mesa' 'sdl_image' 'libmpcdec' 'speex'
             'libnotify' 'libmodplug' 'lirc-utils')
install=${pkgname}.install
source=(http://download.videolan.org/pub/videolan/vlc/${pkgver}/${pkgname}-${pkgver}.tar.bz2
        video_avi_vlc.patch)
md5sums=('c11e4c38c3347e74ad9004e41208782e'
         'e139e9670283442f72c59fee5f6b4fa3')

build() {
  cd $startdir/src/${pkgname}-${pkgver}

  patch -Np1 -i ../video_avi_vlc.patch || return 1

  sed -i -e 's:#include <vlc\/vlc.h>:#include <vlc/vlc.h> \n #include <locale.h>: ' src/misc/charset.c
  sed -i -e 's:/truetype/freefont/FreeSerifBold.ttf:/TTF/VeraBd.ttf:' modules/misc/freetype.c

  # features that won't build on x86_64
  [ "${CARCH}" = "i686" ] && EXTRAFEATURES="--enable-loader"

  ./configure --prefix=/usr --enable-dvdread --enable-dvdnav --enable-madi \
    --enable-ffmpeg --disable-rpath --enable-wxwidgets --enable-faad \
    --enable-alsa --disable-skins2 --enable-livedotcom --enable-dvb --enable-theora \
    --enable-dmo --with-livedotcom-tree=/usr/lib/live-media \
    --with-ffmpeg-faac --with-ffmpeg-vorbis --with-ffmpeg-dts \
    --with-ffmpeg-ogg --with-ffmpeg-theora --enable-v4l \
     --enable-lirc \
    --with-wx-config=wx-config-2.6 ${EXTRAFEATURES}
  make || return 1
  make DESTDIR=${startdir}/pkg install || return 1

  for res in 16 32 48; do
    install -D -m644 share/vlc${res}x${res}.png \
      ${startdir}/pkg/usr/share/icons/hicolor/${res}x${res}/apps/vlc.png || return 1
  done

  rm -rf ${startdir}/pkg/usr/lib/mozilla
}

the patch file

--- a/modules/codec/ffmpeg/mux.c
+++ b/modules/codec/ffmpeg/mux.c
@@ -133,7 +133,11 @@ int E_(OpenMux)( vlc_object_t *p_this )
         return VLC_EGENERIC;
     }
 
+#if LIBAVFORMAT_VERSION_INT >= ((52<<16)+(0<<8)+0)
+    p_sys->oc->pb = &p_sys->io;
+#else
     p_sys->oc->pb = p_sys->io;
+#endif
     p_sys->oc->nb_streams = 0;
 
     p_sys->b_write_header = VLC_TRUE;

still no video and exact same error when I try again with the new compiled vlc installed???
anyone have an idea, I am stumped and have tried manually editing the source and patching it and still it will not work.

Offline

#13 2008-01-22 19:34:36

saneone
Member
From: Warsaw, PL/Bridgeport, CT
Registered: 2007-06-05
Posts: 70

Re: vlc is unable to play .avi/.mp4 files after ffmpeg upgrade.

recompile ffmpeg without "--enable-swscaler" option...


I never sleep, cause sleep is the cousin of death

Offline

#14 2008-01-22 20:16:11

jacko
Member
Registered: 2007-11-23
Posts: 840

Re: vlc is unable to play .avi/.mp4 files after ffmpeg upgrade.

saneone wrote:

recompile ffmpeg without "--enable-swscaler" option...

smile thanks for pointing out the obvious.

Offline

#15 2008-01-22 22:50:34

telperion
Member
Registered: 2007-08-24
Posts: 3

Re: vlc is unable to play .avi/.mp4 files after ffmpeg upgrade.

jacko wrote:

I can't for the life of me seem to get this figured out. I do not know what I am doing wrong.

Can anyone tell me why this wouldn't work? I have the same problem as the rest of you, I can't watch avi video's because there is no video. the error is the exact same.

main decoder error: no suitable decoder module for fourcc `XVID'.

here is my package build file

# $Id $
# Maintainer:
# Contributor: Sarah Hay <sarahhay@mb.sympatico.ca>

pkgname=vlc
pkgver=0.8.6d
pkgrel=1
pkgdesc="A multi-platform MPEG, VCD/DVD, and DivX player"
depends=('libmad>=0.15.1b-2' 'libmpeg2>=0.4.0b-3' 'ffmpeg>=20070131'
         'wxgtk-2.6>=2.6.4' 'hal>=0.5.9.1' 'libid3tag>=0.15.1b-2' 'bash>=3.1'
         'libdvbpsi4>=0.1.5' 'fribidi>=0.10.7' 'sysfsutils>=2.0.0'
         'libdvdnav>=0.1.10-2' 'libdvdread>=0.9.4-3' 'xvidcore>=1.1.0-2'
         'libmatroska>=0.8.0' 'libxv>=1.0.1' 'libcdio>=0.78.2' 'desktop-file-utils')
arch=(i686 x86_64)
license=('GPL')
url="http://www.videolan.org/vlc/"
#Note: These build plugins, so I guess they'd be runtime depends
makedepends=('live-media' 'gnome-vfs' 'mesa' 'sdl_image' 'libmpcdec' 'speex'
             'libnotify' 'libmodplug' 'lirc-utils')
install=${pkgname}.install
source=(http://download.videolan.org/pub/videolan/vlc/${pkgver}/${pkgname}-${pkgver}.tar.bz2
        video_avi_vlc.patch)
md5sums=('c11e4c38c3347e74ad9004e41208782e'
         'e139e9670283442f72c59fee5f6b4fa3')

build() {
  cd $startdir/src/${pkgname}-${pkgver}

  patch -Np1 -i ../video_avi_vlc.patch || return 1

  sed -i -e 's:#include <vlc\/vlc.h>:#include <vlc/vlc.h> \n #include <locale.h>: ' src/misc/charset.c
  sed -i -e 's:/truetype/freefont/FreeSerifBold.ttf:/TTF/VeraBd.ttf:' modules/misc/freetype.c

  # features that won't build on x86_64
  [ "${CARCH}" = "i686" ] && EXTRAFEATURES="--enable-loader"

  ./configure --prefix=/usr --enable-dvdread --enable-dvdnav --enable-madi \
    --enable-ffmpeg --disable-rpath --enable-wxwidgets --enable-faad \
    --enable-alsa --disable-skins2 --enable-livedotcom --enable-dvb --enable-theora \
    --enable-dmo --with-livedotcom-tree=/usr/lib/live-media \
    --with-ffmpeg-faac --with-ffmpeg-vorbis --with-ffmpeg-dts \
    --with-ffmpeg-ogg --with-ffmpeg-theora --enable-v4l \
     --enable-lirc \
    --with-wx-config=wx-config-2.6 ${EXTRAFEATURES}
  make || return 1
  make DESTDIR=${startdir}/pkg install || return 1

  for res in 16 32 48; do
    install -D -m644 share/vlc${res}x${res}.png \
      ${startdir}/pkg/usr/share/icons/hicolor/${res}x${res}/apps/vlc.png || return 1
  done

  rm -rf ${startdir}/pkg/usr/lib/mozilla
}

Try

.....

build() {
  cd $startdir/src/${pkgname}-${pkgver}

  cat $startdir/video_avi_vlc.patch | patch -p1

  sed -i -e 's:#include <vlc\/vlc.h>:#include <vlc/vlc.h> \n #include <locale.h>: ' src/misc/charset.c
  sed -i -e 's:/truetype/freefont/FreeSerifBold.ttf:/TTF/VeraBd.ttf:' modules/misc/freetype.c

...

This work for me.

Offline

#16 2008-01-24 00:17:30

jealma
Member
From: The Netherlands
Registered: 2008-01-03
Posts: 71

Re: vlc is unable to play .avi/.mp4 files after ffmpeg upgrade.

Will there be an updated package for vlc of ffmpeg that fixes the problem?

Offline

#17 2008-01-24 07:25:32

Snowman
Developer/Forum Fellow
From: Montreal, Canada
Registered: 2004-08-20
Posts: 5,212

Re: vlc is unable to play .avi/.mp4 files after ffmpeg upgrade.

jealma wrote:

Will there be an updated package for vlc of ffmpeg that fixes the problem?

Submit a bug report if it hasn't been done yet.

Offline

#18 2008-01-24 13:02:59

mykey
Member
From: out of the blue
Registered: 2007-03-02
Posts: 113

Re: vlc is unable to play .avi/.mp4 files after ffmpeg upgrade.

There is a bugreport - No. 9298 - already, but I guess for the time being it is easiest to downgrade ffmpeg and also x264 to the previous versions rather than patching and compiling vlc with its monster dependencies _and_ ffmpeg to make sure it does not use swscaler - older package versions can be found here:
http://ftp.tu-chemnitz.de/pub/linux/sun … archlinux/
or here
http://ftp.icm.edu.pl/pub/Linux/sunsite … archlinux/

Offline

#19 2008-01-25 07:24:12

jfca283
Member
From: Santiago, Chile
Registered: 2007-10-09
Posts: 177

Re: vlc is unable to play .avi/.mp4 files after ffmpeg upgrade.

how much time will take to fix that bug?

Offline

#20 2008-02-04 21:52:10

bruenig
Member
Registered: 2007-05-20
Posts: 175

Re: vlc is unable to play .avi/.mp4 files after ffmpeg upgrade.

the bug is fixed if anyone comes across this thread again, vlc now works with the new ffmpeg.

Offline

#21 2008-02-04 23:09:10

Ramses de Norre
Member
From: Leuven - Belgium
Registered: 2007-03-27
Posts: 1,289

Re: vlc is unable to play .avi/.mp4 files after ffmpeg upgrade.

bruenig wrote:

the bug is fixed if anyone comes across this thread again, vlc now works with the new ffmpeg.

That is, with the old ffmpeg build into the binary. VLC doesn't work with the new ffmpeg.

Offline

#22 2008-02-05 04:28:54

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

Re: vlc is unable to play .avi/.mp4 files after ffmpeg upgrade.

Ramses de Norre wrote:

That is, with the old ffmpeg build into the binary. VLC doesn't work with the new ffmpeg.

This is exactly why projects like Mplayer aren't breaking all the time. They grabbed a snapshot of the libraries that they wanted from FFmpeg and built their code around it. This is also true for the VLC binaries. No application in a rolling release environment is going to keep up with FFmpeg, or x264 for that matter, at the rate that it's evolving.

All of the multimedia applications that use FFmpeg or x264 on my system are custom built. I build FFmpeg nearly daily and x264 at every svn release, so nothing from the repos will work on my box.

Offline

#23 2008-02-07 11:26:26

mykey
Member
From: out of the blue
Registered: 2007-03-02
Posts: 113

Re: vlc is unable to play .avi/.mp4 files after ffmpeg upgrade.

There is no vlc package for x86_64 yet - can somebody build it or tell me if the ffmpeg-20071204.patch mentioned in the PKGBUILD of the vlc package is the same as the one mentioned in this thread - thanks.

Offline

#24 2008-02-07 19:15:58

Snowman
Developer/Forum Fellow
From: Montreal, Canada
Registered: 2004-08-20
Posts: 5,212

Re: vlc is unable to play .avi/.mp4 files after ffmpeg upgrade.

I'm currently building it. It should be in the repo in a few hours or less.

The missing patch is in the bug tracker (the md5sums matches) : http://bugs.archlinux.org/task/9298?getfile=1773

Offline

#25 2008-02-07 20:24:17

Snowman
Developer/Forum Fellow
From: Montreal, Canada
Registered: 2004-08-20
Posts: 5,212

Re: vlc is unable to play .avi/.mp4 files after ffmpeg upgrade.

Uploaded. It'll be on your mirror once they sync.

Offline

Board footer

Powered by FluxBB