SageTV Community  

Go Back   SageTV Community > SageTV Products > SageTV Software
Forum Rules FAQs Community Downloads Today's Posts Search

Notices

SageTV Software Discussion related to the SageTV application produced by SageTV. Questions, issues, problems, suggestions, etc. relating to the SageTV software application should be posted here. (Check the descriptions of the other forums; all hardware related questions go in the Hardware Support forum, etc. And, post in the customizations forum instead if any customizations are active.)

Reply
 
Thread Tools Search this Thread Display Modes
  #1  
Old 03-01-2007, 02:23 AM
GollyJer's Avatar
GollyJer GollyJer is offline
Sage Aficionado
 
Join Date: Nov 2006
Posts: 318
Thumbs up How I stopped VMR9 stuttering (including 1080i) and solved all my sound issues.

What I have (and hopefully you can as well) with the following setup procedure.
- HDTV playback with zero stutter (even 1080i) with fancy schmancy see through menus.
- HDTV playback with full AC3 digital sound.
- SDTV playback with 3/2.1 sound.
- Matched HD and SD audio levels.
- Music playback (mp3 & flac) in stereo sound.

I believe steps 6-9 are the only ones necessary for stutter free playback. Steps 1-3 however work great for anyone exporting audio to an external receiver and seem to be the safest bet on full stutter free goodness. They are a result of many hours of research into each AC3Filter setting. I'll have to post what each one does sometime. If you're willing to do some reading check out this thread to find out for yourself.

If you have any of the following problems this post will not help:
- An insufficiently powered video card. At this point any Nvidia 6600 or higher seems sufficient.
- A hard drive setup that can't effectively handle the syncronous read/write stress that simultaneous recording and playing of HD content throws at it. Almost any properly functioning new hard drive in a single drive setup should work. However, see my struggles here with a RAID 5 setup.
- An AVerMedia A180 recording to a SATA hard drive. <-- This may only be with a specific SATA card/driver combination. Others have reported this combination of hardware working fine. If a link to discussion of the problem can't be found, this list item will be removed.


My setup:
- Nvidia 6600GT to HDTV via VGA connector running at a resolution of 1360 x 768.
- Asus A7N8X Deluxe motherboard using onboard Nvidia sound (Nforce2 chipset) out to external 5.1 audio receiver via SPDIF.
- Tuner cards: DIVCO Fusion Gold (OTA), Hauppauge HVR 950 (OTA), & HDHomeRun (QAM). I do not record via Firewire.
- Sage 6.0.19 with Java 1.6

I'm using the newest Nvidia video and audio drivers and all Windows XP updates are applied to the OS.

Software used:
- Nvidia Purevideo Decoder
- DirectShow Filter Manager
- GraphEdit
- AC3Filter

How to:
1) In Sage leave all video and audio settings at default except:
- Full Screen Exclusive Mode = True
- 3D Acceleration = Enabled
- Video Renderer = VMR9

2) Be sure you have your audio card outputting via SPDIF and doing no encoding. For the onboard Nvidia audio my setup has, this meant checking "use SPDIF" and setting the speaker array to "2 speakers". Also, turn all volume sliders up as far as they can go. You will need to control volume with your audio receiver because passed through HD sound levels can't be adjusted by the computer (the volume bar in Sage has no affect).

3) Configure AC3Filter like so:




Mar 5th, 2007 - I no longer believe steps 4 & 5 are required for stutter free playback. See post 45 of this thread for my reason why. I'm leaving it here in a shrunken state so this thread doesn't seem completely screwy to someone reading for the first time. Also note; you may already be recording to .ts files if you have an HDHomeRun as it changes this setting during installation.

4) Be sure Sage is not running and in the Sage.properties file, set
mmc/encode_digital_tv_as_program_stream=false.
This setting makes all the HD recordings in my setup record as .ts files. This should be set on the server machine if you're running server/client.

5) Fire up Sage, go to the program guide and start recording an HD channel. Check your recording folder and be sure the resulting file has a .ts extension. Exit Sage.



6) Run DirectShow Filter Manager and scroll down to the Nvidia items. Double click NVIDIA Transport Demux, NVIDIA Video Decoder & NVIDIA Audio Decoder filters and set the merit of each to 00800001. The row color should become bright pink like this (other rows may be different, don't worry about them):


7) Reboot the computer so the new Merits (operating system defaults) will be applied.

