SageTV Community  

Go Back   SageTV Community > SageTV Development and Customizations > SageTV Customizations
Forum Rules FAQs Community Downloads Today's Posts Search

Notices

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.

Reply
 
Thread Tools Search this Thread Display Modes
  #1  
Old 09-20-2007, 12:44 PM
evilpenguin's Avatar
evilpenguin evilpenguin is offline
SageTVaholic
 
Join Date: Aug 2003
Location: Seattle, WA
Posts: 3,696
Finished new video encoding (and DVD creating) tool. Looking for some testers

NOTE: Before anyone asks, this is just the tool. I still need to finish the STVi work

Well, after just 8 short months of development () I finally finished the new HTPC focused video encoding tool I've been working on! What makes it HTPC focused? I'm glad you asked...
  • Its 100% CLI based which makes it ideal for scripting, batch processing, and inclusion into existing front ends.
  • Its easily expandable and customizable. If one day you find an awesome new encoding tool/command online you can write up a new profile for this tool that uses it in under 5 minutes (That's who long it took me to add a handbrake profile)
  • Its as smart as you want it to be. I realized after I wrote my first DVD burning plug-in that a) I didn't know what the hell I was doing and b) that there's no way I could anticipate/accommodate every one's needs. So I decided that none of the encoding decisions could be hard coded in the script. Instead I needed to create an incredibly poweful mini-syntax for inside the profiles so that I could easily distribute improvements and bug fixes without recompiling.

What I really need now is more people than just me to throw some videos at it and see how it performs. My concern really isn't with the quality of the encodes (those can be improved by just modifying the profiles) but that it handles every type of video gracefully. The stranger the video (avi w/ ac3, mkv, vorbis audio, etc.) the better

You can download it at

http://sourceforge.net/project/showf...kage_id=246238

To use it just extract it to its own folder, run profile2bat.exe, and drag and drop videos on the batch files it creates.

If the tool errors out completely it will generate a .zip file containing all of the relevant log files that you can email to me @ perl2dvd(at)gmail(dot)com. However, if a video is being created successfully but very badly, you can open up the .bat files and add "/saveZip" to the switches line to have it save a .zip file with every encode.

Oh, also, videoDVD creation is working great in this build so I highly recommend playing around with that. It will generate .img files that you can burn using your software of choice (I recommend imgBurn).

Let me know if anyone has any questions (other than when will the SageTV plug-in part will be done).

The epic saga that is the readme.txt:
Code:
----------- General Usage --------------------

usage: perl2dvd.exe /compress (CLI SWITCHES) /videoFile "VIDEO" "ENCODING PROFILE"  "(PER VIDEO SWITCHES)" /videoFile "VIDEO" "ENCODING_PROFILE"...
or   : perl2dvd.exe /dataDVD  (CLI SWITCHES) /videoFile "VIDEO" "ENCODING PROFILE"  "(PER VIDEO SWITCHES)" /videoFile "VIDEO" "ENCODING PROFILE"...
or   : perl2dvd.exe /videoDVD (CLI SWITCHES) /videoFile "VIDEO" "Title" "Episode" "Description" "(PER VIDEO SWITCHES)" /videoFile "VIDEO" "Title"...
or   : perl2dvd.exe "QDVD FILE"

CLI Swiches:
        /dvdMenu "MENU" - Use the specified DVD Menu
        /palOrNTSC "(PAL|NTSC)" - Set video standard to be used for DVD creation.
        /saveAll - Save all temporary files for debugging
        /saveLog - Save main log file for debugging
        /saveZip - Save all logs in zip file for debugging
        /statusFiles - Create Status Files for SageTV
        /noAutoClear - Don't automatically clear finished status

Per Video Switches: ( Seperate these with '!!!' instead of ' '(spaces) )
        /outputMode (NextTo|InPlace|Path<:>C:Path) - Output mode for compressed video
        /outputName "Desried File Name" - Specify the file name for the output video.
	/cutComm - Cut commercials if EDL file exists\n";
        /useOutputDataDVD - When compressing a video to data DVD also use the specified output mode
        /deleteOriginal - Delete the original video when finished (Output Mode InPlace always deletes original)
        /waitForEDL - Re-queue job and wait for EDL file
        /forceCompress - Force compression regardless of blacklisted extension


----------- Drag And Drop Usage --------------------

To use this for drag and drop compression/video DVD creation run "profile2bat.exe"
which will create a set of batch files which you can use to compress up to 7 videos
at the same time.

(note: For best results, try and keep total video DVD time under 2 hours)

---------- Compression Profiles --------------------
---------- Substitution strings ---------------------

Substitution strings can be used in the compression profiles to insert variables
that the script is keeping track of.  See included compression profiles for examples

	%%ORIGINAL%%           = Full path to original file w/ extension

