|
SageTV Customizations This forums is for discussing and sharing user-created modifications for the SageTV application created by using the SageTV Studio or through the use of external plugins. Use this forum to discuss customizations for SageTV version 6 and earlier, or for the SageTV3 UI. |
|
Thread Tools | Search this Thread | Display Modes |
#1
|
||||
|
||||
Utility: MediaShrink v3.0 - An HTPC focused encoder
(Starting a new thread because the older one had to much depreciated junk info)
What it is: There are a lot of great encoding tools out there (ffmpeg, mencoder, handbrake, etc.) but none of them are really focused on the specific needs of HTPC users. So I decided to create mediaShrink as a CLI front end that automatically mixes and matches the best encoding tools to use depending on the type of content you're trying to encode. Is your video telecined? MediaShrink will automatically scan the video and determine those answers for you so you end up with a great looking encode no matter what. And if you aren't' satisfied with the defaults, you can easily modify the settings until you're happy with the results. Working on backing up your DVD's? MediaShrink can help you there too. It'll scan the DVD and automagically encode the main movie, include the main audio as well as any commentary tracks, and attach the closed captioning as a subtitle track. Working with TV show DVD's? No problem there either. It'll automatically pick out all of the episodes on the DVD and encode each of them individually. How To Use It: There are a few different ways you can use MediaShrink depending on what your needs are.
Tools Used: I can't take credit for much in this tool. 99% of of the work gets done by great tools written by other talented developers, I just wrote some perl code to get them all to play nice together.
Known Issues:
__________________
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) Last edited by evilpenguin; 08-18-2010 at 11:10 AM. |
#2
|
||||
|
||||
Code:
mediaShrink Readme - Simple Usage: Drag and drop videos on MediaShrink.exe or MediaShink.bat CLI Syntax : mediaShrink.exe [options] <File|Folder> <File|Folder> ### Basic Options----------------------------------------------------------- /help Show these options /saveLog Save log file when complete (default) /saveAll Save all temp files when complete /batch Run in batch mode, intended for Dirmon2/SJQ (default) /altLaunch Use alternate launching meathod. Should only be used if you're having problems and I ask you to try it. ### Output Options----------------------------------------------------------- /inPlace Replace the original video when complete /outputName <name> Name for output file. Default is same as original with new extention. /outputDirectory <path> Directory to place encoded video. Default is same path as original. /outputSubFolder <name> Create a folder next to the original file and put the finished encode in there. /centralWorkFolder <path> Directory to do all temp work, useful if your videos are stored on a NAS or recording drive that you don't want affected by encoding work. Also needed if you want to process files straight off of a DVD drive. /container <container> A/V container to use - mkv : Uses mkv container (default) - mp4 : Uses mp4 container ### Video Options --------------------------------------------------------- /vcodec <encoder> Set the video encoder - x264 : Uses x264 encoder (default) - ffmpeg : Uses ffmpeg encoder, roughly divx /vbitrate <kbs> Set video bitrate (Default 1500) /vProfile <profile> Sets the video encoding profile - HQ : Slow and pretty - MQ : A nice mix of speed and quality (default) - LQ : Fast enough for slow machines - custom : Uses custom parameters from /x264opts /handbrakeProfile <profile> Use one of handbrakes preset profiles. Note that you still need to specify /container mp4 for portable device profiles. Example: /handbrakeProfile "Universal" /container mp4 /handbrakeFullCommand <full CLI command> Used to specify a complete handbrake CLI and overide all of Mediashrinks settings. NOTE: You still need to specify /container /x264opts <options> Sets custom x264 options - ex: /x264opts "ref=2:bframes=2:subme=6:mixed-refs=0" /onePass Performs a one-pass encode (default) /twoPass Performs a two-pass encode /xRes <###> Scale video to ????x#### (Y Res is auto-calculated) /yRes <###> Scale video to ####x???? (X Res is auto-calculated) /IVTC Uses Handbrakes variable frame rate encoding /noIVTC Blocks usage of IVTC by autoEncode /denoise Uses Hanbrakes denoise filter /noDenoise Blocks usage of denoise by autoEncode /decomb Uses Hanbrakes decomb filter (Selective Deinterlace) /noDecomb Blocks usage of decomb by autoEncode /deinterlace Uses Hanbrakes deinterlace filter /noDeinterlace Blocks usage of denoise by autoEncode /autoCrop Automatically crop videos to remove black bars /noAutoCrop Disable Automatic Cropping /noSubtitles MediaShrink will automatically attempt to attach all subtitle/CC tracks it finds since its a pretty harmless operation. Set this if you want to disable ### Audio Options -------------------------------------------------------------- /acodec <encoder> Set the audio encoder - faac : AAC codec (Default Stereo/SDTV) - lame : MP3 codec - vorbis : OGG codec - ac3 : AC3 passthough (Default HDTV) - dts : DTS passthough /abitrate <kbs> Set audio bitrate in kbs (Default 160) /atrack <Track #> Set audio bitrate in kbs (Default 160) Note: atrack, abitrate, acodec can take comma separated values to force multiple tracks /allAudio Force mediaSrhink to encode all audio tracks /preferDTS By defrault mediashrink will prefer AC3 5.1 tracks, but settings this it'll force it to choose a DTS track over an AC3 one. ### DVD Options ------------------------------------------------------------ /subLang <lang Code|all> Lets user specify the language code of the subtitles they want to extract (default: eng) http://www.loc.gov/standards/iso639-2/php/code_list.php /manualTitles Prompts user to manually specify the DVD titles to encode /forceTitle <#,#,...> By default mediaShrink will automatically attempt to detect which titles to encode, however, sometimes it is impossible. For those cases you can specify just the DVD title numbers you want to encode sepeated by commas. /minDVDTitleLength <#> Theshold for the minimum title time in minutes to inspect. Makes log much cleaner for commercial DVDs which can have hundreds of short titles, but if you have a home video DVD with a short title you may need to customize this value. (Default 5) ### Commercial Cutting Options ------------------------------------------------------------ REQUIRES VIDEOREDO TO BE INSTALLED /cutComm Attempt to cut the commercials. If no edl or vprj file exists it will attempt to make one using comskip /onlyWhenVprj Only cut if a vprj file already exists (default) Server: Encode any mpg older than 30 days Code:
# My Favorites to be encoded at the highest quality if [IsObjMediaFile == true && $.IsTVFile{} == true && MediaAge > "30D" && Filename =$ ".mpg" && $.GetShowTitle{} =% "(Lost|Burn Notice|24|Dollhouse|House)"] { MEDIASHRINKHQ } # Hour long shows are usually more cinematic so give them more bitrate if [IsObjMediaFile == true && $.IsTVFile{} == true && MediaAge > "30D" && Filename =$ ".mpg" && $.GetShowTitle{} !% "(Lost|Burn Notice|24|Dollhouse|House)" && $.GetFileDuration{} >= 1800000] { MEDIASHRINKMQ } # 30 Minute shows usually don't have a lot of action and can live with less bitrate if [IsObjMediaFile == true && $.IsTVFile{} == true && MediaAge > "30D" && Filename =$ ".mpg" && $.GetShowTitle{} !% "(Lost|Burn Notice|24|Dollhouse|House)" && $.GetFileDuration{} < 1800000] { MEDIASHRINKLQ } Code:
MEDIASHRINKHQ { :OFFHOUR "0-1, 15-23" :OFFDAY "1, 7" :MAX 1 :RESOURCES 51 "C:/Program Files/SageTV/SageTV/MediaShrink/mediaShrink.bat \"%c%\" /inPlace /batch /vprofile HQ /vbitrate 2500" } MEDIASHRINKMQ { :OFFHOUR "0-1, 16-23" :OFFDAY "1, 7" :MAX 1 :RESOURCES 51 "C:/Program Files/SageTV/SageTV/MediaShrink/mediaShrink.bat \"%c%\" /inPlace /batch /vbitrate 2500 /onePass" } MEDIASHRINKLQ { :OFFHOUR "0-1, 16-23" :OFFDAY "1, 7" :MAX 1 :RESOURCES 51 "C:/Program Files/SageTV/SageTV/MediaShrink/mediaShrink.bat \"%c%\" /inPlace /batch /vbitrate 2000 /onePass" }
__________________
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) Last edited by evilpenguin; 10-20-2010 at 02:22 PM. |
#3
|
|||
|
|||
Great idea to start a new thread. I guess your "family" gave you some time to get back to Sage stuff. (see what I did there?)
Why would recordings called through SJQ have a very high occorunce of "no audio or video" and fail to encode yet recordings sent to MS through drag and drop have almost none?
__________________
Server: WHS with 11TB of storage Clients:1) HD-200 to a Samsung 32" Slimfit CRT HDTV 2) HD-200 to a Pioneer 26" X1 LCD Tuners: 1) HD-Homerun 2) Avermedia USB ATSC Twitter: ohpleaseno |
#4
|
||||||
|
||||||
Quote:
Quote:
Quote:
Quote:
Quote:
Quote:
Hmm, that's odd. The only problem I run into with SJQ is when I use Sage or SJQ in service mode and there are permission problems. Personally I use both of them in user mode (I just launch them at start-up manually) and I have no issues.
__________________
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) |
#5
|
|||
|
|||
replace the age test with $.IsWatchedCompletely{} == true
IsWatchedCompletely api docs
__________________
Server 2003 r2 32bit, SageTV9 (finally!) 2x Dual HDHR (OTA), 1x HD-PVR (Comcast), 1x HDHR-3CC via SageDCT (Comcast) 2x HD300, 1x SageClient (Win10 Test/Development) Check out TVExplorer |
#6
|
|||
|
|||
Wow EP - you did a lot of catch-up work. Thanks so much for answering my questions. Yeah I saw your SJQ example for the delay - and I'm now convinced that I need to switch to SJQ from Dirmon2 as you all recommended. Another weekend project.
BTW: as posted in a different thread, I just have to say how much I love this forum. It's very active with lot's of helpful and knowledgeable (and patient) people like yourself and RazrSharpe and MeInMaui - with lot's of great content. SageTV couldn't be such a success without all ya'lls hard work and diligence. |
#7
|
|||
|
|||
Also, what about the "ipconfig /all" that happens every 30 seconds under SageTV? Anyone know anything about that? Just curious.
|
#8
|
|||
|
|||
hep EP, great work on this as usual
i still seem to have the problem with shows over 2-3 hours as mentioned here and it looks like its the same problem as the global.national.log shows, maybe it has nothing to do with the show length but something else. cuz i can see in both files at the end it says "no audio / video" moving to next file or something along those lines. any ideas, it's quite annoying as i said the machine just keeps running the files over and over again for days |
#9
|
|||
|
|||
EP
Any chance we can get the progress updates back in the command prompt window? It's nice to have the feedback and know that things are progressing and have a continuous eta. Thanks again for the great apps.
__________________
SageTV v9.1.10.479 on Ubuntu (testing v9.1.10.479 on Debian and Win10) |
#10
|
|||
|
|||
As a further test I selected a show with a dozen recordings or so, no issues with cropping. However I have the following questions:
1. /inplace replaces the old mpg file with the new mkv file in the SageTv recordings directory. However, it does not seem that the file is being picked up by Sage. Is the SageTv check possibly linked to the library refresh? I have mine set up as manual but I am going to force a refresh to see if they get picked up that way. Otherwise, with the old file gone and the new one in place, what could be causing this? Further, is using SJQ's _RELINK a viable option? [I am guessing if the answer is yes then /inplace cannot be used so that both the mpg and mkv are available for the operation.] 2. the working folder options is working because I see the temp dir and files being created on my local (sjq client) machine. However, the processing log is being saved in the sage tv recordings directory rather than the working folder in the local machine. Is there a way to change that behavior while still retaining the capability to generate the log file? 3. what is the correct syntax of the /centralWorkFolder bit on the sjq client ruleset? /centralWorkFolder "D:\\Temp"? /centralWorkFolder D:/Temp is working but I see this entry on the sqj log right at the start: "The filename, directory name, or volume label syntax is incorrect." It does not seem to be affecting anything though. 4. with the sjq client code provided by EP do I still need anything in the mediashrink.defaults file? I have left it alone but what takes precedence if there are conflicting entries between the sjq client code and the defaults file, say for the sake of the argument the client says /twopass but the defaults says /onepass? Thanks.
__________________
Main Server: Intel Core i5 Processor i5-670, MSI Motherboard H57M-ED65, Corsair 4 GB PC3-12800, Intel 320 Series 160 GB SSD, Western Digital 150 GB VelociRaptor, LIAN-LI PC-C36B Case, Vista 64 Home Premium, JavaHeap = 1,200. +Network Encoder. Storage: HP487 with 37.5TB of storage. Extenders: x2 HD300 x6 HD200. Tuners: Hauppauge HVR-1950 USB x3, USBIRT. Adds-in:Many!. Others: Sony BDVE500W, OPPO HM-31 dvanced HDMI 1.3 1080p Switch, Harmony One. Last edited by Islander; 04-28-2010 at 07:59 AM. |
#11
|
|||
|
|||
Quick update to #1
Rescanning the library brings the mkv as imported not as replacement for the mpgs, although I still have to check that all the files are being seen. I guess that I could manually through BMT make them sage recordings by checking the box on each individual file but I wonder if this is working as intended. One downsize of leaving them as is (i.e. imports) is that TVE will show the episode information on the list but Sage will not show it under the episode information or by pressing info while the file is playing. Making it a sage recording file seems to bring everything back but the channel information. Any suggestions?
__________________
Main Server: Intel Core i5 Processor i5-670, MSI Motherboard H57M-ED65, Corsair 4 GB PC3-12800, Intel 320 Series 160 GB SSD, Western Digital 150 GB VelociRaptor, LIAN-LI PC-C36B Case, Vista 64 Home Premium, JavaHeap = 1,200. +Network Encoder. Storage: HP487 with 37.5TB of storage. Extenders: x2 HD300 x6 HD200. Tuners: Hauppauge HVR-1950 USB x3, USBIRT. Adds-in:Many!. Others: Sony BDVE500W, OPPO HM-31 dvanced HDMI 1.3 1080p Switch, Harmony One. |
#12
|
|||
|
|||
I do not do an inplace... I do a relink in SJQ instead. If you choose to do an Inplace you can do a media refresh in SJQ.
:SCANMEDIA "true" Code:
//Relink sage if [IsObjMediaFile == "true" && (Filename =$ ".mpg" || (Filename =$ ".ts")) && FileExists == "%d%/%p%.autoencode.mkv" && Filename !$ ".mkv" && $.IsTVFile{} == "true"] { :RELINKOPTS "$.GetAiringID{}" "%d%/%p%.autoencode.mkv _RELINK }
__________________
Channels DVR UBUNTU Server 2 Primes 3 Connects TVE SageTV Docker with input from Channels DVR XMLTV and M3U VIA Opendct. Last edited by nyplayer; 04-28-2010 at 11:54 AM. |
#13
|
|||
|
|||
Quote:
__________________
Server 2003 r2 32bit, SageTV9 (finally!) 2x Dual HDHR (OTA), 1x HD-PVR (Comcast), 1x HDHR-3CC via SageDCT (Comcast) 2x HD300, 1x SageClient (Win10 Test/Development) Check out TVExplorer |
#14
|
||||||
|
||||||
Quote:
Quote:
Quote:
Quote:
Quote:
Quote:
__________________
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) |
#15
|
|||
|
|||
Quote:
For example, moverec and then immediately unarchive but just the file that was processed. Or does it really matter? Or does one just insert the step without it being "ring fenced" somehow and tied to the specific file just processed? Thanks. p.s. These are my server and clients rule related to mediashrink: # My Favorites to be encoded at the highest quality if [IsObjMediaFile == true && $.IsTVFile{} == true && MediaAge > "3D" && Filename =$ ".mpg" && $.GetShowTitle{} =* "Herculoids"] { MEDIASHRINKHQ } MEDIASHRINKHQ { #:CPU "LOW" #:OFFHOUR "0-1, 16-23" #:OFFDAY "1, 7" :MAX 1 :RESOURCES 51 "D:/Users/Rafael/Downloads/mediaShrink.exe \"%c%\" /inPlace /noAutoCrop /centralWorkFolder "D:\\Temp" /batch /vprofile HQ /vbitrate 2500 /twopass" }
__________________
Main Server: Intel Core i5 Processor i5-670, MSI Motherboard H57M-ED65, Corsair 4 GB PC3-12800, Intel 320 Series 160 GB SSD, Western Digital 150 GB VelociRaptor, LIAN-LI PC-C36B Case, Vista 64 Home Premium, JavaHeap = 1,200. +Network Encoder. Storage: HP487 with 37.5TB of storage. Extenders: x2 HD300 x6 HD200. Tuners: Hauppauge HVR-1950 USB x3, USBIRT. Adds-in:Many!. Others: Sony BDVE500W, OPPO HM-31 dvanced HDMI 1.3 1080p Switch, Harmony One. Last edited by Islander; 04-28-2010 at 05:35 PM. |
#16
|
|||
|
|||
Raz and EP thanks for the further information.
The system processed 13 files starting last night (morning?) at 4 am. The files take about 39 minutes to process. I checked this morning, lunch time and afternoon and none of the mkv files have been "adopted" by Sage. The only mkv I see out of the 13 are the three that I imported by having Sage rescan the libraries. I had a look at the logs and the name of the mks file seems to be exactly the same as the mpg one, the mkv is being copied to the recordings directory and the mpg one deleted from the same recordings directory. I see that there are .my files which still reference the old mpg for example: "File=D:\Recorded TV\Herculoids-TheBeakedPeopleTheRaiders-1081303-0.mpg" The .my files for the three mkv's that I imported still point to the old mpg but there is also a new properties file associated with the mkv. Could the .my or any setting Sage or SageMc be responsible for this behavior? I can produce processing and sqj logs for a given file if needed. Thanks again.
__________________
Main Server: Intel Core i5 Processor i5-670, MSI Motherboard H57M-ED65, Corsair 4 GB PC3-12800, Intel 320 Series 160 GB SSD, Western Digital 150 GB VelociRaptor, LIAN-LI PC-C36B Case, Vista 64 Home Premium, JavaHeap = 1,200. +Network Encoder. Storage: HP487 with 37.5TB of storage. Extenders: x2 HD300 x6 HD200. Tuners: Hauppauge HVR-1950 USB x3, USBIRT. Adds-in:Many!. Others: Sony BDVE500W, OPPO HM-31 dvanced HDMI 1.3 1080p Switch, Harmony One. |
#17
|
|||
|
|||
my files.... what are those ????? in all seriousness i think my files are a old way to store metadata and not really needed anymore... ive never created/used/needed/wanted them.... that being said i dont think they would interfere with sage reimporting them correctly... but perhaps...
__________________
Server 2003 r2 32bit, SageTV9 (finally!) 2x Dual HDHR (OTA), 1x HD-PVR (Comcast), 1x HDHR-3CC via SageDCT (Comcast) 2x HD300, 1x SageClient (Win10 Test/Development) Check out TVExplorer |
#18
|
|||
|
|||
Ha ok that predates my serious attempt at Sage implementation. I did take a look at it few years back but it was very cursory. I could swear that there is a setting Sage or MC not sure which says "use .my files". [If only I could stop my six year old from playing Roblox on the 52 inch then I could check! Anyone has a solution for that??
Yes under SAgeMc options use, create and clean .my changed them to disabled, disabled and enabled. Will give it an hour or so to see if they get picked up.
__________________
Main Server: Intel Core i5 Processor i5-670, MSI Motherboard H57M-ED65, Corsair 4 GB PC3-12800, Intel 320 Series 160 GB SSD, Western Digital 150 GB VelociRaptor, LIAN-LI PC-C36B Case, Vista 64 Home Premium, JavaHeap = 1,200. +Network Encoder. Storage: HP487 with 37.5TB of storage. Extenders: x2 HD300 x6 HD200. Tuners: Hauppauge HVR-1950 USB x3, USBIRT. Adds-in:Many!. Others: Sony BDVE500W, OPPO HM-31 dvanced HDMI 1.3 1080p Switch, Harmony One. Last edited by Islander; 04-28-2010 at 07:14 PM. |
#19
|
|||
|
|||
Thanks for all the hard work! I setup SJQ using your example and everything is working except all the encoding is being down at normal priority desite the "CPU LOW" setting in the SJQ client. Is there any other way to force the priority lower?
|
#20
|
|||
|
|||
Is there a way to tell mediaShrink where to create and store log files?
First of all I love this app! works flawlessly for me. I was wondering if there is a way to have the mediaShrink log files created in a specific folder rather then right next to the about to be encoded file? I tried the /centralWorkFolder switch without success. It seems that mediaShrink still attempts to create a log file in folder I DnD. Omitting the /saveLog switch did not do the trick either for the same reason.
Some background info: I just started using mediaShrink and have to say i'm hooked. Now i'm starting to convert my DVD collection to store in my video library for SageTV. First I copied about 2 dozen DVD's into ISO files, don't ask me why that is a long story. Then I started copying over just the Video_TS folder, using AnyDVD to simplify the process. Now I am DnD the Video_TS folders onto mediaShrink to encode. I'm looking to automate the process and hopefully skip a step or two along with ditching the ISO files. I would like start an encoding straight from the DVD rather than pulling the Video_TS folder to the hard drive first. MediaShrink sees the DVD's just fine but errors out right before processing the Video_TS folder with: "! Can't open create log fileExiting in 5 seconds..." That makes sense because the DVD is read only. My over all goal is to setup DirMon2 to check the DVD drive once at night, already have the batch files ready, and start the encoding process directly from the DVD. So all i have to do is pop in a disc before i goto bed and in the morning check the log files to see what happened. I understand that not all my DVDs will go smoothly but... easy ones first. I also have another batch file that will mount an ISO to a virtual drive and kick off the encoding process. after encoding is done it will unmount the iso and mount another one that is in the same directory. The batch files work when i include a copy command in them to put the Video_TS folder to the hard drive first. I would like to see if this step can be by-passed. Figure you won't know till you try it I have: Daemon-Tools Lite AnyDVD (on the fly DVD decoding app) DirMon2 mediaShrink And a willingness to fail till i succeed (that was corny) Any help is appreciated. I think all I need right now is the ability to tell mediaShrink where to create and store the log files. |
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Utility: Web Radio and TV Encoder | michaeldjcox | SageTV Customizations | 858 | 02-27-2021 10:26 PM |
(Old) MediaShrink - An HTPC focused encoder | evilpenguin | SageTV Customizations | 603 | 04-26-2010 08:05 PM |
Bring focused item to front and call fanart | PLUCKYHD | SageTV Studio | 0 | 04-08-2009 07:38 AM |
Get currently focused widget? | cncb | SageTV Studio | 3 | 05-01-2008 12:22 PM |
God does not want me to have HTPC, more problems - network encoder | stryker | SageTV Software | 2 | 02-03-2008 08:54 AM |