Chainik wrote:

oviano
did you hear about "torrent tv"? smile

Sounds dodgy and for the channels I want most likely illegal and I don't do illegal smile

I use a USB capture device from Magewell.

PC1 (Intel NUC) runs the Slingbox viewing software and feeds into the capture device. Capture device outputs into PC2 (Gigabyte Brix Pro) which runs a modified version of MPC-HC. Modified because it communicates over the LAN with the Slingbox viewing software (SlingFront) to auto restart the capture in full screen mode at an appropriate framerate according to the source being viewed (which SlingFront knows of course, I obviously modified this software too).

Repeat 4 times smile (Well actually 7, as I'm about to set the same up in our summer house).

I'm nuts I know, at least my wife thinks so, but it's more fun than buying 7 new TVs with motion interpolation.

Not so much a fan of TVs as of football, and football looks shit at 25/30fps. I need different rooms to watch in to cover all situations - kids running about making too much noise, wife watching something else, etc.

But ultimately I'm just having fun setting it all up and perfecting it smile

Chainik wrote:

oviano
Where are the settings stored?

depends on choice at install time, "Users\All users\SVP 3.1" by default

but I don't think something can be corrupted with the power lost
still it's easy to test wink

Yeah, makes no sense to me either.

Thanks for the info about the settings.

Re: do I sell PCs, hah no, I just have an elaborate setup in several rooms in my house which let's me view my Slingbox stream from the UK in better quality thanks to SVP. It's the capture-based setup I've written about on here previously.

A weird one this - just recently installed four mini PCs with SVP, went through and chose the appropriate settings, profiles, threads, etc.

Then tonight, I noticed the following settings had changed at some point, on all four PCs:

- language changed to Russian
- threads reset to Auto
- auto cropping re-enabled

I only noticed this because it suddenly started adding black top and bottom bars to my live stream.

The rest of the settings seem to be intact.

I've changed the settings back and will keep an eye, but I'm struggling to think what might cause that to happen?

All I can think of is the other day, after setting SVP up how I wanted it I subsequently changed all the PCs to use the HDMI output rather than DisplayPort (can't see how that would do anything to SVP?) but also updated the BIOS on them all and also verified that when I pulled the plug out they would reboot according to the BIOS power setting (set to "Last State") - is it possible maybe that loss of power like that might result in some settings getting corrupted?

I'm using the latest version of SVP.

Where are the settings stored? Perhaps I could have it copy a master settings file over wherever this file is every time these machines boot, if there is a problem with it getting corrupted on a power cut.

30

(8 replies, posted in Using SVP)

MAG79 wrote:

oviano
sometimes my live TV capture setup was cutting off a load of the image at the top and bottom of the screen
To prevent cutting if you use SVP and don't use outer lighting or SVPlight then you can disable Auto crop black bars option from SVP tray menu - Frame crop.

Great, thanks.

31

(8 replies, posted in Using SVP)

I wondered why sometimes my live TV capture setup was cutting off a load of the image at the top and bottom of the screen....turns out that depending on what is on the screen when the video stream starts it'll decide the cropping based on that.

32

(9 replies, posted in Using SVP)

matthewn4444 wrote:

My problem currently is trying to cut the framerate in half before SVP handles the video. Again, I wrote a directshow filter to drop every other filter  but the filter only happans after FFDshow (SVP) has modified the data. I cannot change the capture card to get 30fps instead of 60fps (since the actual game is 30fps).

...hence my suggestion to see how the same can be achieved in MPC-HC by looking at their source code.

In MPC-HC you can select the capture framerate and so if you select 30fps from
a 60fps it will do what you require - so have a look and see how they achieve it.

33

(9 replies, posted in Using SVP)

matthewn4444 wrote:

Well I was trying to write a program to capture the footage from a PS3 via capture card that has almost no latency to display on the screen. I developed the directshow graph already but I have issues attaching FFDshow to the graph (but that is another issue). The other issue was that the capture card captures 720p at 60fps (although the game is rendering at 30fps). I tried to reducing the fps by half by creating a custom filter to drop every other frame and then attach FFDshow with SVP to double the framerate. This did not work because even if FFDshow raw filter was after the half framerate filter, but the raw filter runs first (which SVP does not do anything since source is 60fps) then it gets halved. I also tried to do 1080i at 30fps (from the capture card) and there was noticeable lag on the video when playing a game (not a fast paced shooter). I have not figured a way to add SVP to the graph correctly to get the effect. Similarly I tried madVR; it cannot use smooth motion with capture devices. Any suggestions? I can provide source code if needed.

You could maybe look at the source code for MPC-HC and see how it's coded there, as they support the scenario you describe. I actually capture a 50/60 fps source at 25/30fps using MPC-HC and use SVP to interpolate back to 50/60fps in a similar manner.

I modified the MPC-HC source code for some other uses so I can confirm it was pretty easy to setup a build environment and compile the latest source.

34

(9 replies, posted in Using SVP)

matthewn4444 wrote:

So I played around with MPC and read the links however there is latency. I reduced the buffer in FFDshow and decreased the lag but there is still a significance lag from the capture feed. Is it possible to further reduce the lag or have it removed at all?

What sort of latency would be acceptable to you?

I have a capture-based setup involving a USB capture device (Magewell XI100DUSB-HDMI) and mini PC (Gigabyte Brix Pro i7) which has a latency of about 400ms. The GB Pro is set to use 8 threads, which allows me to use all default settings for SVP except for Frames Interpolation Mode = Uniform and Motion Vectors Grid = 6 for maximum smoothness. This comfortably smoothes 25 or 30fps sources to 50fps or 60fps accordingly. It may be possible to reduce latency further by switching to 4 threads or less and reducing the intensity of the SVP settings.

From my extensive trial and error the biggest effect by far on the latency is the number of threads, but also make sure you have factored in the latency of the capture device itself. The device I'm using is pretty much zero latency running over USB - maybe a frame or two latency - but some devices, most likely those which encode the video (rather than raw capture it, as mine does), can add plenty of latency of their own even before it hits SVP.

35

(2 replies, posted in Using SVP)

Seconded.

Actually, I can't really notice any difference with the new version but I want to put on record my thanks for continuing to support and improve the project.

Top of my wishlist for a new version would be some focus to be put on improving the interpolation for sports viewing; it's pretty good for the most part, but there are a few scenarios in particular where it isn't so great and various artifacts become obvious, such as (in a football match):

1) sequences where the ball is moving fast.
2) close-up shots of a player when he is running with the crowd in the background and the camera is panning to follow his movement.