You can also append _EXT, _FILE, and _NAME to %%ORIGINAL to get just that part of the file path

	%%ORIGINAL_FILE%%      = Full path to original file w/o extension
	%%ORIGINAL_NAME%%      = Name of the original file w/o extention or path
	%%ORIGINAL_EXT%%       = The extension of the original file
	tip: combine %%ORIGINAL_NAME%%.%%ORIGINAL_EXT%% to get the file name w/ extention but w/o path

This will work for any substitution string that returns a file path w/ extention

	%%WORK_DIR%%         = The working directory where the video is being processed
	%%SAGE_DIR%%         = The SageTV directory
	%%PASS_LOGFILE%%     = A unique logfile name that can be used for multipass encodes

	DVD Only:
	%%DVD_BITRATE_KBS%%      = Let the script determine the bitrate in kb/sec to fit the videos onto DVD
	%%DVD_BITRATE_BS%%       = Let the script determine the bitrate in  b/sec to fit the videos onto DVD 

---------- INPUT/OUTPUT Substitution Strings ---------------------

Input and output files work a little differently.  For very simple profiles all you should need are
	
	%%INPUT_MAIN%%		= The output of the previous encode command 
NOTE 1: For the first command this is initilized to %%ORIGINAL%%
NOTE 2: If the previous command didn't have an output it will be set to the last output of the last command that did 

	%%OUTPUT_MAIN%%		= Generates a unique output file w/o extention
NOTE 1: You must ALWAYS specify an extention without output file

Example:
 %%OUTPUT_MAIN%%.avi
 %%OUTPUT_MAIN%%.%%INPUT_MAIN_EXT%%

As with %%ORIGINAL%% you can append _EXT, _FILE, and _NAME for both of these.

Here's how it comes together in the profiles...

Example:

    Encode CLI #1     =#NOP#"%%ORIGINAL%%" -ovc copy -oac copy -o "%%OUTPUT_MAIN%%.%%ORIGINAL_EXT%%"
    Encoder #1        =mencoder.exe
    Encode CLI #2     =#NOP#"%%INPUT_MAIN%%" -ovc copy -oac copy -o "%%OUTPUT_MAIN%%.%%INPUT_MAIN_EXT%%"
    Encoder #2        =mencoder.exe
    Encode CLI #3     =#NOP#"%%INPUT_MAIN%%" -ovc copy -oac copy -o "%%OUTPUT_MAIN%%.%%INPUT_MAIN_EXT%%"
    Encoder #3        =mencoder.exe

In this example the first CLI command's output file is

	"%%OUTPUT_MAIN%%.%%INPUT_MAIN_EXT%%"

Then in the 2nd CLI command %%INPUT_MAIN%% is replaced with the result of %%OUTPUT_MAIN%%.%%INPUT_MAIN_EXT%% from the first command

However, _MAIN, is just what I recommend using for consitancy, in actuality you can use anything you want...

Example:

    Encode CLI #1     =#NOP#"%%ORIGINAL%%" -ovc copy -oac copy -o "%%OUTPUT_NOP%%.%%ORIGINAL_EXT%%"
    Encoder #1        =mencoder.exe
    Encode CLI #2     =#NOP#"%%INPUT_NOP%%" -ovc copy -oac copy -o "%%OUTPUT_NOP%%.%%INPUT_NOP_EXT%%"
    Encoder #2        =mencoder.exe
    Encode CLI #3     =#NOP#"%%INPUT_NOP%%" -ovc copy -oac copy -o "%%OUTPUT_NOP%%.%%INPUT_NOP_EXT%%"
    Encoder #3        =mencoder.exe

In these examples you can think of MAIN and NOP as variables that store that particular output and
everytime MAIN or NOP is reused the value of the varible gets overwritten with the new one.

But there's nothing that says you have to use the same variable for every output...

Example:

    Encode CLI #1     =#NOP#"%%ORIGINAL%%" -ovc copy -oac copy -o "%%OUTPUT_FIRSTCOMMAND%%.%%ORIGINAL_EXT%%"
    Encoder #1        =mencoder.exe
    Encode CLI #2     =#NOP#"%%INPUT_FIRSTCOMMAND%%" -ovc copy -oac copy -o "%%OUTPUT_SECONDCOMMAND%%.%%INPUT_NOP_EXT%%"
    Encoder #2        =mencoder.exe
    Encode CLI #3     =#NOP#"%%INPUT_SECONDCOMMAND%%" -ovc copy -oac copy -o "%%OUTPUT_THIRDCOMMAND%%.%%INPUT_NOP_EXT%%"
    Encoder #3        =mencoder.exe
    Encode CLI #4     =#NOP#"%%INPUT_FIRSTCOMMAND%%" -ovc copy -oac copy -o "%%OUTPUT_FORTHCOMMAND%%.%%INPUT_NOP_EXT%%"
    Encoder #4        =mencoder.exe

