Hell alltogether,
I'm trying to get vdr 1.3.31 on debian sarge (mixed setup with some testing debs) at work. Video is running fine, but audio is still a problem.
I use a Nova-T (DVB-T) budget card with a dxr3 mpeg encoder card.
Maybe the reason for my sound problems could be with ffmpeg, cause some google findings sound like, but I'm not really sure.
Starting /etc/init.d/vdr, syslog tells me:
... Oct 22 15:27:48 linux kernel: em8300_audio.o: Analog audio enabled Oct 22 15:27:48 linux kernel: em8300: Microcode version 0x29 loaded Oct 22 15:27:48 linux vdr[6915]: dxr3: configure: video mode: PAL Oct 22 15:27:48 linux kernel: adv717x.o: Configuring for PAL Oct 22 15:27:48 linux vdr[6915]: dxr3: intf: brightness=500,contrast=500,saturation=500 at init Oct 22 15:27:48 linux vdr[6915]: dxr3: ffmpeg: codec 0x15000 not found - not supported by FFmpeg? Oct 22 15:27:48 linux vdr[6945]: DXR3 audio output thread started (pid=6945, tid=49156) Oct 22 15:27:48 linux vdr[6915]: dxr3: ffmpeg: codec 0x15000 not found - not supported by FFmpeg?
I didn't find this dxr3: ffmpeg error via google, thus I only guess that this could have to do with my audio problems.
I have installed ii ffmpeg 20051016-0.1 which looks quite new for me.
The dxr3-plugins' Makefile expects ffmpeg files here: -rw-r--r-- 1 root staff 73042 Oct 16 13:51 /usr/local/include/ffmpeg/avcodec.h
so for me they seem to match.
I have no idea what to do to get audio working, any suggestions?
Furthermore I tried things like bitstreamout, which I couldn't get working too.
Another possibility might be to get rid of the dxr3, put the video over my Geforce 6600 (it has an built in mpeg decoder, but I don't know if one could get this working with vdr - maybe with the softmpeg-plugin?) and redirect the sound via my onboard-sound-system (but how could that be achieved?)?
BTW, DVB-T itself is working fine with kde's kaffeine, with video _and_ audio - there's just some delay of a second or so between the video and the audio which I can't get rid of. I use the xine-dxr3-plugin with that, it's working fine.
If I only could get this setup for vdr!
Any help is very appreciated, TIA and kind regards, Andre
On Sat, 2005-10-22 at 16:11 +0200, Andre Bischof wrote:
Oct 22 15:27:48 linux vdr[6915]: dxr3: ffmpeg: codec 0x15000 not found - not supported by FFmpeg?
I didn't find this dxr3: ffmpeg error via google, thus I only guess that this could have to do with my audio problems.
I have installed ii ffmpeg 20051016-0.1 which looks quite new for me.
The dxr3-plugins' Makefile expects ffmpeg files here: -rw-r--r-- 1 root staff 73042 Oct 16 13:51 /usr/local/include/ffmpeg/avcodec.h
so for me they seem to match.
To me that looks like a mismatch :)
Not knowing much at all about Debian, I would assume that if you installed a packaged version of ffmpeg, it'd install into /usr, not /usr/local.
Try installing the devel package for your ffmpeg (ffmpeg-dev?) and see if it installs the headers into /usr/include/ffmpeg (not /usr/local/include/ffmpeg), point the dxr3 Makefile at those headers and try rebuilding. Possibly also remove the other set of ffmpeg headers (and maybe libs too) from /usr/local before trying that.
There have been numerous reports about no sound with the dxr3 plugin, all of which (IIRC) have eventually been tracked down to ffmpeg libraries/headers mismatches.
Hi Ville,
Ville Skyttä wrote:
On Sat, 2005-10-22 at 16:11 +0200, Andre Bischof wrote:
Oct 22 15:27:48 linux vdr[6915]: dxr3: ffmpeg: codec 0x15000 not found - not supported by FFmpeg?
...
I have installed ii ffmpeg 20051016-0.1 which looks quite new for me.
The dxr3-plugins' Makefile expects ffmpeg files here: -rw-r--r-- 1 root staff 73042 Oct 16 13:51 /usr/local/include/ffmpeg/avcodec.h
so for me they seem to match.
To me that looks like a mismatch :)
Not knowing much at all about Debian, I would assume that if you installed a packaged version of ffmpeg, it'd install into /usr, not /usr/local.
Well, I look after that, I think I have different versions at different locations, maybe because of trying more then one version, see below ...
Try installing the devel package for your ffmpeg (ffmpeg-dev?) and see if it installs the headers into /usr/include/ffmpeg (not /usr/local/include/ffmpeg), point the dxr3 Makefile at those headers and try rebuilding. Possibly also remove the other set of ffmpeg headers (and maybe libs too) from /usr/local before trying that.
Hm, recompilation would be no problem, but I'm not sure about ffmpeg-dev, as I can't find such a package. Do you know a filename of such a header file, to make my search easier? If it's about libavcodec/utils, then it could be one the following packages I installed in different steps, I would suggest libavcodeccvs-dev, which would mach the version of ffmpeg (see above) best - what do you think?
root@linux:~# dpkg -l libav* ... ||/ Name Version Description +++-=========================-=========================-================================================================== ii libavc1394-0 0.5.1-1 control IEEE 1394 audio/video devices un libavcodec-dev <none> (no description available) ii libavcodec1 0.4.8-0.5 Library to encode decode multimedia streams - runtime files un libavcodec1-dev <none> (no description available) ii libavcodec2 0.4.9-pre1-0.4 Library to encode decode multimedia streams - runtime files pn libavcodec2-dev <none> (no description available) ii libavcodeccvs 20051016-0.1 library to encode decode multimedia streams - runtime files ii libavcodeccvs-dev 20051016-0.1 library to encode decode multimedia streams - devel files ii libavutilcvs-dev 20051016-0.1 avutil devel files ii libavutilcvs0 20051016-0.1 avutil shared libraries root@linux:~#
There have been numerous reports about no sound with the dxr3 plugin, all of which (IIRC) have eventually been tracked down to ffmpeg libraries/headers mismatches.
Well, I'm glad to here that, because solution would be in reach then! :-)
If you need more information about packages installed please ask - as soon as I know what to install, I would first remove ffmpeg and libavcodec/utils (if these are the necessary packages), then reinstall and then recompile the dxr3-plugin with the appropriate Makefile.
Regards, Andre
On Sat, 2005-10-22 at 18:21 +0200, Andre Bischof wrote:
Hm, recompilation would be no problem, but I'm not sure about ffmpeg-dev, as I can't find such a package. Do you know a filename of such a header file, to make my search easier?
The dxr3 plugin itself uses only avcodec.h and libavcodec*.so from ffmpeg.
If it's about libavcodec/utils, then it could be one the following packages I installed in different steps, I would suggest libavcodeccvs-dev, which would mach the version of ffmpeg (see above) best - what do you think?
Yes, that would be my guess too. And it's possible that you actually won't even need ffmpeg. libavcodec and libavcodec-dev could be enough.
If you need more information about packages installed please ask
If you need more help with the packages, it would be more efficient if someone actually familiar with Debian would step in here...
Ville Skyttä wrote: ...
The dxr3 plugin itself uses only avcodec.h and libavcodec*.so from ffmpeg.
On my system I can find:
root@linux:/usr/lib# la libav* lrwxrwxrwx 1 root root 19 Oct 7 01:23 libavc1394.so.0 -> libavc1394.so.0.2.1 -rw-r--r-- 1 root root 13744 Jul 8 10:55 libavc1394.so.0.2.1 -rw-r--r-- 1 root root 1895496 Apr 22 2005 libavcodec-0.4.8.so lrwxrwxrwx 1 root root 24 Oct 10 14:28 libavcodec-0.4.9-pre1.so -> libavcodec.so.0.4.9-pre1 lrwxrwxrwx 1 root root 19 Oct 22 12:49 libavcodec.so -> libavcodec.so.0.0.0 lrwxrwxrwx 1 root root 19 Oct 17 14:38 libavcodec.so.0 -> libavcodec.so.0.0.0 -rw-r--r-- 1 root root 3287840 Oct 16 17:58 libavcodec.so.0.0.0 lrwxrwxrwx 1 root root 19 Oct 10 14:28 libavcodec.so.0.4.8 -> libavcodec-0.4.8.so -rw-r--r-- 1 root root 2101960 Mar 31 2005 libavcodec.so.0.4.9-pre1 -rw-r--r-- 1 root root 267100 Apr 22 2005 libavformat-0.4.8.so lrwxrwxrwx 1 root root 25 Oct 10 14:28 libavformat-0.4.9-pre1.so -> libavformat.so.0.4.9-pre1 lrwxrwxrwx 1 root root 20 Oct 22 12:49 libavformat.so -> libavformat.so.0.0.0 lrwxrwxrwx 1 root root 20 Oct 17 14:38 libavformat.so.0 -> libavformat.so.0.0.0 -rw-r--r-- 1 root root 407344 Oct 16 17:58 libavformat.so.0.0.0 lrwxrwxrwx 1 root root 20 Oct 10 14:28 libavformat.so.0.4.8 -> libavformat-0.4.8.so -rw-r--r-- 1 root root 351948 Mar 31 2005 libavformat.so.0.4.9-pre1 lrwxrwxrwx 1 root root 18 Oct 22 12:49 libavutil.so -> libavutil.so.0.0.0 lrwxrwxrwx 1 root root 18 Oct 17 14:38 libavutil.so.0 -> libavutil.so.0.0.0 -rw-r--r-- 1 root root 11504 Oct 16 17:58 libavutil.so.0.0.0
If it's about libavcodec/utils, then it could be one the following packages I installed in different steps, I would suggest libavcodeccvs-dev, which would mach the version of ffmpeg (see above) best - what do you think?
Yes, that would be my guess too. And it's possible that you actually won't even need ffmpeg. libavcodec and libavcodec-dev could be enough.
Well, I'll try and report again. But wait - where should the dxr3-plugin's Makefile line
FFMDIR = /usr/local/include/ffmpeg
be pointing too? As I wrote, I have an avcodec.h lying there, I think that should match libavcodec, shouldn't it?
If you need more information about packages installed please ask
If you need more help with the packages, it would be more efficient if someone actually familiar with Debian would step in here...
I wouldn't interfere here :-) but I think it's not that debian specific - your help is still very appreciated! :-)
Thanks so far, I'll write soon what I achieved. Andre
On Sat, 2005-10-22 at 20:07 +0200, Andre Bischof wrote:
Ville Skyttä wrote: ...
The dxr3 plugin itself uses only avcodec.h and libavcodec*.so from ffmpeg.
On my system I can find:
[...]
Ok, that's 3 different libavcodecs (0.0.0, 0.4.8, 0.4.9-pre1). I have only one:
-rwxr-xr-x 1 root root 2548316 Aug 18 23:08 /usr/lib/libavcodec-CVS.so lrwxrwxrwx 1 root root 17 Aug 19 16:50 /usr/lib/libavcodec.so -> libavcodec-CVS.so
lrwxrwxrwx 1 root root 19 Oct 22 12:49 libavcodec.so -> libavcodec.so.0.0.0
So this is the libavcodec that the dxr3 plugin will be linked against by default unless you have a fourth libavcodec.so in your $(FFMDIR)/libavcodec ("-L$(FFMDIR)/libavcodec -lavcodec" in the dxr3plugin Makefile), and you'll need to find the avcodec.h corresponding to this library and build with it. Or (untested) change the -lavcodec to eg -lavcodec-0.4.8 or -lavcodec-0.4.9-pre1 if you want to link against one of the others.
Well, I'll try and report again. But wait - where should the dxr3-plugin's Makefile line
FFMDIR = /usr/local/include/ffmpeg
be pointing too? As I wrote, I have an avcodec.h lying there, I think that should match libavcodec, shouldn't it?
Yes. You need to make sure that the following holds true:
1) Build the dxr3 plugin using avcodec.h and libavcodec.so from the same ffmpeg/libavcodec version. 2) Run the dxr3 plugin using the exact same libavcodec.so that you built it against in 1).
But you seem to have a mixture of packaged and unpackaged libavcodec libraries and headers around, which will probably make things painful... I don't know how to give more precise instructions than the above, hope it helps. I've personally witnessed that the "no sound" problem may appear if either 1) or 2) above is not done that way.
Ville Skyttä wrote: ...
Ok, that's 3 different libavcodecs (0.0.0, 0.4.8, 0.4.9-pre1). I have only one:
and additionally I had two different versions of ffmpeg, one from a former try to get things working.
...
Yes. You need to make sure that the following holds true:
- Build the dxr3 plugin using avcodec.h and libavcodec.so from the same ffmpeg/libavcodec version.
- Run the dxr3 plugin using the exact same libavcodec.so that you built it against in 1).
But you seem to have a mixture of packaged and unpackaged libavcodec libraries and headers around, which will probably make things painful... I don't know how to give more precise instructions than the above, hope it helps. I've personally witnessed that the "no sound" problem may appear if either 1) or 2) above is not done that way.
You are so right! Now I did the following:
Removal of all ffmpeg-versions (see above) and libavcodec/util/-dev, which included searching for them manually to be really sure everything's clean.
Afterwards I reinstalled to result in:
root@linux:/# dpkg -l libav* |grep ii ii libavc1394-0 0.5.1-1 control IEEE 1394 audio/video devices ii libavcodeccvs 20051016-0.1 library to encode decode multimedia streams ii libavcodeccvs-dev 20051016-0.1 library to encode decode multimedia streams ii libavutilcvs-dev 20051016-0.1 avutil devel files ii libavutilcvs0 20051016-0.1 avutil shared libraries root@linux:/# dpkg -l ffmpeg* |grep ii ii ffmpeg 20051016-0.1 audio/video encoder, streaming server & audio/video file converter root@linux:/#
Nothing more, nothing less. Debian installs ffmpeg to /usr/include/ffmpeg, thus I changed dxr3-plugins' Makefile variable FFMDIR to mach this.
make clean, make plugins in vdr-1.3.31/ compiled the dxr3-plugin new, and now everything works fine, thanks so much!!!
I spend ages working on that problem, that did it!
Ok, one tiny problem is still left - sound and video have a little delay, they are not fully synchronous.
Sound is a little ahead, I would say about half a second - not really s.th. to worry about, but enough to be annoyed :-)
Is there some known solution to this too?
Again - thanks so much for helping! Glad regards, Andre