If there is interest in focusing on this I am happy to find some samples. I tend to watch only live TV with SVP so I don't have any ready made recordings, but I'm sure with a bit of effort I could find or capture some.

Anyway, it's more than usable as is, so keep up the good work.

Yeah it just loses much of the smoothness (particularly the ball when it moves quickly) that having a motion vectors grid of 6-8 brings...

I mostly watch live football with SVP.

The biggest problem is ghosting, in particular when you have a close up shot of a player running against a static background such as the crowd it can look awful, with blobs and outlines and all sorts appearing. For normal viewing of the pitch it works very well in my experience.

The default shader seems to be best and have the minimum artifacts - even the 'complicated' one which is supposed to reduce ghosting doesn't help, in fact it seems to add a bunch of edge artifacts without making the ghosting any better.

A lesser problem is that when the ball moves fast it just appears to no longer be motion interpolated at all, but reducing the motion vectors grid to 6 makes this a lot better.

Depending on the shader used, you can make a fast moving ball appear as three balls at once, though not with the default shader.

I'd like to see the developers try and tune SVP for sports viewing, taking account of the above. But then I would say that because like I say, I use it mostly for watching football (that's real football, not that American rubbish by the way smile)

38

(5 replies, posted in Using SVP)

Don't think MPC-HC includes MadVR?

Didn't for me, anyway.

It's here:

http://forum.doom9.org/showthread.php?p … ost1668162

MAG79 wrote:

mark007
Lets ask again oviano is video delay constant in time?
If delay is constant then it is not timestamps problem at all.
It is just wrong alignment audio and video at capture start. Think about it.

I find the video delay depends on the number of buffers, which in turn depends on number of SVP threads setting.

I think this backs up what you have found mark007? I see you've also posted on the doom forum thread - nice one maybe someone will be able to help.

Well I don't know to be honest, I'm not knowledgeable on how this stuff all fits together.

All I know is that in my configuration it behaves as if the audio is being passed straight through by the player from the capture device to the audio output device with no consideration given to any video delays that may be introduced directly or indirectly by the player along the way.

So that's one issue.

But if you're having issues with a file-based setup, then it seems like there must be another issue in that even where there is a filter that is supposed to sync things up, it's not working, as you say maybe the time stamps for the video frames are not being adjusted properly or something so whatever is meant to keep them in sync doesn't know they are even out of sync.

Ah right, yeah that makes sense.