In this example notice that in the 4th command we use FIRSTCOMMAND again 
and since we never overwrote that variable it will still be the output of the 
first command.

Using this you can string together some pretty complicated encodes

Example:

    Encode CLI #1     =#DEMUX#"%%ORIGINAL%%" -video "%%OUTPUT_VIDEO%%.mpv" -audio "%%OUTPUT_AUDIO%%.mpa"
    Encoder #1        =???.exe
    Encode CLI #2     =#ENCODE_AUDIO#"%%INPUT_AUDIO%%" -encodeAudio "%%OUTPUT_AUDIO%%.aac"
    Encoder #2        =???.exe
    Encode CLI #3     =#ENCODE_VIDEO#"%%INPUT_VIDEO%%" -encodeVideo "%%OUTPUT_VIDEO%%.mp4"
    Encoder #3        =???.exe
    Encode CLI #4     =#MUX#"-video "%%INPUT_VIDEO%%" -audio "%%INPUT_AUDIO%%" -output "%%OUTPUT_FINAL%%.mkv"
    Encoder #4        =???.exe

---------- Conditional Substitutions ----------------

Basic Usage:

	Conditional statements can be used in the compression profiles to make logical decisions 
	based off of various attributes for the video.

Example: 
 ?>edl||jpg<:>If an .edl or .jpg file exists, use this text<=>?>EXT:txt<:>Else If a .txt file exists, use this text<=>If none of those exist, use this text<?<?

AND & OR:

	You can use a list of conditionals seperated by either '||'(OR) or '&&'(AND).  They will be evaluated left to right.

Example:
 ?>EXT:jpg||EXT:png<:>True if there is a jpg OR png<?
 ?>EXT:jpg&&EXT:png<:>True only if there is a jpg AND png<?
 ?>EXT:jpg||EXT:png&&EXT:BMP<:>True if there is a jpg OR png AND bmp<?

Grouping:

	You can use a pair of (> and <) to group together conditionals

Example:
 ?>(>EXT:jpg||EXT:png<)&&EXT:BMP<:>True if there is a jpg OR png AND a bmp<?

Negating:

	Putting an '!' in front of a condition will return true if the condition is false...
Example:
 ?>!EXT:jpg||EXT:png<:>True if there is a not a jpg OR png<?
 ?>!(>EXT:jpg||EXT:png<)&&EXT:BMP<:>True if there is not a jpg OR png AND a bmp<?

Nesting Conditionals:
	
	Nesting conditionals is allowed however to make things more readable you can put a number between the '?' and '>'

 ?0>EXT:jpg<:>?1>EXT:png<:>True if there is a jpg and a png<=>There is a jpg but no png<1?There is no jpg<0?


Hardcoded cases:

	EXISTS:xxx           = True if file exists.  You can specify a full path or if the file is in the perl2dvd folder you can just specify the file name
	EXT:xxx		     = True if file with givene extention is named the same as the original video
	PAL                  = True if desired video standard is PAL
	NTSC                 = True if desired video standard is NTSC
	ASPECTRATIO<W:H      = True if ffmpeg reported video aspect ratio less than or equal to W/H    (16:9 = 1.778,4:3 = 1.333,etc)
	ASPECTRATIO>W:H      = True if ffmpeg reported video aspect ratio greater than or equal to W/H (16:9 = 1.778,4:3 = 1.333,etc)
	ASPECTRATIO<#.##     = True if ffmpeg reported video aspect ratio less than or equal to #.##    
	ASPECTRATIO>#.##     = True if ffmpeg reported video aspect ratio greater than or equal to #.##
	STREAMCOPYDVD        = Special condition for DVD.  The script will check if the video is 
                                 a) in the proper format and 
                                 b) if there is room on the DVD.  
                               If these are true then the video will not be transcoded, just de/remuxed.

Really Special Cases:

	In addition to the above you can also use information captured from ffmpeg

        VIDINFO:Attribute(=~|=eq=)Value  = True if the Attributes matches Value

Examples:
 VIDINFO:videoResolution=~(x720|x1080) = True if the videos resolution matches ###x720 or ###x1080
 VIDINFO:videoResolution=eq=1920x1080  = True if the videos resolution equals 1920x1080

	Basically, =~ uses a perl RegEX and =eq= uses string 'eq' operator.