8) With Sage closed, fire up GraphEdit and click File > Render file. Choose an HD recording from your recordings folder. If everything went well the resulting graph will have the same filter path as this:

If it doesn't you'll have to repeat step 6 but use a higher Merit number. Something really high like 09040000 should bump them above any other filters. On boot, Windows chooses the Directshow Filters with the highest merit for its defaults. If you can't seem to get the Nvidia Demux to be chosen, try setting the merit of the one that is to 00000000 which tells the OS not to use it at all.

9) Close GraphEdit and fire up Sage. The stuttering should be gone and the sound should be normalized and properly decoded across all mediums.

The key to undropped frames (no stutter) is being sure Sage is actually running in Full Screen Exclusive (FSE) mode. If you click the Window key on your keyboard and Sage minimizes itself, you were in FSE and there should be no stuttering. If the Start Menu pops up and Sage doesn't minimize then FSE wasn't actually initialized. If it did minimize there is a problem after maximizing Sage because it will no longer be in FSE mode. You have to exit the program and reopen for it to correctly reinitialize. I haven't tried it yet, but setting the Sage.properties entry 'disable_fse_on_focus_lost' parameter to false may fix this issue.

Good luck! And let me know how the above settings work for you.

Last edited by GollyJer; 03-07-2007 at 10:54 PM.
Reply With Quote
  #2  
Old 03-01-2007, 05:14 AM
salsbst's Avatar
salsbst salsbst is offline
SageTVaholic
 
Join Date: Jun 2003
Posts: 2,592
Thanks for sharing, GollyJer.

Could you explain the purpose of these they relate to stuttering?

- Overlay Key Mapping = Enabled
mmc/encode_digital_tv_as_program_stream=false

Is using SPDIF as opposed to analog audio out part of the solution? I ask b/c we don't have a separate audio receiver that we could use to decode it.

Finally, it seems you've had luck with the Nvidia demux. Last time I tried, it wouldn't parse some of the files I threw at it. I think it was firewire SDTV recordings that were giving it trouble. I do remember trying at least three different version of the Nvidia filters and finding that different versions had differing levels of success parsing transport streams, and also that only certain versions allowed the demux to be connected to a non-Nvidia audio decoder. I wonder if I should try the latest version again now.
Reply With Quote
  #3  
Old 03-01-2007, 06:53 AM
SHS's Avatar
SHS SHS is offline
Moderator
 
Join Date: Mar 2003
Location: Vinita, Oklahoma
Posts: 4,589
Keep in mind that setting encode_digital_tv_as_program_stream to false will not work on all HDTV card.
Reply With Quote
  #4  
Old 03-01-2007, 07:58 AM
PhillJones PhillJones is offline
Sage Aficionado
 
Join Date: Feb 2006
Location: Boston, MA
Posts: 270
Thanks, you've got alomost the same filter chain as me. The only difference is I'm using nVIDIA audio decoder. I'll try AC3filter.

How do you think the enocde_digital_TV_as_program_stream affects firewire recording?
Reply With Quote
  #5  
Old 03-01-2007, 08:29 AM
salsbst's Avatar
salsbst salsbst is offline
SageTVaholic
 
Join Date: Jun 2003
Posts: 2,592
Quote:
Originally Posted by PhillJones
Thanks, you've got alomost the same filter chain as me. The only difference is I'm using nVIDIA audio decoder. I'll try AC3filter.

How do you think the enocde_digital_TV_as_program_stream affects firewire recording?
My belief is that that setting has no effect on firewire recording. I just wonder whether it might have some surreptitious effect on playback.
Reply With Quote
  #6  
Old 03-01-2007, 09:41 AM
evilpenguin's Avatar
evilpenguin evilpenguin is offline
SageTVaholic
 
Join Date: Aug 2003
Location: Seattle, WA
Posts: 3,696
Thanks for the tips! I'll have to try some of these out this weekend
Quote:
Originally Posted by salsbst
My belief is that that setting has no effect on firewire recording. I just wonder whether it might have some surreptitious effect on playback.
That only affects recordings where Sage is responsible for creating the graphs to record the material. Anything that's a network encoder, (firewire, hdhomerun) won't respond to that command as it handles the recording themselves and just gets the file locations from Sage.

