You are not logged in.
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
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
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
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
well, i'm no expert but where exactly in your PKGBUILD are you actually applying the patch ?
Offline
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
Last edited by Canute (2008-01-21 18:30:04)
Offline
That's the problem indeed !
I can confirm it works here (but you have to apply the patch). FWIW I just patched the source directly...
Offline
Yay, it works. Thanks a lot!
Offline
Even after reading this, I am still uncertain as to how to apply the patch.
Offline
Even after reading this, I am still uncertain as to how to apply the patch.
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
justin wrote:Even after reading this, I am still uncertain as to how to apply the patch.
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.
Offline
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
recompile ffmpeg without "--enable-swscaler" option...
I never sleep, cause sleep is the cousin of death
Offline
recompile ffmpeg without "--enable-swscaler" option...
thanks for pointing out the obvious.
Offline
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
Will there be an updated package for vlc of ffmpeg that fixes the problem?
Offline
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
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
how much time will take to fix that bug?
Offline
the bug is fixed if anyone comes across this thread again, vlc now works with the new ffmpeg.
Offline
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
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
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
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
Uploaded. It'll be on your mirror once they sync.
Offline