PDA

View Full Version : ZProcess: New Release



zehd
2008-02-12, 02:35 AM
ZProcess2 v2.0.215
ZTranscode v0.0.431

It's been a while since I've done anything with ZProcess, but necessity being the mother of doing your homework...

With this release, I fixed a couple of bugs but more importantly added a couple of cool features...


Caching
I've brought back caching of files. If you watch a movie, and it finishes transcoding, (you may not have even finished watching it yet !) your show is copied into a cache that will store files for a prescribed date. (eg. You can have the last 4 days worth of shows in cache...)

What this means is that when you watch the show again, ZProcess doesn't have to Transcode it, it's already transcoded.

And because the file size isn't changing, you can skip forward and back, and audio sync stays on track.

I have also included coded so that once the file is copied into cache, it is 'quickstream' fixed by VideoRedo (if you have it). That makes the video file in really good shape. Currently this feature works with VideoRedo in the default directory)

The Cache is automatically purged of shows.

Because so many people have had trouble with Audio sync and the wish for fast forwarding, this feature is the next best thing to a real fix. This workaround, allows for someone to start a video, pause it, and do something else (not with the PVR!) and then when they come back they simply, exit, and then restart the video. You will have a fully transcoded and synced video.

(That's the best I can do with the idea of spontaneous on-the-fly transcoding...)

Auto CPU Priority Manager
Next cool feature is a CPU Priority Manager. Basically, if the transcoding Framerate falls below a set level, the CPU priority will rise, so that it has more priority, less competition and therefore, more chance of doing it's job well.

I have seen a stubborn video start at 70 fps, within the first minute fall to 25 fps and with a little help from the CPU boost, climbed out of a hole. Then when it was stable, it lowered the Priority and all is well... It was a bit of a rollercoaster, but it kind of proves that a transcode is not a smooth sail. It slows down and speeds up, and for whatever reason, may need a bit of a boost...

This comes at a price though. When the Transcode jumps into Normal or Above Normal mode, you server's Desktop is gonna be SLOW!!!. That means if your doing you email on your server, and your kids watch a particularly tough video to transcode, you better just walk away before you pick the computer and throw it out the window. It will feel like it locked up, and your mouse will be slow, typing dead, Task Manager - forget it, (to try and troubleshoot) and everything will be crazy slow.

Except the GBPVR Recording Service (and MVP server) It seems that they work quite well when ZProcess steals some cpu cycles...

Alternate 'Sorry' Video...
And another cool thing. If you transcode fails immediately or within the first few seconds, ZProcess quickly copies a prexisting movie in place of the one that was supposed to be there. GB-PVR is happy it has a file, and doesn't go to the blue screen. The video I use is a 2 Mb video I produced, that simply says, "Sorry for the inconvenience but your show will be delayed. Try again in a few minutes..."

I like this so much better than having the MVP crash...

You will need to download my video separately, or grab your own MPG and name it ZProcess-Sorry.mpg and store it in the base of the Recordings folder (as set in GB-PVR config)


Flashing Lights and stuff
Then there are things like flashing lights and hiding windows. I tweaked a lot of logging so that it doesn't tear up you hard drive, reading and writing text files...

While the transcode is in progress, you can right click the tray icon and see a history of Frames Per Second, and see if there's a trend.. Eventually I can make a graph, but hey that's it for that one right now...

The log now tells you exactly how long it takes from the moment GB-PVR calls ZProcess to the first frame of video being created. This will help you adjust the PrePlay Delay. Eg; If it takes 2.7 secs for the first frame of video to be displayed, then I would set the preplay delay to about 8 (that's 5.5 secs plus 2.5 secs)

If you super fast system is still taking more than two seconds, that's a clear indication that a competing process is preventing ZProcess and your transcoder from running quickly...


Select your Flavour of FFmpeg or MEncoder...
I've made it so you can now select different versions of ffmpeg, so you can try things out.


Really User Proofed...
Recently I had the privilege of having a true blue 'user can break anything,' tester try to crash ZProcess. And I went through a lot of revisions to make it handle the oops this and oops that...

It's still not perfect, (and I suspect that it may be related to how GB-PVR and the MVP works too) but it's pretty darn stable...

Next...
Next update, I'll be finishing the dvr-ms conversion, and Center Cut Cropping as well as Zooming and Source aspect ratio detect using comskip (man that erik is brilliant)


Hope you have fun...


http://gbpvr.com/pmwiki/pmwiki.php/Utility/ZProcess