SageTV Community  

Go Back   SageTV Community > SageTV Products > SageTV Software

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 11-05-2022, 03:08 PM
CptKirk CptKirk is offline
Sage Aficionado
 
Join Date: Sep 2010
Posts: 268
transcoder/formats .properties file specs

Are there any specs on how SageTV parses/understands what is on the transcoder/formats line of the .properties file?

Or a hint of where in the source code on github that I could look at to see what it is doing?

I am working on adding the NVidia graphics hardware encoding that Josh added recently to the SageTVTranscoder plugin.

That section from my .properties file (I added the blanks to break up the sections):

Code:
transcoder/formats/MKV-H264Fast\ MKV=f\=matroska;MCompressionDetails\=-c copy -preset fast -c\:v libx264;]
transcoder/formats/MKV-H264Faster\ MKV=f\=matroska;MCompressionDetails\=-c copy -preset faster -c\:v libx264;]
transcoder/formats/MKV-H264Medium\ MKV=f\=matroska;MCompressionDetails\=-c copy -preset medium -c\:v libx264;]
transcoder/formats/MKV-H264Slow\ MKV=f\=matroska;MCompressionDetails\=-c copy -preset slow -c\:v libx264;]
transcoder/formats/MKV-H264Slower\ MKV=f\=matroska;MCompressionDetails\=-c copy -preset slower -c\:v libx264;]
transcoder/formats/MKV-H264Superfast\ MKV=f\=matroska;MCompressionDetails\=-c copy -preset superfast -c\:v libx264;]
transcoder/formats/MKV-H264Veryfast\ MKV=f\=matroska;MCompressionDetails\=-c copy -preset veryfast -c\:v libx264;]
transcoder/formats/MKV-H264Veryslow\ MKV=f\=matroska;MCompressionDetails\=-c copy -preset veryslow -c\:v libx264;]
transcoder/formats/MKV-Remux\ MKV=f\=matroska;MCompressionDetails\=-c copy;]

transcoder/formats/MPEG4\ HDTV-Good\ Quality\ AVI=f\=avi;MCompressionDetails\=-vtag xvid;[bf\=vid;f\=mpeg4;br\=6000000;][bf\=aud;]
transcoder/formats/MPEG4\ HDTV-Good\ Quality\ H.264\ MKV=f\=matroska;MCompressionDetails\=-coder 1 -flags +loop -cmp +chroma -partitions +parti8x8+parti4x4-partp8x8-partb8x8 -me_method dia -subq 1 -me_range 16 -g 250 -keyint_min 25 -sc_threshold 40 -i_qfactor 0.71 -b_strategy 1 -qcomp 0.6 -qmin 10 -qmax 51 -qdiff 4 -bf 3 -refs 1 -directpred 1 -trellis 0 -flags2 +bpyramid-mixed_refs+wpred+dct8x8+fastpskip-mbtree -wpredp 0 -rc_lookahead 0;[bf\=vid;f\=h264;br\=4500000;][bf\=aud;]
transcoder/formats/MPEG4\ HDTV-High\ Quality\ AVI=f\=avi;MCompressionDetails\=-vtag xvid;[bf\=vid;f\=mpeg4;br\=8000000;][bf\=aud;]
transcoder/formats/MPEG4\ HDTV-High\ Quality\ H.264\ MKV=f\=matroska;MCompressionDetails\=-coder 1 -flags +loop -cmp +chroma -partitions +parti8x8+parti4x4+partp8x8+partb8x8 -me_method hex -subq 2 -me_range 16 -g 250 -keyint_min 25 -sc_threshold 40 -i_qfactor 0.71 -b_strategy 1 -qcomp 0.6 -qmin 10 -qmax 51 -qdiff 4 -bf 3 -refs 1 -directpred 1 -trellis 0 -flags2 +bpyramid-mixed_refs+wpred+dct8x8+fastpskip -wpredp 0 -rc_lookahead 10;[bf\=vid;f\=h264;br\=7500000;][bf\=aud;]

transcoder/formats/MPEG4-Good\ Quality\ AVI=f\=avi;MCompressionDetails\=-vtag xvid;[bf\=vid;f\=mpeg4;br\=1500000;w\=720;h\=480;fps\=29.97;][bf\=aud;]
transcoder/formats/MPEG4-Good\ Quality\ H.264\ MKV=f\=matroska;MCompressionDetails\=-coder 1 -flags +loop -cmp +chroma -partitions +parti8x8+parti4x4-partp8x8-partb8x8 -me_method dia -subq 1 -me_range 16 -g 250 -keyint_min 25 -sc_threshold 40 -i_qfactor 0.71 -b_strategy 1 -qcomp 0.6 -qmin 10 -qmax 51 -qdiff 4 -bf 3 -refs 1 -directpred 1 -trellis 0 -flags2 +bpyramid-mixed_refs+wpred+dct8x8+fastpskip-mbtree -wpredp 0 -rc_lookahead 0;[bf\=vid;f\=h264;br\=1500000;w\=720;h\=480;fps\=29.97;][bf\=aud;]
transcoder/formats/MPEG4-High\ Quality\ AVI=f\=avi;MCompressionDetails\=-vtag xvid;[bf\=vid;f\=mpeg4;br\=2000000;w\=720;h\=480;fps\=29.97;][bf\=aud;]
transcoder/formats/MPEG4-High\ Quality\ H.264\ MKV=f\=matroska;MCompressionDetails\=-coder 1 -flags +loop -cmp +chroma -partitions +parti8x8+parti4x4+partp8x8+partb8x8 -me_method hex -subq 6 -me_range 16 -g 250 -keyint_min 25 -sc_threshold 40 -i_qfactor 0.71 -b_strategy 1 -qcomp 0.6 -qmin 10 -qmax 51 -qdiff 4 -bf 3 -refs 2 -directpred 1 -trellis 1 -flags2 +bpyramid+mixed_refs+wpred+dct8x8+fastpskip -wpredp 2 -rc_lookahead 30;[bf\=vid;f\=h264;br\=2000000;w\=720;h\=480;fps\=29.97;][bf\=aud;]

