SageTV Community  

Go Back   SageTV Community > SageTV Development and Customizations > SageTV Github Development

Notices

SageTV Github Development Discussion related to SageTV Open Source Development. Use this forum for development topics about the Open Source versions of SageTV, hosted on Github.

Reply
 
Thread Tools Search this Thread Display Modes
  #21  
Old 10-18-2018, 07:57 PM
jusjoken jusjoken is offline
Sage Icon
 
Join Date: Dec 2005
Location: Minneapolis MN
Posts: 2,162
This is great news and progress. When you succeed i will need to figure out how to adjust the installer...unless you feel like taking that challenge on as well

Thanks for taking this on,

k
Reply With Quote
  #22  
Old 10-18-2018, 08:19 PM
sdsean's Avatar
sdsean sdsean is offline
Sage Expert
 
Join Date: Jul 2008
Posts: 537
So excited! Let us know if there's any further research or code we can help with!
__________________
i7 3.33 GHz EE Quad Core+HT, 12GB DDR3 1333Mhz RAM, ATI HD6870 2GB VRM, 512GB Samsung SSD OS Drive, EVGA SLI x58 Mobo, Win7 Ultimatex64, Gyration MCE Remote, Hauppauge HD-DVR (x3), HD-HR, 2x H21-100, 1x H21-200 DirecTV STBs, 1 SIIG / CyberSerial 4 Port Serial PCI card, 1 PCIex1 Inland/NEC 5 port USB card
Reply With Quote
  #23  
Old 10-18-2018, 08:29 PM
EnterNoEscape's Avatar
EnterNoEscape EnterNoEscape is offline
Sage Icon
 
Join Date: Jun 2010
Location: Harrisburg, PA
Posts: 2,491
Very cool. It's exciting to see progress on the one thing I thought would never happen for SageTV.
__________________
SageTV v9 Server: ASRock Z97 Extreme4, Intel i7-4790K @ 4.4Ghz, 32GB RAM, 8x 3TB 7200rpm HD, 2x 5TB 7200rpm HD, 4x 256GB SSD, 4x 500GB SSD, unRAID Pro 6.3.0-rc6 (Dual Parity + SSD Cache).
Capture: 1x Ceton InfiniTV 4 (ClearQAM), 2x Ceton InfiniTV 6, 1x BM1000-HDMI, 1x BM3500-HDMI.

Clients: 1x HD300 (Living Room), 1x HD200 (Master Bedroom).
Software: OpenDCT :: WMC Live TV Tuner :: Schedules Direct EPG
Reply With Quote
  #24  
Old 10-18-2018, 08:31 PM
wnjj wnjj is offline
Sage Icon
 
Join Date: Jan 2009
Posts: 1,028
Quote:
Originally Posted by sdsean View Post
So excited! Let us know if there's any further research or code we can help with!
I'm pretty sure the 7 libraries needed to compile PushReader are:

Code:
faac
faad
xvidcore
x264
avformat
avcodec
avutil
I've gotten faac and faad to compile. Xvidcore has a VS project with it so it can probably be built directly in VS.

I haven't figured out x264 (third_party/codecs/x264) or the 3 "av" libraries (third_party/ffmpeg).


If you can manage to build any of those 4 into 64-bit .a or .lib files, that is the main block right now. Even building them for 32-bit is just as difficult. As it is now, pushreader.lib (which links all 7) is already built and sitting there in the Pushreader dir so it hasn't ever been built for V9.
Reply With Quote
  #25  
Old 10-18-2018, 08:33 PM
wnjj wnjj is offline
Sage Icon
 
Join Date: Jan 2009
Posts: 1,028
If this ffmpeg stuff becomes too difficult, shouldn't you still be able to run a headless server in 64-bit and then connect a 32-bit client to it? In other words is there enough reason to even get all of the video/audio playback filters working in 64-bit?

For that matter, isn't the Sage demux optional? I have to admit I don't fully understand how all of the filter graphs get built and what you don't really need.
Reply With Quote
  #26  
Old 10-19-2018, 04:08 AM
jusjoken jusjoken is offline
Sage Icon
 
