Log in Register FAQ Memberlist Search pcHDTV Forum Index
pcHDTV Forum

pcHDTV Forum Index -> xine-hd -> Audio freezes and veeeery slow video sometimes? Goto page 1, 2  Next
Post new topic  This topic is locked: you cannot edit posts or make replies. View previous topic :: View next topic 
Audio freezes and veeeery slow video sometimes?
PostPosted: Thu Jan 27, 2005 11:24 am Reply with quote
Robert Blair
Guest
 




I am running a sempron (1.6GHz real clockspeed 2800+) system. This has an MX440 video card and 512M of DDR400 memory. The OS is whitebox (a knockoff of Redhat Enterprise 3) running the usual redhat highly patched 2.4.21... kernel. I installed the latest xine from the pchdtv site and all seems to work (one odidity I notice is that the minor device number reported when dtvscan is run is garbage - a large negative number). The problem is that while occassionally it can receive local HDTV stations fine for many minutes with reasonable frame rates and proper audio it more often yields no audio and very low frame rates. It also often complains of large frame loss rates.

I looked at the system usage while it is running and find that the system load is very low (maybe 10-20% of the CPU is in use). This is a TV not a workstation so high usage is just fine (i.e. there is no need to run anything other than video on it). The memory use on the other hand is quite high - typically there are three xine processes with 27% of the memory each and sometimes a third process shows up.

Anyone with a clue as to how to resolve this or maybe an idea of why the performance is so variable and mostly unusable?

Thanks in advance,
Bob Blair
PostPosted: Thu Jan 27, 2005 2:06 pm Reply with quote
Scott Larson
 
Joined: 15 Oct 2003
Posts: 713
Location: Portland, OR




xine-hd has trouble syncing and resyncing. If you lose audio or the video gets jumpy, try hitting space a couple of times and see if xine recovers.
View user's profile Send private message
Syncing is not the problem
PostPosted: Sat Feb 05, 2005 10:14 am Reply with quote
Robert Blair
Guest
 




I have tried this and this is definitely not the problem. Syncing may bake a short improvement but then the problem reappears within seconds. I even went so far as to buy a new video card to see if this improved things - no help. At the moment I seem to have purchased a $189 boat anchor. I'd love to get this to work but it has already taken more time and effort than it is worth. I'm willing to try any real suggestions. Is it possible that this card requires more than an nvidea 8x agp 5200 and an 1.6GHz sempron (even though the CPU load appears to be very low)? Can someone explain why the load average is low but the cpu is the issue or suggest opther approaches?
PostPosted: Sat Feb 05, 2005 12:30 pm Reply with quote
Scott Larson
 
Joined: 15 Oct 2003
Posts: 713
Location: Portland, OR




OK... make sure xine is using xvmc. Run it with the -V xvmc option. I've had problems with 720p going goofy in xine when it uses xvmc so test it on some 1080i programming.

Try capturing some HDTV with dtvstream and playing that instead of reading directly from /dev/dtv -- that will narrow down where the problem is.

BTW, the HD-3000 card will be even more useless as a boat anchor.
View user's profile Send private message
performance
PostPosted: Wed Feb 09, 2005 12:39 pm Reply with quote
Robert Blair
Guest
 




Using getatsc I saved a short segment of on air video and find that no matter where I play it it looses frames. This appears to be worse for slower systems and better for fast ones but even my AMD 64 3000+ (running a 64 bit kernel) loses frames (and it is quite visible). I was not able to test it on a celeron 2.6GHz due to video issues. What are the true requirements for playback of HDTV with xine? Is there an alternative that is better?
PostPosted: Wed Feb 09, 2005 2:09 pm Reply with quote
Scott Larson
 
Joined: 15 Oct 2003
Posts: 713
Location: Portland, OR




You will probably always lose frames at times no matter how fast your system is because Linux isn't a realtime OS. xine only takes about 25% of my CPU with XvMC, but it will still drop a frame or two if I move the mouse or a cron job starts in the background. It's hardly noticable. You can try upping xine's priority with renice.

The segment you saved may have errors.

BTW, you still haven't verified that xine is using XvMC. Is that related to the "video issues" on your slower machine?
View user's profile Send private message
slow -
PostPosted: Fri Feb 11, 2005 8:56 pm Reply with quote
Robert Blair
Guest
 




Yes it is likely XvMc is being used now. I installed the nvidia driver and put AccelRender on. This all improved things but it is still true that after a few seconds (~30) the audio disappears and tapping the spacebar restores it for a few more seconds. The bottom line is that this is not really usable as a TV. I suspect it is necessary to update and improve the system performance before I canm really considet this as a production system.

Has anyone used a realtime linux system and made improvements on performance?
PostPosted: Sat Feb 12, 2005 7:10 pm Reply with quote
Scott Larson
 
Joined: 15 Oct 2003
Posts: 713
Location: Portland, OR




I'll be extra clear about this...

If you're having problems as drastic as audio disappearing after thrity seconds, then there is something drastically wrong with your setup. This doesn't happen on anyone else's system and it should not happen on any of yours if they're properly set up.