transcoder/formats/iPhone-Standard=f\=mp4;MCompressionDetails\=-coder 0 -flags +loop -cmp +chroma -partitions +parti8x8+parti4x4+partp8x8+partb8x8 -me_method umh -subq 8 -me_range 16 -g 250 -keyint_min 25 -sc_threshold 40 -i_qfactor 0.71 -b_strategy 2 -qcomp 0.6 -qmin 10 -qmax 51 -qdiff 4 -bf 0 -refs 5 -directpred 3 -trellis 1 -flags2 -wpred-dct8x8 -wpredp 0 -rc_lookahead 50 -level 13 -maxrate 768000 -bufsize 3000000 -async 50;[bf\=vid;f\=h264;br\=640000;fps\=29.97;w\=480;h\=368;arn\=4;ard\=3;][bf\=aud;f\=aac;sr\=48000;ch\=2;br\=128000;]
transcoder/formats/iPhone-Widescreen=f\=mp4;MCompressionDetails\=-coder 0 -flags +loop -cmp +chroma -partitions +parti8x8+parti4x4+partp8x8+partb8x8 -me_method umh -subq 8 -me_range 16 -g 250 -keyint_min 25 -sc_threshold 40 -i_qfactor 0.71 -b_strategy 2 -qcomp 0.6 -qmin 10 -qmax 51 -qdiff 4 -bf 0 -refs 5 -directpred 3 -trellis 1 -flags2 -wpred-dct8x8 -wpredp 0 -rc_lookahead 50 -level 13 -maxrate 768000 -bufsize 3000000 -async 50;[bf\=vid;f\=h264;br\=640000;fps\=29.97;w\=480;h\=272;arn\=16;ard\=9;][bf\=aud;f\=aac;sr\=48000;ch\=2;br\=128000;]

transcoder/formats/iPod-Fair\ Quality=f\=mp4;MCompressionDetails\=-bufsize 33554432 -g 300;[bf\=vid;f\=mpeg4;br\=500000;fps\=29.97;w\=512;h\=384;arn\=4;ard\=3;][bf\=aud;f\=aac;sr\=44100;ch\=2;br\=64000;]
transcoder/formats/iPod-Good\ Quality=f\=mp4;MCompressionDetails\=-maxrate 1250000 -bufsize 33554432 -g 300;[bf\=vid;f\=mpeg4;br\=1000000;fps\=29.97;w\=512;h\=384;arn\=4;ard\=3;][bf\=aud;f\=aac;sr\=44100;ch\=2;br\=96000;]
transcoder/formats/iPod-High\ Quality=f\=mp4;MCompressionDetails\=-maxrate 2500000 -qmin 3 -qmax 5 -bufsize 33554432 -g 300;[bf\=vid;f\=mpeg4;br\=1800000;fps\=29.97;w\=512;h\=384;arn\=4;ard\=3;][bf\=aud;f\=aac;sr\=44100;ch\=2;br\=128000;]

transcoder/formats/AppleTV-High\ Quality=f\=mp4;MCompressionDetails\=-coder 0 -flags +loop -cmp +chroma -partitions +parti8x8+parti4x4+partp8x8+partb8x8 -me_method umh -subq 8 -me_range 16 -g 250 -keyint_min 25 -sc_threshold 40 -i_qfactor 0.71 -b_strategy 2 -qcomp 0.6 -qmin 10 -qmax 51 -qdiff 4 -bf 0 -refs 1 -directpred 3 -trellis 1 -flags2 -wpred-dct8x8 -wpredp 0 -rc_lookahead 50 -level 30 -maxrate 10000000 -bufsize 10000000;[bf\=vid;f\=h264;br\=2500000;fps\=29.97;w\=720;h\=480;arn\=4;ard\=3;][bf\=aud;f\=aac;sr\=48000;ch\=2;br\=128000;]
transcoder/formats/AppleTV-High\ Quality\ Widescreen=f\=mp4;MCompressionDetails\=-coder 0 -flags +loop -cmp +chroma -partitions +parti8x8+parti4x4+partp8x8+partb8x8 -me_method umh -subq 8 -me_range 16 -g 250 -keyint_min 25 -sc_threshold 40 -i_qfactor 0.71 -b_strategy 2 -qcomp 0.6 -qmin 10 -qmax 51 -qdiff 4 -bf 0 -refs 1 -directpred 3 -trellis 1 -flags2 -wpred-dct8x8 -wpredp 0 -rc_lookahead 50 -level 30 -maxrate 10000000 -bufsize 10000000;[bf\=vid;f\=h264;br\=2500000;fps\=29.97;w\=960;h\=540;arn\=16;ard\=9;][bf\=aud;f\=aac;sr\=48000;ch\=2;br\=128000;]

