SageTV Community

SageTV Community (http://forums.sagetv.com/forums/index.php)
-   SageTV Github Development (http://forums.sagetv.com/forums/forumdisplay.php?f=53)
-   -   SageTVTranscoder Plugin (http://forums.sagetv.com/forums/showthread.php?t=66607)

jvl711 12-16-2020 03:48 PM

SageTVTranscoder Plugin
 
This plugin is an updated version of the "CORE" SageTVTranscoder.exe that comes with SageTV. This version is based off of FFmpeg version 4.3.1. The project is being maintained as a fork to the FFmpeg project, so hopefully it will make it easier to upgrade to future versions.


Known Issues:
  1. Some of the built in transcoding profiles in SageTV use deprecated/removed command line arguments. You will need to add your own custom profiles at this time for the transcoding profiles that are not working.

Transcoding Profiles:

Some transcoding profiles that nyplayer posted. These will copy all audio and subtitles but transcode the video. The slower the encode the better the quality. You will need to shutdown SageTV server, and add these to the sage properties file.

Code:

transcoder/formats/MKV-H264\superfast\ MKV=f\=matroska;MCompressionDetails\=-c copy -preset superfast -c:v libx264;]
transcoder/formats/MKV-H264\veryfast\ MKV=f\=matroska;MCompressionDetails\=-c copy -preset veryfast -c:v libx264;]
transcoder/formats/MKV-H264\faster\ MKV=f\=matroska;MCompressionDetails\=-c copy -preset faster -c:v libx264;]
transcoder/formats/MKV-H264\fast\ MKV=f\=matroska;MCompressionDetails\=-c copy -preset fast -c:v libx264;]
transcoder/formats/MKV-H264\Medium\ MKV=f\=matroska;MCompressionDetails\=-c copy -preset medium -c:v libx264;]
transcoder/formats/MKV-H264\slow\ MKV=f\=matroska;MCompressionDetails\=-c copy -preset slow -c:v libx264;]
transcoder/formats/MKV-H264\slower\ MKV=f\=matroska;MCompressionDetails\=-c copy -preset slower -c:v libx264;]
transcoder/formats/MKV-H264\veryslow\ MKV=f\=matroska;MCompressionDetails\=-c copy -preset veryslow -c:v libx264;]
transcoder/formats/MKV-Remux\ MKV=f\=matroska;MCompressionDetails\=-c copy;]

FAQ:

Q: What does the SageTVTranscoder do in SageTV?
A: It is responsible for a number of different tasks:
  1. Realtime transcoding of video files that are either in an unsupported format, or because of bandwidth limitations
  2. Thumbnail generation of media files. This is how SageTV creates the thumbnail image for recordings
  3. Conversion of recordings/library content to different formats
  4. Media format detection for formats that require the external format detector. I believe that is every except for .ts/.ps, and mp3 files.

Q: Why should I care about this? Seems like this does the same thing as the original SageTVTranscoder.exe?
A: Good question, there are a number of enhancements from using the newer version of FFmpeg:
  1. Support for transcoding and encoding into h265 and other newere codecs
  2. Support for identifying newer codecs and containers
  3. Potential performance increases in all the areas SageTV utilizes the SageTVTranscoder
  4. Stability improvements because of years of bugfixes and enhancements made by the FFmpeg team

Q: How do I install this?
A: It is available under as a SageTV plugin under General. It is called SageTVTranscoder (FFmpeg) Windows x64/x32. Pick the version that is appropriate to your system.

Q: What do I do if I find an issue/bug, or have an enhancement request?
A: You are free to bring up, or discuss any issues/bugs or potential enhancements here, but I would like it if you would please enter an issue into the github repo for tracking purposes. You can do that here under issues: https://github.com/jvl711/SageTVTranscoder-FFmpeg

Q: Can I contribute to this project?
A: Why yes you can! The project is a fork of FFmpeg, and is written in C. I could use help maintaining this, and there is definitely some code I do not understand and could use assistance with. You can fork the repo and submit pull requests. You can reach out to me on the forums, patreon or github. If you are not a programmer I am sure you could help with guides and general support.

Github Link: https://github.com/jvl711/SageTVTranscoder-FFmpeg

Versions:
v1.0.0 - Initial feature complete (Beta) release
v1.0.1 - Added x32 windows build
v1.0.2 - Fixed an issue with thumbnail generation on client machine. "stv://127.0.0.1/" translated to locally accessible path.
v1.0.3 - Fixed an issue with live tv transcoding and transitioning to a new program.
v1.0.4 - Added libx265 support

wayner 12-17-2020 11:25 AM