Join Date: Dec 2005
Location: Minneapolis MN
Posts: 2,162
Quote:
Originally Posted by wnjj View Post
If this ffmpeg stuff becomes too difficult, shouldn't you still be able to run a headless server in 64-bit and then connect a 32-bit client to it? In other words is there enough reason to even get all of the video/audio playback filters working in 64-bit?

For that matter, isn't the Sage demux optional? I have to admit I don't fully understand how all of the filter graphs get built and what you don't really need.
In my opinion having playback on the server is not required. The 32 bit client and placeshifter would fill that void. The gap we windows folk need is a 64 bit server so we can have numerous clients connected.

k
Reply With Quote
  #27  
Old 10-19-2018, 09:34 AM
SteveW's Avatar
SteveW SteveW is offline
Sage Aficionado
 
Join Date: Oct 2008
Location: Fall River, Nova Scotia, Canada
Posts: 336
Quote:
Originally Posted by jusjoken View Post
In my opinion having playback on the server is not required. The 32 bit client and placeshifter would fill that void. The gap we windows folk need is a 64 bit server so we can have numerous clients connected.

k

Very much agree. I often do playback on my server when I'm troubleshooting my HD-PVRs and the satellite receivers beside them.


If I can still fire up a Sage Windows client on the same windows server that has the Sage server running on it, that all works for me...
__________________
Server: Win 10 Pro 64 Bit, Intel i5, 8 GB, Samsung EVO 850 500 GB for OS, WD Black 4 TB + WD Black 1 TB for Recordings, WD Green 2 TB x 1 and WD Red 6 TB x 2 for DVD/Bluray Rips, Music, Home Movies, etc., Sage 9.1.8.770, HDPVR x 2, BellTV 6131 Receiver x 2, USB-UIRT with 56 KHz Receiver

Clients: PC Client x 2, HD-300 x 4 (1 Using Netgear MoCA Coax Bridges), Placeshifter x 1
Reply With Quote
  #28  
Old 10-19-2018, 04:06 PM
KryptoNyte's Avatar
KryptoNyte KryptoNyte is offline
Sage Icon
 
Join Date: Dec 2006
Posts: 2,145
Quote:
Originally Posted by wnjj View Post
If this ffmpeg stuff becomes too difficult, shouldn't you still be able to run a headless server in 64-bit and then connect a 32-bit client to it? In other words is there enough reason to even get all of the video/audio playback filters working in 64-bit?
1) Does it affect Placeshifter if the server can't render the video?
2) When configuring the channel lineup on some tuners, the station preview can be helpful, although not necessarily required.

I like the idea that you could run the client on the server machine if a user needed to.

This is very exciting to see the 64 bit part happening!
Reply With Quote
  #29  
Old 10-20-2018, 05:06 AM
SHS's Avatar
SHS SHS is offline
Moderator
 
Join Date: Mar 2003
Location: Vinita, Oklahoma
Posts: 4,386
Quote:
Originally Posted by KryptoNyte View Post
1) Does it affect Placeshifter if the server can't render the video?
2) When configuring the channel lineup on some tuners, the station preview can be helpful, although not necessarily required.

I like the idea that you could run the client on the server machine if a user needed to.

This is very exciting to see the 64 bit part happening!
That what I was think plus it may also be need for transcoding
Reply With Quote
  #30  
Old 10-20-2018, 11:48 PM
wnjj wnjj is offline
Sage Icon
 
Join Date: Jan 2009
Posts: 1,028
I agree that it would be nice to get video playback working. I'm just not sure if the Sage demux is required for that.

So to update on my progress, see the attached image.

There are still plenty of missing and untested pieces. For example I haven't gotten the Freetype font library complied without missing dependencies, there's an error in the log file about a "bundle for base name" (i18n) and I had to skip over the pixel shader code since it kept returning an error code. I'll keep at this but it's definitely showing some promise!

EDIT: The "bundle for base name" was a typo in my sage.properties that I had hand-edited the paths in. One down, several to go...
EDIT2: It looks like the pixel shader code is missing some compiler...probably because I hand-copied some 64-bit DX9 dll's to my test system. There must be a couple more needed.
EDIT3: Yep. Just needed to install the DX9 runtimes and that fixed the pixel shader issue. I assume the installer has to define dependencies and include 64-bit now?
Attached Images
File Type: jpg 64bit_windows.jpg (196.2 KB, 78 views)