VIDINFO Attributes:

	Here is the list of video attributes I capture from straight from ffmpeg in the format it outputs them
		
	videoContainer	- The Video container: avi, mpegts, mpegps, etc. 
	videoInfo	- The full video information line from ffmpeg
	ffmpegAR	- The aspect ratio of the video
	ffmpegARValue	- The aspect ratio of the video in decimal form
	dvdAR		- The aspect ratio of the video rounded up or down to 16:9 or 4:3
	videoResolution - The resolution of the video (###x###)
	videoBitrate	- The video bitrate in kb/s
	videoPID	- The reported video PID
	frameRate	- The video frame rate
	videoCodec	- The video codec: h264, xvid, mpeg4, etc.
	interlaced	- If ffmpeg reports the video as progressive
	progressive	- If ffmpeg reports the video as interlaced
	audioInfo	- The full audio information line from ffmpeg
	audioChannels	- The number of audio channels (6 or 2)
	audioPID	- The reported audio PID


VIDINFO Substitution Strings:

	You can also use the video info as a substitution string like this...

Example:
 ?0>VIDINFO:frameRate<:>-r %%VIDINFO:frameRate%%<0?

Note: Bear in mind that depending on the video some of this information may not be reported, make sure you
check to see if the attribute exists before you use it in a profile as in the above example

---------- Custom Conditionals and substitution strings --------------

Say you want an new conditional type or substitution string that's not there?
Feature request time?  Hell no, add it your damn self!

---------- Custom Conditionals --------------

	You can create your own conditional's by specifing new switches at the command line...

Example:
 perl2dvd.exe /compress /newCond ...

	Although '/newCond' isn't a recognized switch the script will hold onto it and use it as a 'true' conditional.
	So if in your profile you have a conditional like...

Example:
 ?0>newCond<:>New Cond is true!<0?

	or equally useful

 ?0>!newCond<:>newCond wasn't specified at the command line!<0?

---------- Custom Substitution Strings --------------

	Custom substitution strings work in almost the same way except this time you also specify a value...

Example:
 perl2dvd.exe /compress /newSubString::12345 ...

	'/newSubString' works just as above, however, now you can also do this...

 ?0>newSubString<:>%%newSubString%%<0?

	Since 'newSubString' is a 'true' conditional the script will use the substitution string '%%newSubString%%'
	which will then be replaced with '12345'.

Note: Any substitution string that the script doesn't recognize will just be thrown away.

---------- Custom Substitution Strings Math --------------

ffmpeg wants bitrates in b/s and mencoder wants bitrates in kb/s format.  What to do?  Math, of coarse!

Example:
 ?0>cliBitrate<:>%%cliBitrate*1000%%<=>1500000<0?

In this example, a /cliBitrate:#### was specified and assumed to be in kb/s.  So once #### is substituted
its multipled by 1000 to be in b/s.

---------- Encoders ----------------

For every line in the compression profile you need to specify which CLI encoder you will be using.
You can either specify the full path to an encoder or place the encoder in the perl2dvd folder and
just specify the exe.

Example:
    Encode CLI #1     =...
    Encoder #1        =ffmpeg.exe
    Encode CLI #2     =...
    Encoder #2        =comskip.exe
    Encode CLI #3     =...
    Encoder #3        =C:\Program Files\videoRedo.exe

In addition, 'copy' and 'xcopy' function properly...

Example:
    Encode CLI #2     =...
    Encoder #2        =copy
    Encode CLI #3     =...
    Encoder #3        =xcopy

---------- Script Templates --------------

You can also use the same conditional and substitution engine as above to create scripts from templates

Example:

    Encode CLI #1     =someAviSynthTemplate.avs
    Encoder #1        =sciptTemplate

someAviSynthTemplate.avs will be parsed line by line in the same way as the encoding commands and
a new .avs file will be created with the file name stored in %%INPUT_MAIN%%.

---------- Insert Functions --------------

You can also create mini, reusable, profiles that do common tasks that you will use is many different profiles

Example: comskip.func

    Encode CLI #1     =?>!(>(>EXT:txt||EXT:edl<)&&EXT:log<)&&EXISTS:comskip.exe<:>#Running_Comskip#"%%INPUT_MAIN%%"<?
    Encoder #1        =comskip.exe
    Output Mode       =

Example: someProfile.profile

    Encode CLI #1     =comskip
    Encoder #1        =insertFunction
    Encode CLI #2     =#NOP#"%%ORIGINAL%%" -ovc copy -oac copy -o "%%OUTPUT_MAIN%%.%%INPUT_MAIN_EXT%%"
    Encoder #2        =mencoder.exe

When you ran this profile it would essentially result in

    Encode CLI #1     =?>!(>(>EXT:txt||EXT:edl<)&&EXT:log<)&&EXISTS:comskip.exe<:>#Running_Comskip#"%%INPUT_MAIN%%"<?
    Encoder #1        =comskip.exe
    Encode CLI #2     =#NOP#"%%ORIGINAL%%" -ovc copy -oac copy -o "%%OUTPUT_MAIN%%.%%ORIGINAL_EXT%%"
    Encoder #2        =mencoder.exe

As with regular functions these .func files should have well established inputs and outputs

---------- Comments ---------------

##SomeComment## = These will be used by the script to name the file.  See included profiles for examples

---------- Misc ---------------

Putting an '!' right after the '=' will delete the output file immediatly after it's used as an input.

---------- output Mode ---------------

This line in the .profile file determines what happens to the output file after it is processed

InPlace = Copy over the original
NextTo  = Move next to the original (DEFAULT)
PATH<:>C:\Path\To\Dir = Move to this specified directory.  If it doesn't exist, it will be created

See usage for how to set this via the command line

---------- Conclusion ---------------

The syntax for creating a profile is very complicated and powerful and it doesn't help that
this guide is so poorly written.  To really get a feel for how things work, check the included
profiles and play around with them a little bit.
Here's SageTV's 2-Pass mpeg-4 encode in profile form...
Code:
# Profile: MPEG-4
#
# Encodes videos into mpeg4 format.
#
# Custom Switches: 
# 	/highQuality - Use high quality settings from SageTV
# 	/fairQuality - Use fair quality settings from SageTV
# 	/deinterlace - Enable the -deinterlace flag

    Encode CLI #1     =#EncodePass_1# -v 3 -y -vsync 1 -async 100 -i "%%ORIGINAL%%" -f avi -vcodec mpeg4 -b ?0>highQuality<:>2000000<=>1500000<0? ?0>VIDINFO:audioCodec=eq=ac3<:>-acodec ac3 ?1>VIDINFO:audioChannels=eq=6<:>-ac 6 -ab 448000<=>-ac 2 -ab 384000<1? -ar 48000<=>-acodec mp2 -ac 2 -ar 48000 -ab 256000<0? -aspect ?0>ASPECTRATIO<1.55<:>4:3<=>16:9<0? -vtag xvid ?0>deinterlace<:>-deinterlace<0? -pass 1 -passlogfile "%%PASS_LOGFILE%%"  "%%OUTPUT_MAIN%%.tmp"
    Encoder #1        =2>ffmpeg.exe
    Encode CLI #2     =#EncodePass_2# -v 3 -y -vsync 1 -async 100 -i "%%ORIGINAL%%" -f avi -vcodec mpeg4 -b ?0>highQuality<:>2000000<=>1500000<0? ?0>VIDINFO:audioCodec=eq=ac3<:>-acodec ac3 ?1>VIDINFO:audioChannels=eq=6<:>-ac 6 -ab 448000<=>-ac 2 -ab 384000<1? -ar 48000<=>-acodec mp2 -ac 2 -ar 48000 -ab 256000<0? -aspect ?0>ASPECTRATIO<1.55<:>4:3<=>16:9<0? -vtag xvid ?0>deinterlace<:>-deinterlace<0? -pass 2 -passlogfile "%%PASS_LOGFILE%%"  "%%OUTPUT_MAIN%%.avi"
    Encoder #2        =2>ffmpeg.exe
    Output Mode       =
AnyToDVD.func...
Code:
# Function: AnytoDVD
#
# Convert any video into DVD compliant format
#
# Input = %%INPUT_MAIN%%
# Ouput = %%OUTPUT_MAIN%%

    Encode CLI #1           =#EncodeOthersDVD#"%%INPUT_MAIN%%" -oac lavc -ovc lavc -of mpeg -mpegopts format=dvd:tsaf -vf scale=?>NTSC<:>720:480<=>720:576<?,harddup -srate 48000 -af lavcresample=48000 -channels ?>VIDINFO:audioChannels=eq=6<:>6<=>2<? -lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=%%DVD_BITRATE_KBS%%:keyint=18:vstrict=0:acodec=ac3:abitrate=?>VIDINFO:audioChannels=eq=6<:>384<=>192<?:aspect=?>AspectRatio>1.55<:>16/9<=>4/3<? -ofps ?>NTSC<:>30000/1001<=>25<? -o "%%OUTPUT_MAIN%%.mpg"
    Encoder #1              =mencoder.exe
    Output Mode             =
__________________
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; 09-20-2007 at 06:23 PM.
Reply With Quote
  #2  
Old 09-20-2007, 01:08 PM
JREkiwi's Avatar
JREkiwi JREkiwi is offline
Sage Icon
 
Join Date: Jan 2005
Location: Auckland, New Zealand
Posts: 2,132


John
Reply With Quote
  #3  
Old 09-20-2007, 03:38 PM
grooves12 grooves12 is offline
Sage Aficionado
 
Join Date: Feb 2006
Posts: 303
Sweet, I was one of those that was having audio sync issues, and was looking forward to this. I'll make sure to test it thoroughly when I get home tonight, and will let you know how it works.
Reply With Quote
  #4  
Old 09-20-2007, 07:35 PM
grooves12 grooves12 is offline
Sage Aficionado
 
Join Date: Feb 2006
Posts: 303
Ok, first test I just went for it with a 3hour file that before would have HORRIBLE audio sync issues.

The program errored out right towards the end of the process. Unfortunately I didn't record the message. It created the .zip file. But, the file is corrupt and can't be opened.

However, it created a .img file, and I decided I would try burning it and see what happens. The resulting video was playable and there were no audio sync problems. The video looked pretty good with some interlacing artifcacts that werent present in the original video, but it's watchable. A Huge improvement over the original version for me.

Any other information you need from me, or specific tests you want me to try out?
Reply With Quote
  #5  
Old 09-21-2007, 02:34 AM
perfessor101 perfessor101 is offline
Sage Advanced User
 
Join Date: Nov 2003
Location: Vancouver, British Columbia, Canada
Posts: 246
Just started testing on a problem mpg-2 program stream

Hello,

I just started testing (90 minutes ago) on a problem mpg-2 program stream recording.
I have Neilms XML stvi running and I confirmed that the video.mpg.xml file exists and has show information listed in it.
In the logs it says that the XML file was found but the show description appears blank in the drag and drop cmd window and also in the log file.
Processing won't be done for another hour at which time I can let you know if it worked on this file and I can double check if the show description creeped in.
I was also curious where does this need to be installed?
In any directory for testing or specifically under the SageTV directory in a testing directory

Thanks for your time,
Bobby
__________________
SageTV Server: Windows 7 64Bit, Phenom II X6 1090T, Asus M4A89GTD-PRO/USB3 (AM3), ATI Radeon HD 4290, 2 x KHX1600C9D3/4GX, 4 x HD-PVR2 Gaming, , 4 x 320GB recording drives, 2 x USB-UIRT, SageTV Server Beta
SageTV Client & 2 x HD-300 Extender.
40.8TB unRaid 6.6.5 media server
Reply With Quote
  #6  
Old 09-21-2007, 07:26 AM
perfessor101 perfessor101 is offline
Sage Advanced User
 
Join Date: Nov 2003
Location: Vancouver, British Columbia, Canada
Posts: 246
Completed my first test ...

With version 2.01a I ran this video through Videoredo Quick Stream Fix 3 seperate times and after the ffmpeg reencode step I was always left with a 3MB video and 4MB DVD image.

With perl2dvd 3.0a the video was processed without error and gave me a working DVD.
Good audio sync throughout
Good video quality with 150 minute long video.

The menu's, show description and episode information are blank.

I ran perl2dvd 3 from this directory : C:\testing\perl2dvd_v3_0a

I didn't have "set SWITCHES=/saveZip" in the batch file so I lost the logs, but I am rerunning it on a smaller video to see if the same thing happens.

Thanks for the great work so far ...

Bobby
__________________
SageTV Server: Windows 7 64Bit, Phenom II X6 1090T, Asus M4A89GTD-PRO/USB3 (AM3), ATI Radeon HD 4290, 2 x KHX1600C9D3/4GX, 4 x HD-PVR2 Gaming, , 4 x 320GB recording drives, 2 x USB-UIRT, SageTV Server Beta
SageTV Client & 2 x HD-300 Extender.
40.8TB unRaid 6.6.5 media server
Reply With Quote
  #7  
Old 09-21-2007, 09:00 AM
evilpenguin's Avatar
evilpenguin evilpenguin is offline
SageTVaholic
 
Join Date: Aug 2003
Location: Seattle, WA
Posts: 3,696
Reading data from xml files should still be in there, but I haven't tested it in a while so I may have broken it. I'll give it a look this weekend.
__________________
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
  #8  
Old 09-21-2007, 09:01 AM
evilpenguin's Avatar
evilpenguin evilpenguin is offline
SageTVaholic
 
Join Date: Aug 2003
Location: Seattle, WA
Posts: 3,696
Quote:
Originally Posted by grooves12 View Post
Ok, first test I just went for it with a 3hour file that before would have HORRIBLE audio sync issues.

The program errored out right towards the end of the process. Unfortunately I didn't record the message. It created the .zip file. But, the file is corrupt and can't be opened.

However, it created a .img file, and I decided I would try burning it and see what happens. The resulting video was playable and there were no audio sync problems. The video looked pretty good with some interlacing artifcacts that werent present in the original video, but it's watchable. A Huge improvement over the original version for me.

Any other information you need from me, or specific tests you want me to try out?
I'm mostly concerned about that hard crash at the end. Can you add the /saveLog switch to the batch file and run it again? Even if the .zip doesn't get created the log file should be saved and you can send that to me.
__________________
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
  #9  
Old 09-21-2007, 10:53 AM
toricred's Avatar
toricred toricred is offline
Sage Icon
 
Join Date: Jan 2006
Location: Northern New Mexico
Posts: 1,729
Does this piece mean you're close to a new version of the whole thing?
Reply With Quote
  #10  
Old 09-21-2007, 05:28 PM
mikesm mikesm is offline
Sage Icon
 
Join Date: Jul 2003
Posts: 1,293
Quote:
Originally Posted by toricred View Post
Does this piece mean you're close to a new version of the whole thing?
:-) Maybe you and flachbar can get together and have this and the stivi built into the next release of SageMC. I mean, it seems like everyone who runs SageMC wants this functionality in there anyway, and both of you are close to finishing the next major revs of the plugins that are designed to deal with 6.2...