A question regarding thumbnail generation - I believe that the thumbnail is created at an interval of something like 30 seconds after the start of the recording. Is that the case? And can this thumbnail time offset be changed by the user? In an ideal world it would be good to have the offset time be confifurable based on Show Title, just like the custom skip times plugin. For example, for sporting events you may want the thumbnail to be at 900 seconds into the recording.

jvl711 12-17-2020 12:43 PM

Quote:

Originally Posted by wayner (Post 628324)
A question regarding thumbnail generation - I believe that the thumbnail is created at an interval of something like 30 seconds after the start of the recording. Is that the case? And can this thumbnail time offset be changed by the user? In an ideal world it would be good to have the offset time be confifurable based on Show Title, just like the custom skip times plugin. For example, for sporting events you may want the thumbnail to be at 900 seconds into the recording.

Hi Wayner,

It will behave the way that SageTV does currently with thumbnail generation. I think there is a setting that you can choose the time for how far by default into a show the thumbnail is created. Any option you can configure in SageTV today should be supported...

This is attempting to be a one to one replacement of the current SageTVTranscoder, so all current functions "should" work the same.

I think it may makes sense to add something like this to the core SageTV to possibly allow the configuration on a favorite. I will tell you in my own system, that I do not even use the ones that come from SageTV. I actually pull them down from TMDB. They seem to be picked by the user base, and are a much better representation of the show.

Thanks,
Josh

nyplayer 12-17-2020 02:33 PM

I still get bad audio when testing to always transcode locally on all my devices ... It cracks and is distorted.... also when watching Comcast H264 with transcoding get no video.

Maybe somebody that has a FireTV can also test this.... see if they too suffer from distorted audio.

jvl711 12-17-2020 05:07 PM

Quote:

Originally Posted by nyplayer (Post 628332)
I still get bad audio when testing to always transcode locally on all my devices ... It cracks and is distorted.... also when watching Comcast H264 with transcoding get no video.

Maybe somebody that has a FireTV can also test this.... see if they too suffer from distorted audio.

I just ran thru this on my server, and it seems to be working fine. Can you confirm that you have the right version of the Sage.jar. The HD fixed transcoding will only work with my patched jar file.

From reviewing the logs you sent me, it looked like SageTV was not passing the correct options.

Thanks,
Josh

nyplayer 12-18-2020 08:39 AM

Quote:

Originally Posted by jvl711 (Post 628335)
I just ran thru this on my server, and it seems to be working fine. Can you confirm that you have the right version of the Sage.jar. The HD fixed transcoding will only work with my patched jar file.

From reviewing the logs you sent me, it looked like SageTV was not passing the correct options.

Thanks,
Josh

I think that might be it I rebuilt it and did not get your Sage.jar maybe you should post your jar on the first page. There is no mention about the new jar.


Edit that was it ... maybe update your instructions that a new jar is needed and post where it can be downloaded.

jvl711 12-18-2020 01:52 PM

Quote:

Originally Posted by nyplayer (Post 628345)
I think that might be it I rebuilt it and did not get your Sage.jar maybe you should post your jar on the first page. There is no mention about the new jar.


Edit that was it ... maybe update your instructions that a new jar is needed and post where it can be downloaded.

I added a note and a link to the top of the Android Client post with a direct link to the file. I was holding on to seeing if we could get another SageTV release until I made a decision on if I am going to add the stream copy changes.

nyplayer 12-18-2020 04:54 PM

Quote:

Originally Posted by jvl711 (Post 628346)
I added a note and a link to the top of the Android Client post with a direct link to the file. I was holding on to seeing if we could get another SageTV release until I made a decision on if I am going to add the stream copy changes.

Ok thanks ... great work

KryptoNyte 12-18-2020 05:30 PM

This is fantastic!

I just connected a Firestick 4k over my phone's hotspot as a remote connection test (fixed, 3 mbps), then thrashed a recording FF, REW, auto compskip. After moving back and forth, no more odd green pixelated screens, the video/audio picks up quickly when replay starts - this is really great work.

Thank you!

Oh, and the installation of the plugin ... painless.

jvl711 12-21-2020 01:03 PM

Quote:

Originally Posted by KryptoNyte (Post 628349)
This is fantastic!

I just connected a Firestick 4k over my phone's hotspot as a remote connection test (fixed, 3 mbps), then thrashed a recording FF, REW, auto compskip. After moving back and forth, no more odd green pixelated screens, the video/audio picks up quickly when replay starts - this is really great work.

Thank you!

Oh, and the installation of the plugin ... painless.

Thank you for the feedback. That is good to hear!

jvl711 12-21-2020 01:05 PM

Hi All,