For the firewire, though, you can modify your custom graph to convert the transport stream into program stream which pretty much does the same thing. That info is somewhere in that huge thread.
__________________
Clients: 1xHD200 Connected to 50" TH-50PZ750U Plasma
Server : Shuttle SFF SSH55J2 w/ Win7 Home, SageTV v7, Core i3 540, 2GB RAM, 30GB SSD for OS, 1.5TB+2x1TB WDGP for Recordings, BluRay, 2xHDHR, 1xFirewire
SageTV : PlayOn, SJQ, MediaShrink, Comskip, Jetty, Web Client, BMT


Having a problem? Don't forget to include a log! (Instructions for: PlayOn For SageTV v1.5, MediaShrink)
Reply With Quote
  #7  
Old 03-01-2007, 10:09 AM
PhillJones PhillJones is offline
Sage Aficionado
 
Join Date: Feb 2006
Location: Boston, MA
Posts: 270
You mean like this?



IIUC though, this would be the equivalent of setting

mmc/encode_digital_tv_as_program_stream=true

ie, the opposite of what the OP suggests. The straight forward dump to HDD using the SBDARecorder is the equivolent of setting it to false.

Do I understand correctly?


EDIT:

Maybe I don't is it that SBDARecorder converts to PS but if I were to swap that out for MPEG2Dump, I'd just get the raw transport stream with no conversion? So I can just got stb->MPEG2Dump?


EDIT
I just found the answer, right under my nose page 2 of that monster thread. I was right the second time. stb-> MPEG2dump results in a ts, stb->SBDAREcorder results in a ps.

Last edited by PhillJones; 03-02-2007 at 01:29 PM.
Reply With Quote
  #8  
Old 03-01-2007, 11:00 AM
flavius flavius is offline
Sage Icon
 
Join Date: May 2004
Location: New Hampshire
Posts: 1,257
Quote:
Originally Posted by evilpenguin
..Anything that's a network encoder, (firewire, hdhomerun) won't respond to that command as it handles the recording themselves and just gets the file locations from Sage..
The HDHomeRun does care about this setting or is it Sage that treats the stream from the encoder differently?
Reply With Quote
  #9  
Old 03-01-2007, 11:53 AM
GollyJer's Avatar
GollyJer GollyJer is offline
Sage Aficionado
 
Join Date: Nov 2006
Posts: 318
Quote:
Originally Posted by PhillJones
How do you think the enocde_digital_TV_as_program_stream affects firewire recording?
Like others have pointed out it doesn't because Sage isn't building the graph for the firewire recording.

Quote:
Originally Posted by salsbst
I just wonder whether it might have some surreptitious effect on playback.
I doubt it does.


More info:
Setting enocde_digital_TV_as_program_stream to false creates files with a .ts (transport stream) extension. When using Graphedit to reder a recording ONLY .ts files will use the default graph I posted above. ---EDIT Mar 05, 2007: The preceding sentence wasn't actually true. I hadn't tested .mpg (transport stream) HD files. The first post has been updated to reflect this.--- If I open a .mpg file (any SD recording), the Demuxer used is an MPEG demuxer and not the NVidia Transposrt Demux. My goal was to use the Nvidia filters, by default, whenever possible. For HD, recording to .ts files was the only way I could make it happen.

enocde_digital_TV_as_program_stream applies to my HDHomeRun, the DIVCO and the HVR-950. When it's set to true they all record into a .mpg container. When it's set to true they all record into .ts files.

Last edited by GollyJer; 03-05-2007 at 02:57 AM.
Reply With Quote
  #10  
Old 03-01-2007, 12:02 PM
PhillJones PhillJones is offline
Sage Aficionado
 
Join Date: Feb 2006
Location: Boston, MA
Posts: 270
Quote:
Originally Posted by GollyJer
Like others have pointed out it doesn't because Sage isn't building the graph for the firewire recording.

I doubt it does.