Just a thought.

Thanks,
Mike
Reply With Quote
  #11  
Old 09-21-2007, 05:54 PM
evilpenguin's Avatar
evilpenguin evilpenguin is offline
SageTVaholic
 
Join Date: Aug 2003
Location: Seattle, WA
Posts: 3,696
Quote:
Originally Posted by toricred View Post
Does this piece mean you're close to a new version of the whole thing?
That + watching a lot of football is the plan for this weekend.

Quote:
Originally Posted by mikesm View Post
:-) Maybe you and flachbar can get together and have this and the stivi built into the next release of SageMC. I mean, it seems like everyone who runs SageMC wants this functionality in there anyway, and both of you are close to finishing the next major revs of the plugins that are designed to deal with 6.2...

Just a thought.

Thanks,
Mike
The best part about SageMC is that everything works straight out of the box and as a SageMC user i'd never want to disturb that. So if I can get this plug-in working as a seemless/turn-key replacment to the default compression (which is the plan this time) then i'd love to have it be built in somewhere down the road, but otherwise its better off staying as a plug-in.
__________________
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
  #12  
Old 09-21-2007, 06:03 PM
grooves12 grooves12 is offline
Sage Aficionado
 
Join Date: Feb 2006
Posts: 303
Ran it again, and this time there were no error messages
Reply With Quote
  #13  
