[MPlayer-cygwin] Slow MPEG2-TS (HDTV) playback
Joey Parrish
joey at nicewarrior.org
Mon Nov 24 05:09:45 CET 2003
On Sun, Nov 23, 2003 at 07:49:00PM -0500, Christopher William Palow wrote:
> I recently purchased a HDTV capture card (HD-2000 High Definition TV Card)
> from pcHDTV.com. It only runs in Linux and it just takes the MPEG2 stream
> from an over the air transmission and puts it out to stdout with the program
> getatsc (getatsc /dev/dtv 20 > out.ts will write the stream to the file
> out.ts). My Linux machine is no where near fast enough to play such a high
> bandwidth MPEG 2 stream (it's an 800Mhz Athlon) but I figure my windows
> machine is (it's an Athlon XP 2200+ with a NVIDIA Geforce 2 Pro). So I get
> the latest mplayer and ffmpeg off the mplayerhq CVS yesterday (11/23/2003)
> and then compile it under cygwin on my WinXP machine.
> I noticed that mplayer wasn't able to use the internal FAAD2 library so I
> downloaded that and compiled it, reconfiged mplayer and tried to compile it.
> It didn't succeed because I didn't have freetype2 installed, so I downloaded
> that and compiled it and then mplayer compiled (I had to --prefix=/usr on
> both freetype2 and FAAD2 to get them to work with mplayer).
That's strange, I get internal faad2 working fine under XP, without
hacking at it. Send in configure.log so we can see why internal faad
failed.
> So now that mplayer compiled I tried playing some captured MPEG2 streams
> (.ts files). It worked but it was slow (and interlaced since it was a 1080i
> stream I had captured). Once I added -framedrop the audio would stay in
> sync but then it would only play at I dunno like 5 fps (is there some way I
> can measure that?). The weird thing is the CPU would never pass 60% no
> matter what I tried (measured from task manager). I tried the gl2 video out
> it worked just as well as the directx video out, however, it was just as
> slow. I tried scaling the video down all the way to -xy 320 back up to it's
> native resolution with no effect. I tried using different mpeg2 codecs -vc
> ffmpeg2 for example, again with no luck. So can anyone help me? I tried
> getting vidix compiled, I went into the configure script and changed cygwin
> && _vidix=no to _vidix=yes on line 1785 and it tried to compiled winvidix
> (and cvidix whatever that is (console vidix maybe?)). However, that failed
> with something along the lines do libdha.so and libdha.so are the same. So
> I went in and tried to compile the individual drivers and ended up with some
> of the errors reported to this list last month. So vidix is no go, would it
> help if I had been able to get it compiled?
Vidix doesn't work for me out of the box, either. I have attached a
patch I applied to get it to compile. It still does not run for me,
primarily because all NT/XP systems disable direct hardware access.
I found a wrapper application that allows it's child process direct
hardware access. Using this, -vo winvidix no longer segfaulted on outb
instructions, and was able to detect my video card. It still failed to
run after that, though, and I cannot recall exactly what the error was.
I gave up, because directx works pretty well most of the time. I'll
probably poke at winvidix again some other time.
NB: This patch I attached is NOT to commit. It is a hack.
> So that's what I'm trying to do (and can do, just slowly). Any advice on
> getting it going at full frame rate would be appreciated. Also -vop
> lavcdeint doesn't work with -vo gl2 is there another deinterlacer that will
> work?
I don't know, I have no experience with TV card stuff. Good luck.
--Joey
--
"I know Kung Fu." --Darth Vader
-------------- next part --------------
vidix support!
doesn't work!
but this makes it compile!
hoorah!
diff -ur main.cvs/libdha/Makefile main.raw/libdha/Makefile
--- main.cvs/libdha/Makefile 2003-11-01 11:03:33.106001600 -0600
+++ main.raw/libdha/Makefile 2003-11-16 20:09:15.399716800 -0600
@@ -8,7 +8,8 @@
ifeq ($(TARGET_OS),CYGWIN)
-SHORTNAME = libdha.dll
+# hack!
+TARGET_MINGW32=yes
else
SHORTNAME = libdha.so.$(MAJOR_VERSION)
SONAME_FLAGS = -Wl,-soname,$(SHORTNAME)
@@ -80,8 +81,10 @@
install:
mkdir -p $(prefix)/lib
install -m 755 -s -p $(LIBNAME) $(prefix)/lib/$(LIBNAME)
+ifneq ($(TARGET_MINGW32),yes)
rm -f $(prefix)/lib/libdha.so
ln -sf $(LIBNAME) $(prefix)/lib/$(SHORTNAME)
+endif
ifeq ($(TARGET_OS),OpenBSD)
ldconfig -R
else
More information about the MPlayer-cygwin
mailing list