More info:
Setting enocde_digital_TV_as_program_stream to false creates files with a .ts (transport stream) extension. When using Graphedit to reder a recording ONLY .ts files will use the default graph I posted above. If I open a .mpg file (any SD recording), the Demuxer used is an MPEG demuxer and not the NVidia Transposrt Demux. My goal was to use the Nvidia filters, by default, whenever possible. For HD, recording to .ts files was the only way I could make it happen.

enocde_digital_TV_as_program_stream applies to my HDHomeRun, the DIVCO and the HVR-950. When it's set to true they all record into a .mpg container. When it's set to true they all record into .ts files.
Are you saying that the only reason you didn't convert from ts to ps was to make the file be a .ts and therefore use nVIDIA demux? In other words, the TS to PS conversion itself makes no difference?

If so then I didn't have that issue. I just set nVIDIA transport demux to high and all the other demux's and splitters to lower than 'do not use', ie minimum merit and it used nVIDIA.
Reply With Quote
  #11  
Old 03-01-2007, 12:07 PM
GollyJer's Avatar
GollyJer GollyJer is offline
Sage Aficionado
 
Join Date: Nov 2006
Posts: 318
Quote:
Originally Posted by salsbst
Is using SPDIF as opposed to analog audio out part of the solution? I ask b/c we don't have a separate audio receiver that we could use to decode it.
I don't think it's the critical part. I would lean towards the belief that the video path in the graph is what matters for stutter.
The AC3Filter settings are simply the way I am able to send the proper signals to my audio receiver for each type of sound stream I'm listening to.


Quote:
Originally Posted by salsbst
Finally, it seems you've had luck with the Nvidia demux. Last time I tried, it wouldn't parse some of the files I threw at it. I think it was firewire SDTV recordings that were giving it trouble. I do remember trying at least three different version of the Nvidia filters and finding that different versions had differing levels of success parsing transport streams, and also that only certain versions allowed the demux to be connected to a non-Nvidia audio decoder. I wonder if I should try the latest version again now.
I'm not sure how it handles SD recordings. With my setup SD recordings are handled by Sage Demux. I've never had any problems with SD stuttering.
Reply With Quote
  #12  
Old 03-01-2007, 12:15 PM
GollyJer's Avatar
GollyJer GollyJer is offline
Sage Aficionado
 
Join Date: Nov 2006
Posts: 318
Quote:
Originally Posted by PhillJones
Are you saying that the only reason you didn't convert from ts to ps was to make the file be a .ts and therefore use nVIDIA demux? In other words, the TS to PS conversion itself makes no difference?

If so then I didn't have that issue. I just set nVIDIA transport demux to high and all the other demux's and splitters to lower than 'do not use', ie minimum merit and it used nVIDIA.
You know, I'm not actually sure. I wanted the least amount of conversion going on as possible. Also, I wanted SD recordings to continue using the default MPEG demuxer (Sage). I can test this when I get a chance and see if it actually matters.

My best opportunity will be when I install Sage Client on my home office computer. I will try the things I think have the biggest anti-stutter impact first; being sure Hardware Acceleration is on and FSE mode is truely being used.

Last edited by GollyJer; 03-01-2007 at 12:20 PM.
Reply With Quote
  #13  
Old 03-01-2007, 12:44 PM
PhillJones PhillJones is offline
Sage Aficionado
 
Join Date: Feb 2006
Location: Boston, MA
Posts: 270
Quote:
Originally Posted by GollyJer
I don't think it's the critical part. I would lean towards the belief that the video path in the graph is what matters for stutter.
The AC3Filter settings are simply the way I am able to send the proper signals to my audio receiver for each type of sound stream I'm listening to.


I'm not sure how it handles SD recordings. With my setup SD recordings are handled by Sage Demux. I've never had any problems with SD stuttering.
Did you compare nVIDIA audio decoder to AC3Filter? I've read at least one user noticed a difference when switching away from nVIDIA audio decoder. It seems unlikely but I guess not impossible that the nVIDIA audio and video decoders interact or share some resource.
Reply With Quote
  #14  
Old 03-01-2007, 02:19 PM
GbrNole GbrNole is offline
Sage Fanatic
 
Join Date: Aug 2003
Location: Fort Myers, FL
Posts: 844
yep i was that that guy re: nvidia audio decoder.