Old 09-24-2007, 05:24 AM
motobarsteward's Avatar
motobarsteward motobarsteward is offline
Sage Aficionado
 
Join Date: Dec 2005
Location: Swindon
Posts: 311
Still no DVD options in 'Send To' menu

Some time ago, before you wrote the perl script that configures everything, I installed this tool on one of my client machines and it worked very well. Since then, I've upgraded SageTV on the server and client a couple of times (by re-naming the old folder and doing a new install). Now, when I try and install your tool using the perl setup script, I find that, after importing the STVi, I see the new SageMC Options Extras, which I set to enable, but I don't get the DVD options when I try to use the 'send to' button.

Any idea what's going on?

I've seen a couple of other people mention this but nobody has offered a solution.
__________________
Setup: - Server - Intel 3.4G D + XP, 2Gig ram, 3TB of raid. All running in service mode with 2 Hauppauge HVR4000 Running v7 with LMGestion's XMLTV and DG2XML. I also have the web server running.
Client - x2 plus PlaceShifter on various machines including eeepc Ubuntu 8.04. I am streaming Live TV to my PocketPC.
Stable but can use DVB-S on second HVR400.
Reply With Quote
  #14  
Old 09-24-2007, 01:23 PM
larryf larryf is offline
Sage Advanced User
 