Not sure how that would work with capture vs file though.

In my setup the only filters active are:

Enhanced Video Renderer (cp)
Smart Tee (Audio)
ffdshow raw video
Audio capture filter (for the capture device)
Smart tee (Video)
Video capture filter (for the capture device)

Ie there isn't a LAV splitter.

Well I've found that by quitting SVP manager and just toggling the ffdshow ahead buffers on and off you can enable/disable the audio sync problem so I suppose the error is inside AVIsynth/ffdshow.

I agree with you though, whatever is delaying the video frames should delay the audio too, otherwise an implicit assumption is being made that the hardware/threads/script combination isn't causing a noticeable video delay - but under some circumstances it is.

Thanks, it seems like my 'ugly' solution is maybe as good as I'll get then.

2) yes, I have reduced this from 3 to 1, as I found (by enabling AVISynth OSD) that it didn't need the extra two. It didn't make a significant difference though.

3) I will take a look. Is that a different buffer to the ffdshow ahead buffer?

But even so, is it not a potential flaw that depending on the hardware/threads etc the audio can be delayed due to the video latency?

I'm not really concerned about having a video latency of even up to 1s, if it makes things for SVP as good as possible, but I feel there needs to be a way of controlling the audio delay - but in such a way that it can be tuned on a per-profile basis, and also works for capture cards not just video files.

Would generate.js be the place to put in a call to SetAudioDelay too? Is that the place where it creates the AVISynth script that gets used?

I appreciate your help by the way!

Turns out that if I use a different USB capture device things change.

I was using one made by Inogeni and that was giving me the 750ms video latency with 25-to-50fps interpolation and hence it needed the same audio delay. Tried one made by Magewell and this reduces the latency to about 400ms, similar to 29-to-59fps interpolation.

That's strange because when I turn off SVP completely, both devices exhibit similar and very small latency.

Anyway, it got me thinking - I believe there is an AVISynth SetAudioDelay setting, why not add a setting for this for a given SVP profile? Even in my current scenario with the new device I get video latency of about 400ms which is enough to need an audio delay.

It would be much tidier to be able to tie this setting into the profile, rather than my evil hack to launch the separate Audio Repeater app.

Although, given my experience with setting the audio delay via MPC-HC's own settings I'm not convinced avisynth SetAudioDelay would work - perhaps one of the devs can point me in the direction of the AVISynth script that SVP creates so I can experiment with hardcoding some calls?

Further update to this.

I noticed that the issue only occurs with a 25fps capture source and not with the 29.97fps capture source.

With the latter, it appears to remain in sync. Further, the actual latency of the video seems about half when the source is 29.97.

I don't think it's SVP though - I quit SVP manager and I can reproduce the issue simply by toggling the AVISynth Forward buffer. Turn off this buffering and the audio syncs, turn it on it gets messed-up as described.

Should/does AVISynth 2.6 alpha 5 work with SVP - maybe I could try that? Though I checked their changelists and couldn't see a relevant fix.

None of the audio processors or built-in MPC-HC audio switcher has any effect on the audio delay, simply gets by passed. Presumably that's because it's a capture rather than a file.

My ugly workaround was to to stop capturing audio on MPC-HC and instead use VAC's Audio Repeater to capture the audio from the device and forward it to the output. Audio repeater allows the buffer to be set. Better still it can be launched and iconised to the taskbar from the command line so I managed to hack in a call to ShellExecute in MPC-HC source to make MPC-HC launch it when the capture starts.

Works well but like I say, ugly solution and I'd prefer it if the latency for 25fps capture sources was similar to 29.97, rather than be 750ms with Auto threads (4 threads I think).

Trouble with reducing to 2 threads is it means I have to dial down the SVP settings to avoid glitches. With Auto threads I can get a better result by being less conservative.

I'd like to know too.

I suspect the answer will be to experiment and see what is best for you, but personally I'd like to see a description of what each of these settings means to aid the experimenting process.

Thanks - well I tried the ffdshow audio processor, which support a Delay but ran into another problem - basically it seems to be set up ok in the filter graph, ie it says that it is taking the correct input and outputting it to the TV but no sound comes through.

The audio processor is definitely receiving the signal though because in the configuration panel if I tick 'Volume' and show levels I can see the L and R channels fluctuating.

For some reason though no sound actually goes to the audio device.

I will try the AC3Filter then.

Maybe the issue is because the capture is uncompressed audio or something.

Thanks, I added those values.

Unfortunately they have no affect whatsoever, for my setup, either + or -.