i absolutely couldn't play back any recordings from CBS when using the nvidia audio decoder. i initially switched to the sage mpeg decoder but that wouldn't parse ac3 and my soundcard was acting up so i switched to an audigy which improved things somewhat and then finally switched the audio codec to ac3filter.

through all of this though i didn't touch the demux.

i have nvidia .223 set as my default video renderer in radlight and ac3filter set to default for audio. i also have both selected in sage.

my card is an agp 6600gt connected with dvi to my plasma. playback is vmr9 w/ FSE enabled.

ps. my capture cards are an avermedia A180 and a hauppauge HVR-950 (actually shows up as 980 in the list) for Hd sources.

i don't know why the OP has overlay key mapping enabled though?
Reply With Quote
  #15  
Old 03-01-2007, 02:20 PM
GollyJer's Avatar
GollyJer GollyJer is offline
Sage Aficionado
 
Join Date: Nov 2006
Posts: 318
Quote:
Originally Posted by PhillJones
Did you compare nVIDIA audio decoder to AC3Filter? I've read at least one user noticed a difference when switching away from nVIDIA audio decoder. It seems unlikely but I guess not impossible that the nVIDIA audio and video decoders interact or share some resource.
I was running in Overlay mode before, and this is when I really dug into audio issues. AC3Filter is for the "solved all my sound issues" part of this thread title. It solved these issues:
- HDTV playback with full AC3 digital sound.
- SDTV playback with 3/2.1 sound.
- Matched HD and SD audio levels.
- Music playback (mp3 & flac) in stereo sound.

I'm not sure it had anthing to do with helping the stuttering. To solve the video stutter I was simply aiming to use all of the NVidia supplied filters from the PureVideo install with my Nvidia hardware decoder card.
Reply With Quote
  #16  
Old 03-01-2007, 02:29 PM
GollyJer's Avatar
GollyJer GollyJer is offline
Sage Aficionado
 
Join Date: Nov 2006
Posts: 318
Quote:
Originally Posted by GbrNole
... i don't know why the OP has overlay key mapping enabled though?
Removed from original post. I think this was a red herring.
Reply With Quote
  #17  
Old 03-01-2007, 02:36 PM
GollyJer's Avatar
GollyJer GollyJer is offline
Sage Aficionado
 
Join Date: Nov 2006
Posts: 318
Quote:
Originally Posted by GbrNole
i have nvidia .223 set as my default video renderer in radlight and ac3filter set to default for audio. i also have both selected in sage.
In addition to using all of the PureVideo filters, my goal with the video was to get Sage using them by default. Graphedit shows what is being used by your computer as defaults, which means Sage will also. If you get a default graph the way you want it, set the audio and video decoders and renderers to default in Sage.

Remember, when you change the Merit of a filter it won't be set to the system default until you reboot.

Last edited by GollyJer; 03-01-2007 at 02:39 PM.
Reply With Quote
  #18  
Old 03-01-2007, 02:47 PM
jkohn jkohn is offline
Sage Advanced User
 
Join Date: Oct 2006
Posts: 234
Are you sure SageTV uses the system's default graph though? I thought SageTV always used its own demux and only used the default video/audio decoders (assuming you haven't specified otherwise in detailed setup).
Reply With Quote
  #19  
Old 03-01-2007, 02:52 PM
GollyJer's Avatar
GollyJer GollyJer is offline
Sage Aficionado
 
Join Date: Nov 2006
Posts: 318
Quote:
Originally Posted by jkohn
Are you sure SageTV uses the system's default graph though? I thought SageTV always used its own demux and only used the default video/audio decoders (assuming you haven't specified otherwise in detailed setup).
I'm not sure. Maybe a Sage dev can jump in here.

The only thing I am sure of is that this combination of settings works perfectly for my setup.
Reply With Quote
  #20  
Old 03-01-2007, 02:55 PM
salsbst's Avatar
salsbst salsbst is offline
SageTVaholic
 
Join Date: Jun 2003
Posts: 2,592
I'm pretty sure, based on observation and some comments I remember getting from Qian a while back, that Sage uses the DirectShow merit system to choose the demux.
Reply With Quote
Reply


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -6. The time now is 02:04 PM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2023, vBulletin Solutions Inc.
Copyright 2003-2005 SageTV, LLC. All rights reserved.