Join Date: Jan 2006
Posts: 130
New tool works well here

Evil,

Thanks for your time, the new tool works well here. The DVD verified and plays great!

If you need a tester for the finished product, let me know and I'll be glad to help. I'm running Vista Enterprise X64.

Quote:
Originally Posted by motobarsteward View Post
Some time ago, before you wrote the perl script that configures everything, I installed this tool on one of my client machines and it worked very well. Since then, I've upgraded SageTV on the server and client a couple of times (by re-naming the old folder and doing a new install). Now, when I try and install your tool using the perl setup script, I find that, after importing the STVi, I see the new SageMC Options Extras, which I set to enable, but I don't get the DVD options when I try to use the 'send to' button.

Any idea what's going on?

I've seen a couple of other people mention this but nobody has offered a solution.
I have a similar problem... Had the burner 'add on' working well, but after a crash and reinstall I never did get it to work again. The 'send to' never showed the options after reinstalling. Probably has something to do with a jar file that I somehow missed, or a specific widget that did not get installed when I rebuilt the box. Thinking back on it, I installed Evil's first version and always upgraded the same directory at the time when it was working. Since then, I've formatted and installed Vista and still have no burn or compress in the 'send to'.

You renamed the old folders, have you tried installing the new versions there? Or better yet, wait until Evil finishes his work and use the temporary tool he is beta testing for DVD burns you need right away.

Larry
Reply With Quote
  #15  
Old 09-24-2007, 01:27 PM
motobarsteward's Avatar
motobarsteward motobarsteward is offline
Sage Aficionado
 
Join Date: Dec 2005
Location: Swindon
Posts: 311
Thanks for the comment Larry. Glad to know that I'm not the only one loosing my marbles.