Last edited by wnjj; 10-21-2018 at 12:23 AM.
Reply With Quote
  #31  
Old 10-21-2018, 04:59 AM
jusjoken jusjoken is offline
Sage Icon
 
Join Date: Dec 2005
Location: Minneapolis MN
Posts: 2,162
Reply With Quote
  #32  
Old 10-21-2018, 05:08 AM
deanm deanm is offline
Sage Aficionado
 
Join Date: Apr 2005
Location: North East, UK
Posts: 293
__________________
Darkside: DVB-C x4 DVB-T2 x2 HD-300 x4
Lightside: DVB-C x2 DVB-T2 x4 HD-300 x3
Reply With Quote
  #33  
Old 10-21-2018, 06:57 AM
trk2 trk2 is offline
Sage Aficionado
 
Join Date: Jan 2006
Location: Maine
Posts: 340
Reply With Quote
  #34  
Old 10-21-2018, 11:41 AM
EnterNoEscape's Avatar
EnterNoEscape EnterNoEscape is offline
Sage Icon
 
Join Date: Jun 2010
Location: Harrisburg, PA
Posts: 2,491
__________________
SageTV v9 Server: ASRock Z97 Extreme4, Intel i7-4790K @ 4.4Ghz, 32GB RAM, 8x 3TB 7200rpm HD, 2x 5TB 7200rpm HD, 4x 256GB SSD, 4x 500GB SSD, unRAID Pro 6.3.0-rc6 (Dual Parity + SSD Cache).
Capture: 1x Ceton InfiniTV 4 (ClearQAM), 2x Ceton InfiniTV 6, 1x BM1000-HDMI, 1x BM3500-HDMI.

Clients: 1x HD300 (Living Room), 1x HD200 (Master Bedroom).
Software: OpenDCT :: WMC Live TV Tuner :: Schedules Direct EPG
Reply With Quote
  #35  
Old 10-21-2018, 02:56 PM
NetworkGuy NetworkGuy is offline
Sage Expert
 
Join Date: Dec 2009
Location: Central NJ
Posts: 657
__________________
Server: Intel Core i5-3330 CPU @3.00GHz; 8GB (2 x 4GB) PC3-12800 DDR3 1600MHz; 3-1TB WD Blue SATA 6.0Gb/s 64 MB Cache 7200RPM HDD; Windows 7; SageTV 9
Tuner: (2) HDHomeRun Prime
Client: HD300; Onkyo TX-SR607; Sony XBR-65X850D
Client: HD300; Samsung UN46B7000
Client: Nexus Player / Mini-Client; Sony KDL-32L4000
Client: SageTV Placeshifter 7
Client: SageTV Client 9
Reply With Quote
  #36  
Old 10-22-2018, 10:44 AM
wnjj wnjj is offline
Sage Icon
 
Join Date: Jan 2009
Posts: 1,028
I installed 64-bit LAV filters on my test machine and voila, it played an MPEG2 recording (originally from an HDHR source)!

This is without the problem child Sage StrmDeMux.ax filter complied/installed.

So who here can explain how all these decoders, renderers, demuxes, splitters, etc. work? I see all kinds of if/else code for selecting filters mostly based upon media type (naturally) plus registry options to disable at least the Sage stream demux. I've read plenty of generic DirectShow stuff talking about filters/graphs generically so I have some idea but I've never really had a good handle on what pieces (dll's/ax's) do what specifically for SageTV. Are all these custom Sage filters less relevant these days with other options like LAV?

If the StrmDeMux.ax filter isn't strictly needed, all that remains is further testing and getting the installer to deal with 64-bit stuff which I've never dealt with.

What I did to get this running by hand was:

Code:
1. Copy the newly-built 64-bit binaries into a new directory.
2. Copied the STVs & JARs folders and existing sage.jar, sage.properties & RemoteClients.properties.defaults from the 32-bit setup.
3. Hand-edited the paths inside sage.properties to point to the new install area.
4. Ran 'regsrv32.exe' from an elevated command prompt on all of the .ax files in the 'common' directory plus STVEVRPrstr.dll in the main directory.
5. Installed the DX9 redistributables to get the 64-bit versions.