Just wanted to let you guys know that windows 32 bit build is coming soon. I was able to get it to build, and I have updated my build scripts. I hope to release at some point this week, time allowing.

Thanks,
Josh

nyplayer 12-21-2020 03:50 PM

Quote:

Originally Posted by jvl711 (Post 628379)
Hi All,

Just wanted to let you guys know that windows 32 bit build is coming soon. I was able to get it to build, and I have updated my build scripts. I hope to release at some point this week, time allowing.

Thanks,
Josh

Thanks it has been rock solid thanks for your work you have put in to keep sagetv going.

AlphaCrew 12-21-2020 04:36 PM

So this only applies to the android app, and not the PC client/server?

Telecore 12-21-2020 06:38 PM

First of all - jvl711 thanks for all of your efforts - I found a potential problem that I want to relay after I changed out the jar file and installed the plugin; unfortunately I don't recall all the details (and I have since uninstalled), but I am certain my HEVC-10 encoded MKV files with DTS soundtracks would not play and an error message appeared indicating that there was an audio error. This happened both on FireTV 4K and the Nvidia Shield. What I am not certain about is whether the HEVC-10 MKVs with AC-3 soundtracks worked or not. Both DTS and AC-3 work with the old jar and without the plugin on android clients. Anyways wanted to let everyone know and see if someone else encountered the same problem. I only have the 1 system so I had to restore it to make sure everything is working for my family.

jvl711 12-22-2020 06:44 AM

Quote:

Originally Posted by AlphaCrew (Post 628381)
So this only applies to the android app, and not the PC client/server?

This applies to all of SageTV. See Q AND A on first post.

Thanks,
Josh

jvl711 12-22-2020 06:49 AM

Quote:

Originally Posted by Telecore (Post 628385)
First of all - jvl711 thanks for all of your efforts - I found a potential problem that I want to relay after I changed out the jar file and installed the plugin; unfortunately I don't recall all the details (and I have since uninstalled), but I am certain my HEVC-10 encoded MKV files with DTS soundtracks would not play and an error message appeared indicating that there was an audio error. This happened both on FireTV 4K and the Nvidia Shield. What I am not certain about is whether the HEVC-10 MKVs with AC-3 soundtracks worked or not. Both DTS and AC-3 work with the old jar and without the plugin on android clients. Anyways wanted to let everyone know and see if someone else encountered the same problem. I only have the 1 system so I had to restore it to make sure everything is working for my family.

Hi Telecore,

What were you attempting to do? Where you applying fixed transcoding? Why did you add the new Sage.jar. Where you expecting to test a feature? Can you post the SageTVTranscoder.log file.

H265 should not need to be transcoded on the Firestick 4k. It should just playback. So transcoding should not be involved unless this is a low bandwidth, or you forced transcoding with always encode.

Thanks,
Josh

Telecore 12-22-2020 03:01 PM

Not testing transcoding - just (1) regression testing to see if anything got broke and (2) trying to see what could be gained (outside of transcoding) from your list of enhancements (I was hoping to make SageTV more aware of HEVC content); in any event wanted to let you know that something broke in a non-transcoding use case

jvl711 12-23-2020 09:16 AM

Quote:

Originally Posted by Telecore (Post 628395)
Not testing transcoding - just (1) regression testing to see if anything got broke and (2) trying to see what could be gained (outside of transcoding) from your list of enhancements (I was hoping to make SageTV more aware of HEVC content); in any event wanted to let you know that something broke in a non-transcoding use case

Thanks Telecore.

Let me know if you have a chance to look into this more. I am not able to repro on my side. I would need some logs from you to look into it closer. It is possible it is detecting something a little differently on your side that Sage is not liking.

Thanks,
Josh

AlphaCrew 12-23-2020 11:56 AM

1 Attachment(s)
Quote:

Originally Posted by jvl711 (Post 628388)
This applies to all of SageTV. See Q AND A on first post.

Thanks,
Josh

So I installed the PI (Server), rebooted machine and tried to convert a video to H264 MKV and as it always has, it failed.

I don't see any difference in the SageTV client as it pertains to transcoding or it's options.

Does the PI need to be installed in the client as well?

nyplayer 12-23-2020 03:13 PM

Quote:

Originally Posted by AlphaCrew (Post 628409)
So I installed the PI (Server), rebooted machine and tried to convert a video to H264 MKV and as it always has, it failed.

I don't see any difference in the SageTV client as it pertains to transcoding or it's options.

Does the PI need to be installed in the client as well?

I also tried to transcode a recording to mkv in Windows server and it failed I think new profiles will have to be added.


All times are GMT -6. The time now is 12:58 PM.

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