transcoder/formats/DVD-Extra\ Long\ Play=f\=dvd;[bf\=vid;f\=mpeg2video;br\=3000000;fps\=29.97;w\=720;h\=480;vbr\=1;][bf\=aud;f\=mp2;sr\=48000;ch\=2;bsmp\=16;br\=384000;]
transcoder/formats/DVD-Extra\ Long\ Play\ with\ AC3=f\=dvd;[bf\=vid;f\=mpeg2video;br\=3000000;fps\=29.97;w\=720;h\=480;vbr\=1;][bf\=aud;f\=ac3;sr\=48000;bsmp\=16;br\=384000;]
transcoder/formats/DVD-Long\ Play=f\=dvd;[bf\=vid;f\=mpeg2video;br\=4800000;fps\=29.97;w\=720;h\=480;vbr\=1;][bf\=aud;f\=mp2;sr\=48000;ch\=2;bsmp\=16;br\=384000;]
transcoder/formats/DVD-Long\ Play\ with\ AC3=f\=dvd;[bf\=vid;f\=mpeg2video;br\=4800000;fps\=29.97;w\=720;h\=480;vbr\=1;][bf\=aud;f\=ac3;sr\=48000;bsmp\=16;br\=384000;]
transcoder/formats/DVD-Standard\ Play=f\=dvd;[bf\=vid;f\=mpeg2video;br\=6400000;fps\=29.97;w\=720;h\=480;vbr\=1;][bf\=aud;f\=mp2;sr\=48000;ch\=2;bsmp\=16;br\=384000;]
transcoder/formats/DVD-Standard\ Play\ with\ AC3=f\=dvd;[bf\=vid;f\=mpeg2video;br\=6400000;fps\=29.97;w\=720;h\=480;vbr\=1;][bf\=aud;f\=ac3;sr\=48000;bsmp\=16;br\=384000;]

transcoder/formats/PSP-Good\ Quality=f\=psp;MCompressionDetails\=-bitexact 1[bf\=vid;f\=xvid;br\=216000;fps\=29.97;w\=320;h\=240;][bf\=aud;f\=aac;sr\=24000;ch\=1;br\=48000;]
transcoder/formats/PSP-High\ Quality=f\=psp;MCompressionDetails\=-bitexact 1[bf\=vid;f\=xvid;br\=768000;fps\=29.97;w\=320;h\=240;][bf\=aud;f\=aac;sr\=24000;ch\=2;br\=128000;]
transcoder/formats/PSP-Widescreen\ Good\ Quality=f\=psp;MCompressionDetails\=-bitexact 1[bf\=vid;f\=xvid;br\=216000;fps\=29.97;w\=368;h\=208;][bf\=aud;f\=aac;sr\=24000;ch\=1;br\=48000;]
transcoder/formats/PSP-Widescreen\ High\ Quality=f\=psp;MCompressionDetails\=-bitexact 1[bf\=vid;f\=xvid;br\=768000;fps\=29.97;w\=368;h\=208;][bf\=aud;f\=aac;sr\=24000;ch\=2;br\=128000;]
As you can see, what is on the different lines being passed to the transcoder for the different options is all of the place.

What I want to use:

Quote:
SageTVTranscoder.exe -hwaccel cuda -i Original.ts -c:a copy -c:v h264_nvenc -preset p1 -f mp4 p1_fastest.mp4
I can start doing copy/paste trial and error, to try to figure out what is happening.

But, I would actually like to know/learn/understand how the code is actually handling the parameters that are getting passed.

I am using Josh's latest released plugins:
SageTV Transcoder Plugin 1.2.2 (64 bit)
Format Detector Plugin 0.8 (64 bit)
__________________
SageTV running on: Win10 21H2
SageTV 9.2.6.976 (64 bit)
Java 1.8.0 311 (64 bit)
OpenDCT 0.5.32 (64 bit)
Clients: HD300 (x2)
HDHR3-CC Prime 20220822 (Comcast CableCard) - 3 Tuners
HDFX-4K Flex 20220822 (OTA) - 4 Tuners

Last edited by CptKirk; 11-09-2022 at 02:37 PM.
Reply With Quote
  #2  
Old 11-05-2022, 07:10 PM
wnjj wnjj is offline
Sage Icon
 
Join Date: Jan 2009
Posts: 1,503
Here’s where the transcoder is called:

https://github.com/google/sagetv/blo...oder.java#L676
__________________
Windows Installer
Reply With Quote
  #3  
Old 11-09-2022, 02:33 PM
CptKirk CptKirk is offline
Sage Aficionado
 
Join Date: Sep 2010
Posts: 268
Thanks.

I had pulled down sagetv-master from github and started to go through it.

It has been a really, really, really long time since I sat down and started reading through someone else's code.

I have a comp sci degree but have not coded for quite a few years.

Probably just me but I did not see where it is reading in the transcoder/formats command line parameters for when SageTVTranscoder.exe kicks off.

Just took a wild stab with the following to see what would happen.

Code:
1. Shut down SageTV Service
2. Edited Sage.properties and added the line (hoping that I would get some more info if something went wrong)

debug_logging=TRUE

3. Also added this line

transcoder/formats/NVENC\ H264-MP4-Preset\ P1\ Fastest=f\=mp4;MCompressionDetails\=-hwaccel cuda -c:a copy -c:v h264_nvenc -b:v 4M -maxrate:v 5M -bufsize:v 4M -rc-lookahead 20 -preset p1

4. Saved Sage.properties and closed the editor
5. Started up SageTV Service
In SageTV I selected my .ts file and selected Convert. I was able to select my new NVENC H264 entry and start the conversion.