So I then tried connecting an HD200 and nothing showed up but when I checked the server, another client window was sitting there open and had me go through the config menus. So it looks like it rendered it locally instead of at the HD200. It may be something I did wrong since it's been 9 years since I configured a server.


There will be other issues as I only tweaked stuff until some things worked. My test video was one OTA MPEG2 file since that's mostly what I deal with. I did play an mp4 from a camera OK but the progress bar never moved so something's up there. I put a ripped DVD into the video directory but it won't show up in Sage either. Not sure why that is. Maybe some missing Sage component is needed to locate those?

Last edited by wnjj; 10-23-2018 at 12:40 AM.
Reply With Quote
  #37  
Old 10-22-2018, 11:52 AM
MattHelm MattHelm is offline
Sage Icon
 
Join Date: Jun 2005
Location: Chicago, IL
Posts: 1,180
Quote:
Originally Posted by wnjj View Post
So who here can explain how all these decoders, renderers, demuxes, splitters, etc. work?
It's magic. Ask Harry!
__________________
Server #1= AMD A10-5800, 8G RAM, F2A85-M PRO, 12TB, HDHomerun Prime, HDHR, Colossus (Playback - HD-200)
Server #2= AMD X2 3800+, 2G RAM, M2NPV-VM, 2TB, 3x HDHR OTA (Playback - HD-200)
Reply With Quote
  #38  
Old 10-22-2018, 01:01 PM
wnjj wnjj is offline
Sage Icon
 
Join Date: Jan 2009
Posts: 1,028
Answering some of my own questions just a bit by looking in the code. It seems that "MpegDeMux" is used for MPEG2-TS/PS formats, a standard MS filter is used for AVI and then all other DirectShow playback goes through "StrmDeMux".

If StrmDeMux is disabled through the registry setting "Directshow/EnableSageTVStreamDemux" = 0, no filter is used for non-MPEG2/AVI formats. In that case I assume DShow builds a playback graph automatically from whatever it finds installed on the system?
Reply With Quote
  #39  
Old 10-22-2018, 07:06 PM
jusjoken jusjoken is offline
Sage Icon
 
Join Date: Dec 2005
Location: Minneapolis MN
Posts: 2,162
Have you pm'd Narflex to see if he can explain?

BTW: although time is tight i will take on the installer work as i think its important and i SO appreciate you getting us this far. PM me when you want help with that.

k
Reply With Quote
  #40  
Old 10-22-2018, 07:36 PM
wnjj wnjj is offline
Sage Icon
 
Join Date: Jan 2009
Posts: 1,028
Quote:
Originally Posted by jusjoken View Post
Have you pm'd Narflex to see if he can explain?

BTW: although time is tight i will take on the installer work as i think its important and i SO appreciate you getting us this far. PM me when you want help with that.

k
I PM'd him. I was kind of hoping he'd drop by but I'm sure he's a busy guy.

That would be great if you can help with the installer. I know nothing about that but have learned quite a bit about what's needed to run in 64-bit mode, the first of which is the 64-bit DX9 runtimes. I'm not even sure how external dependencies are handled. Does the installer include the 32-bit versions of those binaries today? Just a few DLL's or a whole DX9 install-able package? When I downloaded the DX9 runtimes, I ended up with a .zip file full of .cab files (remember those?). Then the DX9 installer program extracted the DLL's needed (and likely many more not needed ones).
Reply With Quote
Reply

Tags
64bit, vs2017


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
Linux 64bit MiniClient (issues with JTux on 64bit) stuckless SageTV Github Development 23 08-19-2015 12:54 PM
xp 64bit & HVR-2250 vikingisson Hardware Support 13 06-07-2010 10:05 PM
New Build with Sage7 - Win7 or no? 64bit or 32bit? ThePaladinTech SageTV Beta Test Software 6 05-22-2010 09:01 AM
Any advantage to using XP 64bit rdefino General Discussion 4 10-15-2006 01:47 AM
To 64bit or not to 64bit teknubic Hardware Support 19 07-25-2006 10:57 AM


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


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