google / sagetv Goto Github PK
View Code? Open in Web Editor NEWSageTV is a cross-platform networked DVR and media management system
Home Page: http://forums.sagetv.com/
License: Apache License 2.0
SageTV is a cross-platform networked DVR and media management system
Home Page: http://forums.sagetv.com/
License: Apache License 2.0
Whether scanning OTA (ATSC) or Cable (QAM) it seems to want to include some apparently erroneous channels that are just numbered. They show up in the web interface as "-", "- 2", "- 3", etc. Unsure how these are being produced. Trying to preview one shows a signal strength but no video. the associated mpgbuf for the tuner shows a zero size. This compared to a valid channel that shows a preview video and the associated mpgbuf file size is greater than zero.
I only have a few hours of guide data for Houston channels KRIV 26.1 and KTRK 13.1. I am using Zap2it guide data. Are these channels not included in the Zap2it guide data?
With the native linux HDHomeRun support, channels get scanned and you can tune in, however the EPG data is not received like on the SageTV 7 setup on Windows.
First you would need to understand how the EPG stream of a channel is received in SageTV, most likely something is not setup correctly for HDHomeRun.
Option to use radar image from Accuweather.
This works on SageTV7 but does not work on SageTV9. I am finding out the Sage9 is more limited in the way you can define favorites than Sage7. They all worked fine in Sagetv7. I was wondering why some shows were not recording. It appears that SageTV9 does not handle regular expressions as good as SageTV7.
examples do not work.
keyword christmas "MV\d+"
Title Criminal Minds
keyword "EP\d+"
also
Category Docudrama
keyword "MV\d+"
What is the current minimum toolset requirement for building native code? From the "VS2005 build environment" forum thread, my understanding is: JDK (README at the top of the tree says minimum 1.5 ), DirectX SDK, Windows SDK v6.1 and Visual Studio 2005. Can someone confirm or correct this? I ask because there are recent commits that seem to refer to system #includes that aren't satisfied by the environment described above. Example: "include <inttypes.h>". It might be helpful for us to be in sync on the toolsets & versions. I understand that the goal is to move to a newer version of VS (presumably VS2015 Community) in the near future. But what are people building native code with now?
This is an issue that has kind of plagued me over the years. I'm sure it doesn't affect everyone. However, there is an issue with the Placeshifter client, whether connecting locally or remotely where the window displays as a black box when the system is locked and then unlocked. This also happens when an RDP connection to the machine has disconnected and is subsequently reconnected.
This actually affects me quite a bit as I'm not always able to use a remote connection so I'm forced to RDP to one of my machines and remotely use the Placeshifter client to do some sort of administrative task. Or for just testing new features in v9 connected to one of my test servers.
The common thread here seems to be that the Placeshifter interface renderer seems lose its connection to the window when the display changes state (e.g. local to remote display, remote reconnection, or when the system is locked and Windows replaces the desktop with the login screen).
When downloading certain YouTube videos this error is generated. As an example:
Channel: BuzzFeedVideo
Video: NASA Scientist reviews " The Martian"
Video Link: https://www.youtube.com/watch?v=GLYzYf0k9yQ
Logfile:
Mon 10/12 19:17:25.201 [ReProcessHook@787d25] Download requested for files server=https://r7---sn-a8au-hp5l.googlevideo.com/videoplayback?initcwndbps=340000&dur=145.194&signature=C52F82616D6A86B657B1E05C9E0C98586DF564FB.0EE857D9382BA403D1D0EAEF4C96AB6D93F00E1C&sver=3&upn=LV6xWMMf1rM&key=yt6&ratebypass=yes&ipbits=0&itag=22&fexp=9406128%2C9408710%2C9409069%2C9414764%2C9415516%2C9416126%2C9417487%2C9417707%2C9418204%2C9418448%2C9418897%2C9419303%2C9420348%2C9420437%2C9421013%2C9421137%2C9421169%2C9422342%2C9422383&requiressl=yes&mime=video%2Fmp4&ip=24.48.134.228&mm=31&source=youtube&pl=21&mn=sn-a8au-hp5l&id=o-ACxVl0cvmBf8gVjqs4fR0qGWblv-NurDhw3k4t4eDyiS&ms=au&mt=1444691797&mv=m&expire=1444713438&sparams=dur%2Cid%2Cinitcwndbps%2Cip%2Cipbits%2Citag%2Clmt%2Cmime%2Cmm%2Cmn%2Cms%2Cmv%2Cpcm2cms%2Cpl%2Cratebypass%2Crequiressl%2Csource%2Cupn%2Cexpire&lmt=1444337534035015&pcm2cms=yes src=null dest=C:\Users\Tom\AppData\Local\Temp\OnlineVideo-GLYzYf0k9yQ-4082064460226247482.mp4
Mon 10/12 19:17:25.648 [ReProcessHook@787d25] Download remoteSize=24880479
Mon 10/12 19:17:25.656 [FileDownload@10ce3b8] Detected MP4 ISO stream downloading...
Mon 10/12 19:17:25.708 [FileDownload@10ce3b8] ERROR during file download of:java.lang.ArrayIndexOutOfBoundsException
Mon 10/12 19:17:25.714 [FileDownload@10ce3b8] java.lang.ArrayIndexOutOfBoundsException
Mon 10/12 19:17:25.715 [FileDownload@10ce3b8] java.lang.System.arraycopy(Native Method)
Mon 10/12 19:17:25.724 [FileDownload@10ce3b8] sage.FileDownloader.processMP4Packet(FileDownloader.java:1346)
Mon 10/12 19:17:25.731 [FileDownload@10ce3b8] sage.FileDownloader.httpTaskRun(FileDownloader.java:718)
Mon 10/12 19:17:25.737 [FileDownload@10ce3b8] sage.FileDownloader.taskRun(FileDownloader.java:365)
Mon 10/12 19:17:25.743 [FileDownload@10ce3b8] sage.SystemTask.run(SystemTask.java:84)
Mon 10/12 19:17:25.749 [FileDownload@10ce3b8] java.lang.Thread.run(Unknown Source)
Mon 10/12 19:17:25.799 [FileDownload@10ce3b8] Download completed for files server=https://r7---sn-a8au-hp5l.googlevideo.com/videoplayback?initcwndbps=340000&dur=145.194&signature=C52F82616D6A86B657B1E05C9E0C98586DF564FB.0EE857D9382BA403D1D0EAEF4C96AB6D93F00E1C&sver=3&upn=LV6xWMMf1rM&key=yt6&ratebypass=yes&ipbits=0&itag=22&fexp=9406128%2C9408710%2C9409069%2C9414764%2C9415516%2C9416126%2C9417487%2C9417707%2C9418204%2C9418448%2C9418897%2C9419303%2C9420348%2C9420437%2C9421013%2C9421137%2C9421169%2C9422342%2C9422383&requiressl=yes&mime=video%2Fmp4&ip=24.48.134.228&mm=31&source=youtube&pl=21&mn=sn-a8au-hp5l&id=o-ACxVl0cvmBf8gVjqs4fR0qGWblv-NurDhw3k4t4eDyiS&ms=au&mt=1444691797&mv=m&expire=1444713438&sparams=dur%2Cid%2Cinitcwndbps%2Cip%2Cipbits%2Citag%2Clmt%2Cmime%2Cmm%2Cmn%2Cms%2Cmv%2Cpcm2cms%2Cpl%2Cratebypass%2Crequiressl%2Csource%2Cupn%2Cexpire&lmt=1444337534035015&pcm2cms=yes src=null dest=C:\Users\Tom\AppData\Local\Temp\OnlineVideo-GLYzYf0k9yQ-4082064460226247482.mp4 abort=false
Mon 10/12 19:17:27.655 [ReProcessHook@787d25] Cancelling current file download operation.
Mon 10/12 19:17:27.659 [ReProcessHook@787d25] Waiting for download thread to terminate...
Mon 10/12 19:17:27.662 [ReProcessHook@787d25] Download thread has terminated.
Hello Everyone!
HbbTV support is something I'd really like to see in SageTV.
I'm neither sure how much effort it would be to implement, whether this is even a wanted feature by any one of you nor will I be able to work on this any time soon.
So please feel free to close this, if it doesn't fit in with SageTV's plans for the future.
Otherwise leave it open for other motivated devs to see there's at least one guy who'd be happy to have it. Thanks for going open source btw :)
Cheers,
Chris
Finally found some time to try out the OSS version of sagetv, but I'm not having much luck with it. It's hotspotting consistently on a vanilla installation of the latest commit on gh. I'm running it on ubuntu 14.04 and using the tarball version after following the instructions on the sticky post on the forum. It's not %100 clear which version of Java to use - I tried Sun java 8, 7, and 6.
I get the error as soon as I try to set up external tuning for my hdpvr, so before installing any plugins or setting anything up. The hdpvr also isn't even lighting up blue when I select 'component' input in the sources menu (but it does when I cat /dev/video0 > /Dev/null)
You can see the errors at:
http://pastebin.com/MUVw9rFh
Currently Sage creates threads for the runnable classes at almost the way end of the server startup. This does not allow for a network encoder to be configured as a runnable class and properly discovered by Sage and added as an active capture device. I had a few ideas on how this could possibly be accomplished, and I wanted some input before I tried submitting a code change that breaks something. Here are the three ideas I had.
Please let me know which direction makes the most sense.
Josh (jvl711)
"Microsoft DTV-DVD Audio Decoder" does not appear in "Current MPEG2 Audio Decoder" or "Current DVD Audio Decoder" list.
If I pause a video and my HTPC goes to sleep, when I wake my HTPC from sleep the screen is black. If video is playing or paused, could you stop video playback before the HTPC goes to sleep?
Add webcam support
If the tuning process takes too long, then there is a green block in front of the red progress marker.
One of the few problems I still have on occasion with SageTV is when one of my STBs goes off due to a device upgrade by Verizon; or one of my HDPVRs just starts having issues. This manifests itself in 1 of 2 ways.
I should add code in the Seeker which detects when either of these 2 cases occurs and then generates a unique system message. I already suppress the one in my own system for when recordings have breaks in them (since this happens too frequently with the HDPVR); which is why I want a new one for this.
I'd make 2 separate property settings for this since not everyone would want this type of detection. There'd also be a setting for the # of segments to cause this to be hit. I'd also have a property for either a specified rate to fire this at; or just have it go through the recordings for that tuner and then calculate an average rate correlated with resolution and then have a configurable threshold for when this fires based on that average.
I discovered that mvp.bin doesn't appear to be in the repo so doesn't get included in the pre-packaged deb files created when you build from source. This prevents connections to a Linux sage server from a media MVP client (yes, I still use one even though it's ancient :-P). Is this purposeful (licensing issues maybe?). I noticed while setting up a linux box to replace my windows install of Sage (I've wanted to get rid of my only windows box for years :)). Using mvp.bin from the windows install works great, but thought it would be good to include in the source if not against any licensing restrictions.
The double null check for Singleton creation is not thread safe and expensive due to the synchronized lock. (https://en.wikipedia.org/wiki/Double-checked_locking).
When the user presses a key and deactivates the screen saver, the keystroke is never passed to the STV. I'd like to see that keystroke passed on to the STV. It's probably better to make this an option to ensure backwards compatibility.
Upon startup of SageLauncher (SageTv.exe), the application dies on some systems. On a failing system, the startup screen is displayed for several seconds and then suddenly closes without warning. With debug_logging=true, the last item logged in sagetv_0.txt is: "[FinalRender-SAGETV_PROCESS_LOCAL_UI@1cbca2f] DX9Renderer NATIVE WARNING (non-FAILURE) line 788 hr=0x8007007e".
This msg is produced from SageTVDX97D.cpp, line 788
Native code binaries are generated by vs2015. The failure was observed on a system running Win7-x64.
Observations:
Can someone take a look at this?
Problem with SMBMOUNT command. It has been depreciated in Linux and is no longer available in cifs-utils. The code needs to be updated to include the newer method to mount SMB shares. See this thread on the SageTV forums: http://forums.sagetv.com/forums/showthread.php?t=63002
When I press the "Recorded TV", "Guide", "Live TV" and "i" buttons on the MCE remote, nothing happens. These buttons used to work, but now they do not work. When I press one of those buttons, the red light on the IR receiver blinks. The problem is not the MCE remote.
Android mini client 1.0-RC4 installed on Nvidia Shield TV running firmware 3.0.
The "Exit to Home Screen" box is checked but exiting SageTV returns to the server selection page instead.
Mplayer on OSX does not display correctly with the new sage client.
I downloaded the new sage client. I replaced the version of Mplayer with the old mplayer from v6. While all the video plays, it plays in a new window. The error displayed is...
Error loading QuartzGFXCMD class, reverting to default rendering:java.lang.ClassNotFoundException: sage.miniclient.QuartzGFXCMD
java.lang.ClassNotFoundException: sage.miniclient.QuartzGFXCMD
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:171)
at sage.miniclient.MiniClientConnection.GFXThread(MiniClientConnection.java:609)
at sage.miniclient.MiniClientConnection.access$200(MiniClientConnection.java:18)
at sage.miniclient.MiniClientConnection$4.run(MiniClientConnection.java:378)
Exception getting video server params: java.lang.NoSuchMethodException: sage.miniclient.GFXCMD2.getServerVideoOutParams()
MPlayer was launched successfully
...
Ignoring resize command because it exceeds video dimensions rect=java.awt.Rectangle[x=0,y=0,width=720,height=480] videoDim=java.awt.Dimension[width=0,height=0]
Running the sage placeshifter on OSX (legacy v6 client or current client using the legacy mplayer) skipping forward or backwards has very strange results. It jumps by seeming random amounts (more than 30 seconds, more than 5 min), often jumping to the same place repeatedly. I attempted to also use the web remote thinking that maybe it was a client issue. This also did not work successfully, causing jumping issues. It is repeatable and when I remember, I will dig in and grab some logs related to this event.
Currently, DShowPlayer has a lot of hard-coded decisions in it, that may not necessarily be required with newer filters out in the wild (and potentially being rolled into the sagetv product). Things like VideoRenderer being limited to specific choices, some media formats being forced to use specific filters in code instead of using properties, etc. Basically, with the newer decoders and renderers available, which have much greater capability, it might make sense to open up these restrictions and allow any option to be selected for each container/format/renderer.
The transcoder should be updated to support constant quality modes. I can see how Placeshifter remote streaming needs a constant bitrate but for other transcoding CQ modes would be more effective.
"Guide", "Guide 2", "Guide 3" are in the "Program Guide" menu. I do not see any advantage to have them also in the "Custom Menu".
"Customized Schedule" in the "Recording Schedule" menu is the same as "Recording Schedule" in the "Custom Menu"
"Upcoming Movies", "Premieres, Finales, Specials" and "Viewing History" should be moved to the TV menu for easier access.
Added Stardock weather icons to "Configure Icon set"
Make Windows SageTV 64bit.
Change SageTV taskbar and system tray icon color to red, while SageTV is recording.
After tuning a live TV channel, playback progress bar jumps from 0:00:00 to current time position.
In the forum windows installer thread, Jeff did a great job of pulling some info from his memory on some of the binaries that are included in the v7 installer. Many of which seemed to be pretty old an obsolete, and I'd like to compile a list of things to be marked for removal from v9, so not only can the binaries NOT be included, but references to such can be removed from the source.
Off the top of my head, the items I feel can be removed would be:
Deinterlace.ax and all DI_*.dll's - These are for the DScaler deinterlacer, which is pretty redundant with all of these deinterlacing methods built in to any modern decoder. This would require not just removal of the binaries, but removal of the dscaler options in the STV, and likely code in the directshow library that builds the graphs.
dlcllib.dll & tvtvDLCL.dll - TVTV EPG related files - no longer used in v9, as TVTV was removed.
stv.ax & .dll* - The mainconcept (SageTV MPEG Decoder/Encoder/etc) codecs. No license for use with the open source product, so can't be included. Should probably bundle a different decoder - need to decide if ffmpeg or LAV should be included. ffmpeg might work as a 'better' option than ac3filter (old version currently included) as well.
When my HTPC wakes up from sleep, the SageTV interface is slow until about 10 seconds later. Now that SageTV is open source, is there anyway to speed up this delay? Would it be possible to add a black loading screen with progress bar? Can this be done with SageTV studio?
It would be nice to try out new Renderers, particularly MadVR which is giving good results with Kodi in Windows. Currently we seem to just have the fixed list.
MadVR is here:
http://forum.doom9.org/showthread.php?t=146228
EVR works okay, but I tend to lose the last few seconds of imported videos, and MadVR has far more tweaking options. Obviously this isn't an urgent request... Thanks.
None of the free video decoders being used in SageTV appear to support closed captioning for H.264 content. The ability to append to the subtitles live would help make this less of an issue. I noticed that during live recordings, if a .srt file was created along side the recording, SageTV would not pick up any new subtitles written to the file. I tried skipping back and forward, but the new subtitles never appeared. They only appeared after I restarted playback.
Also related, but may be a separate issue: If the recording is split into multiple files I noticed that on playback at least in the placeshifter, the subtitles for the first file will be used for all of the files in the recording even if every file in the recording has it's own .srt file.
Ever since the development tree was placed into GitHub, native code (i.e, non-Java) couldn't be built using a "standard" installation of VS2005, DirectX SDK & SDK6.1. Once we're first able to fully build using VS2005, it will be much easier to take the next step of replacing VS2005 with VS2015.
I would like to import my xmltv data, however guides are missing for linux on how to do it.
On top of that I would like to start a frontend like it was available on Windows based on .net http://www.lmgestion.net/@en-us/4/22/54/59/article.asp from "LM Gestion". In order to speed up any support for a xmltv plugin or documentation would be of help
When downloading content (or anything) using sage.FileDownloader, no user_agent is specifically set, so it uses the default "Java/x.x.x_xx" user_agent. It seems to be more 'correct', it should be setting a user_agent that would be more like "SageTV/x.x.x". This should be able to be done by either:
The immediate reason I am wanting this implemented is so that PlayOn can recognize SageTV, so SageTV can be white-listed as an HD capable player, which is the only way PlayOn will stream content in HD. Option 2 would allow sage to emulate an already white-listed player to get PlayOn in HD immediately. Option 1 would require PlayOn to have SageTV added to it's white-list before it would work in HD.
Issue was reported here:
http://forums.sagetv.com/forums/showthread.php?p=579435&postcount=11
SageTV details the file as:
MPEG2-PS[MPEG2-Video/3.8Mbps 4:3 480i @ 29.97fps, MP2/384Kbps@48kHz Stereo
The problem follows certain vintages of MpegDeMux.ax. The regression was introduced with the commit for ae41796
The problem has been traced to:
native\ax\Native2.0\NativeCore\AVFormat\MpegAudioFormat.c
Making the following change resolves the reported problem:
int ReadMpegAudioHeader( MPEG_AUDIO *pMpegAudio, const uint8_t* pStart, int Size )
{
int Layer,i,MPGVersion, CRC_protected, BiteRateIndex, SampleRateIndex;
- int8_t LayerCode;
+ uint8_t LayerCode;
- const int8_t *pData;
+ const uint8_t *pData;
uint32_t Bitrate;
I'm unsure if this change will introduce other side effects, since it's unclear why Qian changed these two locals from unsigned to signed.
In SageTV Studio, could you add a variable watch list?
There's a case we don't handle in our Scheduler rearrange logic that would be better handled there than before we went to the exhaustive search. We don't try to shift an existing scheduled recording over to another tuner with an open slot in order to make room for a new one. We will swap the recording time if it has other airings...but that's different. I'm not 100% sure this affects systems that have all tuners with the same lineup...but I think it could. SageTV has always had this deficiency..this is nothing new. :)
When a plugin is uninstalled the plugin manager should also remove all dependencies that are not needed for any other plugin. I have written code to do this for the "Remove Plugin and dependencies" plugin.
At the suggestion of jusjoken I am opening an issue regarding a v9 DVD/BD sort error. When using the windows installer release candidate to install v9 over v7.1.9 an anomaly occurred in Videos. Normally my DVD and BD rips are kept sorted alphabetically. After installing v9 the rips are scrambled generally into two groups with each group sorted mostly alphabetically. There are also 3 or 4 files that are not included in the two larger groups. This scrambling of titles makes access to the DVD and BD rips difficult and reduces WAF. I tried to fix the sort with BMT with no luck. I tried using the v9 repair command with no luck. I tried deleting my Sage installation and installing v7.1.9 from scratch followed by installation of v9 using the windows installer with no luck. Finally I installed v7.1.9 followed by manual installation of v9 using the exe files and jars. Again no luck. In all cases the list of DVDs and BDs in v7.1.9 is listed correctly and in all installations of v9 the sort is scrambled. Also in all cases my OS was Windows 10 Pro. I have a little over 100 DVD and BD rips.
Add "H.265/HEVC Video Decoder Filter" option to "Video/Audio" in "Detailed Setup".
This was changed between V7 and V9, but breaks function in at least the Webserver and Favorite Excluder.
The existing tool chain for building Windows native code is based on Visual Studio 2005. Migrate this to VS2015 (Community Edition) with its tools and (refactored) libraries.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.