Log in Register FAQ Memberlist Search pcHDTV Forum Index
pcHDTV Forum

pcHDTV Forum Index -> General pcHDTV topics -> Slow MPEG2-TS (HDTV) playback
Post new topic  This topic is locked: you cannot edit posts or make replies. View previous topic :: View next topic 
Slow MPEG2-TS (HDTV) playback
PostPosted: Sun Nov 23, 2003 3:31 pm Reply with quote
Joined: 23 Nov 2003
Posts: 2

I posted this to the mplayer-cygwin list thought it'd be interesting to users here so here goes...

Hi all,

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.
$ uname -a
CYGWIN_NT-5.1 archangel 1.5.5(0.94/3/2) 2003-09-20 16:31 i686 unknown unknown Cygwin
$ gcc -v
gcc version 3.3.1 (cygming special)

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).

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?

What I'm trying to do is take the stdout of the getatsc program pipe it over the network to my WinXP machine and play it there with mplayer. I can do this (more on how a little farther down) but it's just as slow as playing captured files. The way I got the stream over the network was with netpipes. I just installed the debian package on my linux box and had to do make hose on the tarball in cygwin since the entire package didn't want to compile and I didn't need the entire package. On my linux box I run:

faucet 3000 --out getatsc /dev/dtv 30
# the 30 part is the channel 3000 is the port

And on my WinXP box I run:
hose 3000 --in nice -18 mplayer -framedrop -vc ffmpeg2 -cache 20000 -vop lavcdeint -vo directx -fs -
#You have to have the -cache or it doesn't work over the network, I don't need that when playing from files

I watched the stream in task manager and saw it took about 20Mbit/sec on my 100Mbit/sec switched network.

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?

Christopher Palow
View user's profile Send private message
Slow MPEG2-TS (HDTV) playback
PostPosted: Mon Mar 01, 2004 9:45 pm Reply with quote
Joined: 01 Mar 2004
Posts: 2

I use netcat to send from my Linux box to my PowerMac.

On Liunx type:
getatsc /dev/dtv 48 | nc -n -w 5 1200

Subsitute the IP addr of your receiving box. Also the port number (here 1200) is arbitrary.

And on the receiving box, type:
nc -l -p 1200 > myshow.ts

Hope this works for you.
View user's profile Send private message
PostPosted: Tue Mar 02, 2004 10:48 am Reply with quote
Scott Larson
Joined: 15 Oct 2003
Posts: 713
Location: Portland, OR

I've never used mplayer on Windows but I tried to use xine on my Windows laptop a year ago and it didn't work very well. I don't think mplayer is being updated any more so maybe you should try some other players. I've been playing transport streams with the DVD player that came with the laptop (I can't remember its name). I had no idea it could play transport streams but it does. Perhaps other Windows DVD players can too.
View user's profile Send private message
PostPosted: Sun Jun 20, 2004 12:17 pm Reply with quote

FWIW, I've had good luck using VLC to play back the TS streams on my windows box. (3GHz P4)

Although my Mac can't quite handle it 1080i. (1GHz PPC Powerbook)

You can't find it comiled for all sorts of machines at:
Slow MPEG2-TS (HDTV) playback
  pcHDTV Forum Index -> General pcHDTV topics
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
All times are GMT - 7 Hours  
Page 1 of 1  

 Post new topic  This topic is locked: you cannot edit posts or make replies.  

Powered by phpBB © 2001-2003 phpBB Group
Theme created by Vjacheslav Trushkin