Evil, sorry, i guess this was not the right place for this question anyway. While you are reading this, can you make a suggestion as to the cause of Larry's and my little problem
__________________
Setup: - Server - Intel 3.4G D + XP, 2Gig ram, 3TB of raid. All running in service mode with 2 Hauppauge HVR4000 Running v7 with LMGestion's XMLTV and DG2XML. I also have the web server running.
Client - x2 plus PlaceShifter on various machines including eeepc Ubuntu 8.04. I am streaming Live TV to my PocketPC.
Stable but can use DVB-S on second HVR400.
Reply With Quote
  #16  
Old 09-24-2007, 02:43 PM
motobarsteward's Avatar
motobarsteward motobarsteward is offline
Sage Aficionado
 
Join Date: Dec 2005
Location: Swindon
Posts: 311
Last time I'll incorrectley post here, I promise!

Larry, if you go into the SageMC options, click the 'Main' button and scroll right down. You will find a button there called 'Use Default Compression'. Set this to Disabled and close the sage client. Re-open the client and you should now have the DVD burning options. I'll now post this in the correct place as well.
__________________
Setup: - Server - Intel 3.4G D + XP, 2Gig ram, 3TB of raid. All running in service mode with 2 Hauppauge HVR4000 Running v7 with LMGestion's XMLTV and DG2XML. I also have the web server running.
Client - x2 plus PlaceShifter on various machines including eeepc Ubuntu 8.04. I am streaming Live TV to my PocketPC.
Stable but can use DVB-S on second HVR400.
Reply With Quote
  #17  
Old 09-24-2007, 03:13 PM
evilpenguin's Avatar
evilpenguin evilpenguin is offline
SageTVaholic
 
Join Date: Aug 2003
Location: Seattle, WA
Posts: 3,696
Bah, I keep forgeting about that button Fear not though, in the next version I have a copy of that preference right next to mine so its much more obvious.
__________________
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
  #18  
Old 09-26-2007, 07:24 PM
evilpenguin's Avatar
evilpenguin evilpenguin is offline
SageTVaholic
 
Join Date: Aug 2003
Location: Seattle, WA
Posts: 3,696
I made a much more readable version of the Profile File, the brains of my new tool, on my sourceforge wiki. Its not for the faint of heart, but if you're curious what took so long, how everything works, or how you can help modify/improve the quality of the encodes its worth a read

http://perl2dvd.wiki.sourceforge.net/Profile+Files
__________________
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
  #19  
Old 09-27-2007, 11:56 AM
perfessor101 perfessor101 is offline
Sage Advanced User
 
Join Date: Nov 2003
Location: Vancouver, British Columbia, Canada
Posts: 246
DVD Lables?

I was curious about a 'low' priority request ... after all else is working smoothly ...

How hard would it be to make a simple DVD label with the menu generation software? (ie. jpg, png or gif of a 5.25 cm label)


Hmmm ... I'll start googling some of the exe's in the perl2dvd directory ... the roots have to be there somewhere ...

Bobby
__________________
SageTV Server: Windows 7 64Bit, Phenom II X6 1090T, Asus M4A89GTD-PRO/USB3 (AM3), ATI Radeon HD 4290, 2 x KHX1600C9D3/4GX, 4 x HD-PVR2 Gaming, , 4 x 320GB recording drives, 2 x USB-UIRT, SageTV Server Beta
SageTV Client & 2 x HD-300 Extender.
40.8TB unRaid 6.6.5 media server
Reply With Quote
  #20  
Old 09-27-2007, 01:15 PM
evilpenguin's Avatar
evilpenguin evilpenguin is offline
SageTVaholic
 
Join Date: Aug 2003
Location: Seattle, WA
Posts: 3,696
Quote:
Originally Posted by perfessor101 View Post
I was curious about a 'low' priority request ... after all else is working smoothly ...

How hard would it be to make a simple DVD label with the menu generation software? (ie. jpg, png or gif of a 5.25 cm label)


Hmmm ... I'll start googling some of the exe's in the perl2dvd directory ... the roots have to be there somewhere ...

Bobby
Don't worry, I haven't forgetten that, i'm just focusing on the plug-in and the encoding first. Once that's all done and released, the entire menu system will be getting a complete overhaul: full motion menus, no main menu if there's only one video, option to completely disable menus and just have videos, more themes, and CD/DVD album covers
__________________
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
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

Similar Threads
Thread Thread Starter Forum Replies Last Post
SageTV V6.1.7 Release Candidate Narflex SageTV Beta Test Software 1 04-05-2007 12:26 PM
SageMC Video Tools 2.5 Alpha (need testers) evilpenguin SageMC Custom Interface 6 02-23-2007 07:59 PM


All times are GMT -6. The time now is 10:14 AM.


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