You suspect that you're using XvMC. I asked you to run xine with the -V xvmc option. DId you do that? If you're not using XvMC, getting it to use XvMC may well solve all of your problems. AccelRender is not XvMC.

Even on a perfecty working system, you can expect xine and mplayer to drop a frame or two occasionally. This is hardly noticable and is not worth changing operating systems over. All three of your systems have enough horsepower to display HDTV well enough with an 8X NGP card that supports XvMC without dying after 30 seconds.

DId I suggest running xine with the -V xvmc option? Yes I did. Do that now. Please.
View user's profile Send private message
PostPosted: Tue Feb 15, 2005 1:13 pm Reply with quote
Robert Blair
Guest
 




I was running "xine -V XvMC" (I'm a little confused on the case and xine -h is useless as far as this option goes). Is this right? I'm also puzzled on the RenderAccel option (in XFree86.conf) since the nvidia release notes imply the hardware acceleration is off by default and this turns it on.
PostPosted: Tue Feb 15, 2005 3:19 pm Reply with quote
Scott Larson
 
Joined: 15 Oct 2003
Posts: 713
Location: Portland, OR




xine doesn't care about the case so you are definitely using XvMC (unless xine is complaining about it). Now we need to see what's going on when things fall apart. The next option you can try with xine is "--verbose=8". This will tell you how badly xine is dong at display the frames in time. Try posting the end of this output so we can take a look at it.

Also, try increasing xine's cache size. It's somewhere in the menus and there might be a command line option for it (look in the man page).

Read the xine troubleshooting page. Lots of good tips there.


Nvidia doesn't really say what RenderAccel does in their driver since render accelration can mean almost anything. You don't need render acceleration anyway. You need MPEG acceleration and XvMC is the only way (although xv by itself helps somewhat).
View user's profile Send private message
PostPosted: Sat Feb 19, 2005 9:15 am Reply with quote
Guest
 




Some great sounding advice from Scott there I think ...

Just to underline how important the appropriate drivers are, my glx gears test on my athlon 64 / 6600 gt system yielded :

test 1 no accel no apgart 200 fps (something pretty sad)
test 2 accel apgart disabled 3800 fps (good)
test 3 apgart after kernel rebuild 6400 (excellent Wink )
PostPosted: Mon Feb 21, 2005 6:30 am Reply with quote
Robert Blair
Guest
 




Here is a piece of what comes out - I notice that xinerama is "not enabled" in the beginning part of the output - is that a problem? I also see many errors of the variety:
demux error! transport error
These occur when things are really bad.

Below is what comes out if it is mostly working (tail end).

demux_ts: PID 0x0031: unexpected cc 4 (expected 2)
demux_ts: PID 0x0034: unexpected cc 6 (expected 11)
demux_ts: PID 0x0031: unexpected cc 7 (expected 14)
demux_ts: PID 0x0034: unexpected cc 3 (expected 1)
liba52:a52 frame failed crc16 checksum.
video_out: throwing away image with pts 469471 because it's too old (diff : 4578).
video_out: throwing away image with pts 478130 because it's too old (diff : 5819).
video_out: throwing away image with pts 609025 because it's too old (diff : 5424).
video_out: throwing away image with pts 653581 because it's too old (diff : 7668).
video_out: throwing away image with pts 833118 because it's too old (diff : 4531).
video_out: throwing away image with pts 968178 because it's too old (diff : 3572).
200 frames delivered, 165 frames skipped, 6 frames discarded
video_out: throwing away image with pts 1013216 because it's too old (diff : 6233).
video_out: throwing away image with pts 1058261 because it's too old (diff : 8888).
video_out: throwing away image with pts 1103306 because it's too old (diff : 11543).
video_out: throwing away image with pts 1148351 because it's too old (diff : 10599).
video_out: throwing away image with pts 1328531 because it's too old (diff : 5019).
video_out: throwing away image with pts 1373576 because it's too old (diff : 9473).
video_out: throwing away image with pts 1418621 because it's too old (diff : 4929).
video_out: throwing away image with pts 1463666 because it's too old (diff : 5783).
video_out: throwing away image with pts 1508711 because it's too old (diff : 6639).
video_out: throwing away image with pts 1553756 because it's too old (diff : 7494).
200 frames delivered, 187 frames skipped, 10 frames discarded
video_out: throwing away image with pts 1643846 because it's too old (diff : 4704).
video_out: throwing away image with pts 1688891 because it's too old (diff : 9158).
set_speed 0
set_speed 1000000
fixing sound card drift by 3272 pts
fixing sound card drift by 2457 pts
fixing sound card drift by 1843 pts
demux_ts: PID 0x0031: unexpected cc 11 (expected 12)
demux_ts: PID 0x0034: unexpected cc 12 (expected 16)
demux_ts: PID 0x0031: unexpected cc 8 (expected 6)
demux_ts: PID 0x0034: unexpected cc 4 (expected 15)
liba52:a52 frame failed crc16 checksum.
demux_ts: PID 0x0031: unexpected cc 2 (expected 7)
demux_ts: PID 0x0034: unexpected cc 15 (expected 12)
demux_ts: PID 0x0031: unexpected cc 2 (expected 10)
demux_ts: PID 0x0034: unexpected cc 15 (expected 10)
liba52:a52 frame failed crc16 checksum.
fixing sound card drift by 2516 pts
fixing sound card drift by 1899 pts
200 frames delivered, 62 frames skipped, 2 frames discarded
fixing sound card drift by 1424 pts
fixing sound card drift by 1309 pts
video_out: throwing away image with pts 3157612 because it's too old (diff : 3994).
demux_ts: PID 0x0031: unexpected cc 0 (expected 1)
demux_ts: PID 0x0034: unexpected cc 12 (expected 11)
liba52:a52 frame failed crc16 checksum.
demux_ts: PID 0x0031: unexpected cc 1 (expected 12)
demux_ts: PID 0x0034: unexpected cc 5 (expected 1)
demux_ts: PID 0x0031: unexpected cc 2 (expected 16)
demux_ts: PID 0x0034: unexpected cc 1 (expected 12)
liba52:a52 frame failed crc16 checksum.
demux_ts: PID 0x0031: unexpected cc 8 (expected 7)
demux_ts: PID 0x0034: unexpected cc 5 (expected 10)
demux_ts: PID 0x0031: unexpected cc 7 (expected 6)
demux_ts: PID 0x0034: unexpected cc 14 (expected 9)
demux_ts: PID 0x0031: unexpected cc 11 (expected Cool
demux_ts: PID 0x0034: unexpected cc 9 (expected 5)
liba52:a52 frame failed crc16 checksum.
200 frames delivered, 0 frames skipped, 1 frames discarded
set_speed 0
set_speed 1000000
fixing sound card drift by 3346 pts
fixing sound card drift by 2752 pts
fixing sound card drift by 2064 pts
fixing sound card drift by 1548 pts
200 frames delivered, 18 frames skipped, 0 frames discarded
demux_ts: PID 0x0031: unexpected cc 7 (expected 5)
demux_ts: PID 0x0034: unexpected cc 15 (expected 4)
demux_ts: PID 0x0031: unexpected cc 12 (expected 11)
demux_ts: PID 0x0034: unexpected cc 5 (expected 1)
liba52:a52 frame failed crc16 checksum.
demux_ts: PID 0x0031: unexpected cc 3 (expected 16)
demux_ts: PID 0x0034: unexpected cc 1 (expected 14)
liba52:a52 frame failed crc16 checksum.
PostPosted: Mon Feb 21, 2005 11:33 am Reply with quote
Scott Larson
 
Joined: 15 Oct 2003
Posts: 713
Location: Portland, OR




It sounds like you're just getting bad reception. A faster/better/more expensive system or kernel will not fix many of these errors you're seeing.

What you want to see is lots of "fixing sound card drift" messages. That means things are going so well it only has to compensate for the sound card timing. An occasional checksum error is also common and no big deal.

"video_out: throwing away image" messages aren't always a sign of trouble. They'll happen if the system is too busy for a moment and discarding or skipping a few frames usually doesn't look too bad. But "200 frames delivered, 187 frames skipped, 10 frames discarded" means a whole pack of frames had to be chucked for some reason.

This could be caused by a slow or busy system but it's hard to tell since so many other bad things are happening here. The "unexpected cc" and "demux error! transport error" messages mean it's having trouble keeping synced with the transport stream since it's so corrupted. Unless you're getting lots of buffer overruns (check dmesg) or your CPU is nearly 100% busy (you say it isn't), then I'd say you're just having reception problems and need to adjust your antenna to get a better signal.

I just noticed we've been assuming you've been receiving good signals the whole time.
View user's profile Send private message
follow up
PostPosted: Mon Mar 14, 2005 7:22 am Reply with quote
Robert Blair
Guest
 




I'm not sure I believe this explanation. Here is why:
1) the dtvsignal application indicates 75% plus signal strength for the channels in question
2) I can record these channels fine using getatsc and then play them back fine later. I just can't do both simultaneously.

I actually spent a long time trying other systems and MB's (VIA vs nvidia and intel vs AMD) and found no real improvement. It is true that all these systems are about the same speed (a 2.8 GHz celeron versus the sempron). My suspicion is that I will have to move to a client server arrangement (which may have advantages). I run a server already for other household services like file serving. This system is always on so it is perfect for recording. I think I'll just do the TV end on that and the displaying on the "TV" system. Anyone know of good software to facilitate this? I need to do some experimenting to make sure the NFS serving is okay while recording and reading off an NFS volume (GE connection) while displaying is okay.
Re: follow up
PostPosted: Mon Mar 14, 2005 9:48 am Reply with quote
Scott Larson
 
Joined: 15 Oct 2003
Posts: 713
Location: Portland, OR




Robert Blair wrote:
2) I can record these channels fine using getatsc and then play them back fine later. I just can't do both simultaneously.

Now run xine with the --verbose=8 option on these files that play fine. What kind of output do you get?
View user's profile Send private message
Audio freezes and veeeery slow video sometimes?
  pcHDTV Forum Index -> xine-hd
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 2  
Goto page 1, 2  Next
  
  
 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