In task manager the CPU usage jumped 20% when the conversion started, and dropped 20% when it ended. In task manager the GPU usage never increased at all so the GPU transcode did not engage.

For the GPU transcode this line MUST be BEFORE the input filename on the command line used.

Code:
-hwaccel cuda
In a DOS box I moved it after the input filename to see what happens. This is is the error:

Code:
Option hwaccel (use HW accelerated decoding) cannot be applied to output url J:\p1_fastest.mp4 -- you are trying to apply an input option to an output file or vice versa.  Move this option before the file it belongs to.
Looking at SageTVTranscoder.log I see:

Code:
################################ SageTVTranscoder (FFmpeg) starting ################################
Arguments: C:\SageTV64\SageTV\SageTVTranscoder.exe -priority idle -dumpmetadata -v 2 -i \\KJCUBED\TV\NCIS - S19E21 - Birds of a Feather - 1734496-0.ts 
Setting process priority
	Priority Argument: idle
################################ SageTVTranscoder (FFmpeg) starting ################################
Arguments: C:\SageTV64\SageTV\SageTVTranscoder.exe -v 3 -y -threads 2 -sn -vsync 1 -async 100 -t 1000 -stdinctrl -i \\KJCUBED\TV\NCIS - S19E21 - Birds of a Feather - 1734496-0.ts -threads 7 -f mp4 -aspect 16:9 -map 0:0 -map 0:1 -priority idle \\KJCUBED\TV\NCIS - S19E21 - Birds of a Feather - 1734496-0.tmp 
Setting process priority
	Priority Argument: idle
Exiting for some other reason
################################ Exiting ################################
So, no idea where the command line used was generated from.

Looking at sagetv_0.txt I see:

Code:
Wed 11/9 13:49:47.790 [EventRouter-0023a50010d8@114234b3] processUserEvent-UserEvent[select] evtTime=Wed 11/9 13:49:47.789
Wed 11/9 13:49:47.790 [EventRouter-0023a50010d8@114234b3] Added for transcoding:MediaFile[id=1913113 A[1734496,1733229,"NCIS",19628@0523.20:00,60,T] mask=TV host=KJCUBED encodedBy=DCT-HDHomeRun Prime Tuner 1324B362-0 on 127.0.0.1:9000 KHOUDT format=MPEG2-TS 0:00:01 3076 kbps [#0 Video[H.264 59.94006 fps 1280x720 16:9 progressive id=0100]#1 Audio[AC3 48000 Hz 6 channels 384 kbps MAIN idx=1 id=0101 eng]#2 Audio[AC3 48000 Hz 2 channels 192 kbps idx=2 id=0102 spa]] \\KJCUBED\TV\NCIS - S19E21 - Birds of a Feather - 1734496-0.ts, Seg0[Mon 5/23 20:06:07.924-Mon 5/23 20:57:59.248]]
Wed 11/9 13:49:47.792 [Ministry@5dd81715] Initiating xcode for \\KJCUBED\TV\NCIS - S19E21 - Birds of a Feather - 1734496-0.ts
Wed 11/9 13:49:47.794 [Ministry@5dd81715] Set Transcode format source=MPEG2-TS 0:00:01 3076 kbps [#0 Video[H.264 59.94006 fps 1280x720 16:9 progressive id=0100]#1 Audio[AC3 48000 Hz 6 channels 384 kbps MAIN idx=1 id=0101 eng]#2 Audio[AC3 48000 Hz 2 channels 192 kbps idx=2 id=0102 spa]] dest=mp4 0:00:00 0 kbps []
Wed 11/9 13:49:47.794 [Ministry@5dd81715] Using 7 threads for the transcoder
Wed 11/9 13:49:47.830 [EventRouter-0023a50010d8@114234b3] processOptionsMenu optionsMenu=default:BASE-50504|OptionsMenu:Conversion Started Dialog
Wed 11/9 13:49:47.847 [FinalRender-0023a50010d8@5f21a32d] MiniClient did not succeed with menu hint change to:menuName:MediaFileList, popupName:null, hasTextInput:false, errcode=1
Wed 11/9 13:49:47.849 [Ministry@5dd81715] File Format Parsed3 \\KJCUBED\TV\NCIS - S19E21 - Birds of a Feather - 1734496-0.ts=MPEG2-TS 0:51:51 6720 kbps [#0 Video[H.264 59.94 fps 1280x720 16:9 progressive id=100]#1 Audio[AC3 48000 Hz  idx=1 id=101 eng]#2 Audio[AC3 48000 Hz 2 channels  idx=2 id=102 spa]{Language=spa}]
Wed 11/9 13:49:47.851 [Ministry@5dd81715] Ministry is waiting for 180 sec
Wed 11/9 13:49:47.862 [FinalRender-0023a50010d8@5f21a32d] MiniClient did not succeed with menu hint change to:menuName:MediaFileList, popupName:Conversion Started Dialog, hasTextInput:false, errcode=1
__________________
SageTV running on: Win10 21H2
SageTV 9.2.6.976 (64 bit)
Java 1.8.0 311 (64 bit)
OpenDCT 0.5.32 (64 bit)
Clients: HD300 (x2)
HDHR3-CC Prime 20220822 (Comcast CableCard) - 3 Tuners
HDFX-4K Flex 20220822 (OTA) - 4 Tuners
Reply With Quote
  #4  
Old 11-11-2022, 03:21 PM
jvl711's Avatar
jvl711 jvl711 is offline
Sage Fanatic
 
Join Date: Jan 2004
Posts: 825
Quote:
Originally Posted by CptKirk View Post
Thanks.

I had pulled down sagetv-master from github and started to go through it.

It has been a really, really, really long time since I sat down and started reading through someone else's code.

I have a comp sci degree but have not coded for quite a few years.

Probably just me but I did not see where it is reading in the transcoder/formats command line parameters for when SageTVTranscoder.exe kicks off.

Just took a wild stab with the following to see what would happen.

Code:
1. Shut down SageTV Service
2. Edited Sage.properties and added the line (hoping that I would get some more info if something went wrong)

debug_logging=TRUE

3. Also added this line

transcoder/formats/NVENC\ H264-MP4-Preset\ P1\ Fastest=f\=mp4;MCompressionDetails\=-hwaccel cuda -c:a copy -c:v h264_nvenc -b:v 4M -maxrate:v 5M -bufsize:v 4M -rc-lookahead 20 -preset p1

4. Saved Sage.properties and closed the editor
5. Started up SageTV Service
In SageTV I selected my .ts file and selected Convert. I was able to select my new NVENC H264 entry and start the conversion.

In task manager the CPU usage jumped 20% when the conversion started, and dropped 20% when it ended. In task manager the GPU usage never increased at all so the GPU transcode did not engage.

For the GPU transcode this line MUST be BEFORE the input filename on the command line used.

Code:
-hwaccel cuda
In a DOS box I moved it after the input filename to see what happens. This is is the error:

Code:
Option hwaccel (use HW accelerated decoding) cannot be applied to output url J:\p1_fastest.mp4 -- you are trying to apply an input option to an output file or vice versa.  Move this option before the file it belongs to.
Looking at SageTVTranscoder.log I see:

Code:
################################ SageTVTranscoder (FFmpeg) starting ################################
Arguments: C:\SageTV64\SageTV\SageTVTranscoder.exe -priority idle -dumpmetadata -v 2 -i \\KJCUBED\TV\NCIS - S19E21 - Birds of a Feather - 1734496-0.ts 
Setting process priority
	Priority Argument: idle
################################ SageTVTranscoder (FFmpeg) starting ################################
Arguments: C:\SageTV64\SageTV\SageTVTranscoder.exe -v 3 -y -threads 2 -sn -vsync 1 -async 100 -t 1000 -stdinctrl -i \\KJCUBED\TV\NCIS - S19E21 - Birds of a Feather - 1734496-0.ts -threads 7 -f mp4 -aspect 16:9 -map 0:0 -map 0:1 -priority idle \\KJCUBED\TV\NCIS - S19E21 - Birds of a Feather - 1734496-0.tmp 
Setting process priority
	Priority Argument: idle
Exiting for some other reason
################################ Exiting ################################
So, no idea where the command line used was generated from.

Looking at sagetv_0.txt I see:

Code:
Wed 11/9 13:49:47.790 [EventRouter-0023a50010d8@114234b3] processUserEvent-UserEvent[select] evtTime=Wed 11/9 13:49:47.789
Wed 11/9 13:49:47.790 [EventRouter-0023a50010d8@114234b3] Added for transcoding:MediaFile[id=1913113 A[1734496,1733229,"NCIS",19628@0523.20:00,60,T] mask=TV host=KJCUBED encodedBy=DCT-HDHomeRun Prime Tuner 1324B362-0 on 127.0.0.1:9000 KHOUDT format=MPEG2-TS 0:00:01 3076 kbps [#0 Video[H.264 59.94006 fps 1280x720 16:9 progressive id=0100]#1 Audio[AC3 48000 Hz 6 channels 384 kbps MAIN idx=1 id=0101 eng]#2 Audio[AC3 48000 Hz 2 channels 192 kbps idx=2 id=0102 spa]] \\KJCUBED\TV\NCIS - S19E21 - Birds of a Feather - 1734496-0.ts, Seg0[Mon 5/23 20:06:07.924-Mon 5/23 20:57:59.248]]
Wed 11/9 13:49:47.792 [Ministry@5dd81715] Initiating xcode for \\KJCUBED\TV\NCIS - S19E21 - Birds of a Feather - 1734496-0.ts
Wed 11/9 13:49:47.794 [Ministry@5dd81715] Set Transcode format source=MPEG2-TS 0:00:01 3076 kbps [#0 Video[H.264 59.94006 fps 1280x720 16:9 progressive id=0100]#1 Audio[AC3 48000 Hz 6 channels 384 kbps MAIN idx=1 id=0101 eng]#2 Audio[AC3 48000 Hz 2 channels 192 kbps idx=2 id=0102 spa]] dest=mp4 0:00:00 0 kbps []
Wed 11/9 13:49:47.794 [Ministry@5dd81715] Using 7 threads for the transcoder
Wed 11/9 13:49:47.830 [EventRouter-0023a50010d8@114234b3] processOptionsMenu optionsMenu=default:BASE-50504|OptionsMenu:Conversion Started Dialog
Wed 11/9 13:49:47.847 [FinalRender-0023a50010d8@5f21a32d] MiniClient did not succeed with menu hint change to:menuName:MediaFileList, popupName:null, hasTextInput:false, errcode=1
Wed 11/9 13:49:47.849 [Ministry@5dd81715] File Format Parsed3 \\KJCUBED\TV\NCIS - S19E21 - Birds of a Feather - 1734496-0.ts=MPEG2-TS 0:51:51 6720 kbps [#0 Video[H.264 59.94 fps 1280x720 16:9 progressive id=100]#1 Audio[AC3 48000 Hz  idx=1 id=101 eng]#2 Audio[AC3 48000 Hz 2 channels  idx=2 id=102 spa]{Language=spa}]
Wed 11/9 13:49:47.851 [Ministry@5dd81715] Ministry is waiting for 180 sec
Wed 11/9 13:49:47.862 [FinalRender-0023a50010d8@5f21a32d] MiniClient did not succeed with menu hint change to:menuName:MediaFileList, popupName:Conversion Started Dialog, hasTextInput:false, errcode=1
Honestly that is a little confusing all together. It looks like either Sage did not use your format at all, or it did, but possibly rejected some of the parameters. We may need a debug version of the Sage.jar that provides some more detail about it applying the transcode format. It seemed like a lot more than the cuda flags disappeared.

Josh
__________________
Projects I am currently maintaining
SageTV Andoid Client
Media Format Parser Plugin
JavaFFmpegLibrary
SageTVTranscoder

If you like the work I am doing and would like to support it you can become a Patreon member.
Reply With Quote
  #5  
Old 11-11-2022, 05:55 PM
wnjj wnjj is offline
Sage Icon
 
Join Date: Jan 2009
Posts: 1,503
The command line is built in that startTranscode() function I linked to. All of the items for the command line (including an optional 'nice' in front for Linux) are stored into the xcodeParamsVec list.

Code:
    xcodeParamsVec.add(getTranscoderPath());
That is where the "C:\SageTV64\SageTV\SageTVTranscoder.exe" is added. Everything else on the command line is another xcodeParamsVec.add() statement. There are tons of code branches and options and I didn't trace through them.

I'm not sure where the transcoder/formats properties are consumed.

Code:
    xcodeProcess = Runtime.getRuntime().exec(xcodeParamArray);
That line is where the executable is actually launched after converting xcodeParamsVec to xcodeParamArray.
__________________
Windows Installer
Reply With Quote
  #6  
Old 11-11-2022, 07:56 PM
wnjj wnjj is offline
Sage Icon
 
Join Date: Jan 2009
Posts: 1,503
There are a couple of debug flags in the transcoder. Try adding these to sage.properties:

Code:
media_server/transcode_debug=TRUE
xcode_cmdline_debug=TRUE
__________________
Windows Installer
Reply With Quote
  #7  
Old 11-11-2022, 08:27 PM
wnjj wnjj is offline
Sage Icon
 
Join Date: Jan 2009
Posts: 1,503
As for the "transcoder/formats" settings, they are read in by the GetTranscodeFormats API in api/TranscodeAPI.java.

That API is called from the STV. The STV file is what generates and processes the menus in SageTV.

Eventually AddTranscodeJob API is called to queue the job. This involves Ministry.java which seems to be the main controller of transcode jobs. It is ultimately what calls startTranscode() once a job status is moved to "waiting".

I see references to "transcoder/jobs/<ID>/<formatname>" so you may be able to see those show up in sage.properties while the jobs are running.

I have limited knowledge of all of this but just found bits by poking around the code.
__________________
Windows Installer
Reply With Quote
  #8  
Old 11-11-2022, 09:26 PM
CptKirk CptKirk is offline
Sage Aficionado
 
Join Date: Sep 2010
Posts: 268
1. Shut down SageTV Service
2. Edited Sage.properties and added the lines

Code:
media_server/transcode_debug=TRUE
xcode_cmdline_debug=TRUE
debug_logging=TRUE
3. Saved Sage.properties and closed the editor
4. Started up SageTV Service

Zipped up log files at (Google Drive Share). Both files are over the 750k allowed for attachments.

sagetv_1.txt (in Debug_1.zip)

Transcode starts at line 30362 (Fri 11/11 20:45:02.589) and you can see where it runs with that strange command line.

Code:
Fri 11/11 20:45:02.589 [EventRouter-0023a50010d8@670fd972] Added for transcoding:MediaFile[id=1913113 A[1734496,1733229,"NCIS",19628@0523.20:00,60,T] mask=TV host=KJCUBED encodedBy=DCT-HDHomeRun Prime Tuner 1324B362-0 on 127.0.0.1:9000 KHOUDT format=MPEG2-TS 0:00:01 3076 kbps [#0 Video[H.264 59.94006 fps 1280x720 16:9 progressive id=0100]#1 Audio[AC3 48000 Hz 6 channels 384 kbps MAIN idx=1 id=0101 eng]#2 Audio[AC3 48000 Hz 2 channels 192 kbps idx=2 id=0102 spa]] \\KJCUBED\TV\NCIS - S19E21 - Birds of a Feather - 1734496-0.ts, Seg0[Mon 5/23 20:06:07.924-Mon 5/23 20:57:59.248]]
Fri 11/11 20:45:02.590 [Ministry@5c907274] Initiating xcode for \\KJCUBED\TV\NCIS - S19E21 - Birds of a Feather - 1734496-0.ts
Fri 11/11 20:45:02.590 [Ministry@5c907274] Set Transcode format source=MPEG2-TS 0:00:01 3076 kbps [#0 Video[H.264 59.94006 fps 1280x720 16:9 progressive id=0100]#1 Audio[AC3 48000 Hz 6 channels 384 kbps MAIN idx=1 id=0101 eng]#2 Audio[AC3 48000 Hz 2 channels 192 kbps idx=2 id=0102 spa]] dest=mp4 0:00:00 0 kbps []
Fri 11/11 20:45:02.590 [Ministry@5c907274] Using 7 threads for the transcoder
Fri 11/11 20:45:02.611 [EventRouter-0023a50010d8@670fd972] processOptionsMenu optionsMenu=default:BASE-50504|OptionsMenu:Conversion Started Dialog
Fri 11/11 20:45:02.637 [FinalRender-0023a50010d8@45df38d7] MiniClient did not succeed with menu hint change to:menuName:Detailed Info - Recording, popupName:null, hasTextInput:false, errcode=1
Fri 11/11 20:45:02.643 [Ministry@5c907274] File Format Parsed3 \\KJCUBED\TV\NCIS - S19E21 - Birds of a Feather - 1734496-0.ts=MPEG2-TS 0:51:51 6720 kbps [#0 Video[H.264 59.94 fps 1280x720 16:9 progressive id=100]#1 Audio[AC3 48000 Hz  idx=1 id=101 eng]#2 Audio[AC3 48000 Hz 2 channels  idx=2 id=102 spa]{Language=spa}]
Fri 11/11 20:45:02.644 [Ministry@5c907274] Executing xcoding process with args: [C:\SageTV64\SageTV\SageTVTranscoder.exe, -v, 3, -y, -threads, 2, -sn, -vsync, 1, -async, 100, -t, 200, -stdinctrl, -i, \\KJCUBED\TV\NCIS - S19E21 - Birds of a Feather - 1734496-0.ts, -threads, 7, -f, mp4, -aspect, 16:9, -map, 0:0, -map, 0:1, -priority, idle, \\KJCUBED\TV\NCIS - S19E21 - Birds of a Feather - 1734496-0.tmp]
Fri 11/11 20:45:02.645 [Ministry@5c907274] Ministry is waiting for 180 sec
Fri 11/11 20:45:02.653 [FinalRender-0023a50010d8@45df38d7] MiniClient did not succeed with menu hint change to:menuName:Detailed Info - Recording, popupName:Conversion Started Dialog, hasTextInput:false, errcode=1
Fri 11/11 20:45:02.659 [XcodeStderrConsumer@73907bfd] ffmpeg version SageTVTranscoder_v1.2.2_from_FFmpeg_v4.4.2 Copyright (c) 2000-2021 the FFmpeg developers
Nothing like I told it to use:

Code:
transcoder/formats/NVENC\ H264-MP4-Preset\ P1\ Fastest=f\=mp4;MCompressionDetails\=-hwaccel cuda -c:a copy -c:v h264_nvenc -b:v 4M -maxrate:v 5M -bufsize:v 4M -rc-lookahead 20 -preset p1
Then the log file explodes with output for the rest of sagetv_1.txt and ends in sagetv_0.txt (zipped up and in Debug_1.zip)

I had to re-do it a few times because I did the whole file first, finally had to set the convert to only 200 seconds (3:20 min) so that all the log files don't fill up and over-write.

Looking at SageTVTranscoder.log I see the same:

Code:
################################ SageTVTranscoder (FFmpeg) starting ################################
Arguments: C:\SageTV64\SageTV\SageTVTranscoder.exe -priority idle -dumpmetadata -v 2 -i \\KJCUBED\TV\NCIS - S19E21 - Birds of a Feather - 1734496-0.ts 
Setting process priority
	Priority Argument: idle
################################ SageTVTranscoder (FFmpeg) starting ################################
Arguments: C:\SageTV64\SageTV\SageTVTranscoder.exe -v 3 -y -threads 2 -sn -vsync 1 -async 100 -t 200 -stdinctrl -i \\KJCUBED\TV\NCIS - S19E21 - Birds of a Feather - 1734496-0.ts -threads 7 -f mp4 -aspect 16:9 -map 0:0 -map 0:1 -priority idle \\KJCUBED\TV\NCIS - S19E21 - Birds of a Feather - 1734496-0.tmp 
Setting process priority
	Priority Argument: idle
Exiting for some other reason
################################ Exiting ################################

I then did a new convert using the MKV Slow from NPlayer that I have been using for a long time to see what it would show.

sagetv_2.txt (in Debug_2.zip)

Transcode starts at line 99583 (Fri 11/11 21:00:55.058) and you can see where it runs with that strange command line.

Code:
Fri 11/11 21:00:55.058 [EventRouter-0023a50010d8@670fd972] Added for transcoding:MediaFile[id=1913113 A[1734496,1733229,"NCIS",19628@0523.20:00,60,T] mask=TV host=KJCUBED encodedBy=DCT-HDHomeRun Prime Tuner 1324B362-0 on 127.0.0.1:9000 KHOUDT format=MPEG2-TS 0:00:01 3076 kbps [#0 Video[H.264 59.94006 fps 1280x720 16:9 progressive id=0100]#1 Audio[AC3 48000 Hz 6 channels 384 kbps MAIN idx=1 id=0101 eng]#2 Audio[AC3 48000 Hz 2 channels 192 kbps idx=2 id=0102 spa]] \\KJCUBED\TV\NCIS - S19E21 - Birds of a Feather - 1734496-0.ts, Seg0[Mon 5/23 20:06:07.924-Mon 5/23 20:57:59.248]]
Fri 11/11 21:00:55.059 [Ministry@5c907274] Initiating xcode for \\KJCUBED\TV\NCIS - S19E21 - Birds of a Feather - 1734496-0.ts
Fri 11/11 21:00:55.085 [Fork-BASE-55376@53ac294e] Got used/avail video diskspace
Fri 11/11 21:00:55.085 [Ministry@5c907274] Set Transcode format source=MPEG2-TS 0:00:01 3076 kbps [#0 Video[H.264 59.94006 fps 1280x720 16:9 progressive id=0100]#1 Audio[AC3 48000 Hz 6 channels 384 kbps MAIN idx=1 id=0101 eng]#2 Audio[AC3 48000 Hz 2 channels 192 kbps idx=2 id=0102 spa]] dest=matroska 0:00:00 0 kbps [{CompressionDetails=-c copy -preset slow -c:v libx264}]
Fri 11/11 21:00:55.085 [Fork-BASE-55376@53ac294e] Calculate size of partial recordings
Fri 11/11 21:00:55.085 [Ministry@5c907274] Using 7 threads for the transcoder
Fri 11/11 21:00:55.085 [EventRouter-0023a50010d8@670fd972] processOptionsMenu optionsMenu=default:BASE-50504|OptionsMenu:Conversion Started Dialog
Fri 11/11 21:00:55.086 [Fork-BASE-55376@53ac294e] Found 2 partials using 65136924 bytes
Fri 11/11 21:00:55.109 [FinalRender-0023a50010d8@45df38d7] MiniClient did not succeed with menu hint change to:menuName:Detailed Info - Recording, popupName:null, hasTextInput:false, errcode=1
Fri 11/11 21:00:55.139 [Ministry@5c907274] File Format Parsed3 \\KJCUBED\TV\NCIS - S19E21 - Birds of a Feather - 1734496-0.ts=MPEG2-TS 0:51:51 6720 kbps [#0 Video[H.264 59.94 fps 1280x720 16:9 progressive id=100]#1 Audio[AC3 48000 Hz  idx=1 id=101 eng]#2 Audio[AC3 48000 Hz 2 channels  idx=2 id=102 spa]{Language=spa}]
Fri 11/11 21:00:55.139 [Ministry@5c907274] Executing xcoding process with args: [C:\SageTV64\SageTV\SageTVTranscoder.exe, -v, 3, -y, -threads, 2, -sn, -vsync, 1, -async, 100, -t, 200, -stdinctrl, -i, \\KJCUBED\TV\NCIS - S19E21 - Birds of a Feather - 1734496-0.ts, -threads, 7, -f, matroska, -c, copy, -preset, slow, -c:v, libx264, -aspect, 16:9, -map, 0:0, -map, 0:1, -priority, idle, \\KJCUBED\TV\NCIS - S19E21 - Birds of a Feather - 1734496-0.tmp]
Fri 11/11 21:00:55.141 [Ministry@5c907274] Ministry is waiting for 180 sec
Fri 11/11 21:00:55.154 [FinalRender-0023a50010d8@45df38d7] MiniClient did not succeed with menu hint change to:menuName:Detailed Info - Recording, popupName:Conversion Started Dialog, hasTextInput:false, errcode=1
Fri 11/11 21:00:55.155 [XcodeStderrConsumer@245f7fa1] ffmpeg version SageTVTranscoder_v1.2.2_from_FFmpeg_v4.4.2 Copyright (c) 2000-2021 the FFmpeg developers
But it addes the part from:

Code:
transcoder/formats/MKV-H264Slow\ MKV=f\=matroska;MCompressionDetails\=-c copy -preset slow -c\:v libx264;]
Then the log file explodes with output for the rest of sagetv_2.txt, sagetv_1.txt and ends in sagetv_0.txt (zipped up and in Debug_2.zip)

Looking at SageTVTranscoder.log I see:

Code:
################################ SageTVTranscoder (FFmpeg) starting ################################
Arguments: C:\SageTV64\SageTV\SageTVTranscoder.exe -priority idle -dumpmetadata -v 2 -i \\KJCUBED\TV\NCIS - S19E21 - Birds of a Feather - 1734496-0.ts 
Setting process priority
	Priority Argument: idle
################################ SageTVTranscoder (FFmpeg) starting ################################
Arguments: C:\SageTV64\SageTV\SageTVTranscoder.exe -v 3 -y -threads 2 -sn -vsync 1 -async 100 -t 200 -stdinctrl -i \\KJCUBED\TV\NCIS - S19E21 - Birds of a Feather - 1734496-0.ts -threads 7 -f matroska -c copy -preset slow -c:v libx264 -aspect 16:9 -map 0:0 -map 0:1 -priority idle \\KJCUBED\TV\NCIS - S19E21 - Birds of a Feather - 1734496-0.tmp 
Setting process priority
	Priority Argument: idle
Exiting for some other reason
################################ Exiting ################################
__________________
SageTV running on: Win10 21H2
SageTV 9.2.6.976 (64 bit)
Java 1.8.0 311 (64 bit)
OpenDCT 0.5.32 (64 bit)
Clients: HD300 (x2)
HDHR3-CC Prime 20220822 (Comcast CableCard) - 3 Tuners
HDFX-4K Flex 20220822 (OTA) - 4 Tuners
Reply With Quote
Reply


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

Advanced Search
Display Modes

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 spec for transcoder/formats CptKirk SageTV Software 3 07-25-2022 03:51 PM
.properties file specs for tv series jptheripper SageTV v7 Customizations 13 09-04-2015 10:36 AM
/transcoder/jobs in Sage.properties wayner SageTV Customizations 6 12-17-2009 07:44 PM
Transcoder formats syntax maxpower SageTV Software 1 01-30-2009 05:29 PM
SageTV Transcoder syntax for sage.properties file krasev SageTV Customizations 0 05-14-2007 06:51 AM


All times are GMT -6. The time now is 07:18 AM.


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