![]() |
|
Hardware Support Discussions related to using various hardware setups with SageTV products. Anything relating to capture cards, remotes, infrared receivers/transmitters, system compatibility or other hardware related problems or suggestions should be posted here. |
![]() |
|
Thread Tools | Search this Thread | Display Modes |
#1
|
|||
|
|||
Raspberry Pi Based Extender
Having seen several discussions about a Raspberry Pi based extender, I wanted to create a place to talk about it. As a conversation starter, I thought I would post the specs for the HD300, the Raspberry Pi 2 ($40) and the new Raspberry Pi Zero ($5).
HD300
RPI 2($40)
RPI Zero($5)
pcDuino3 Nano($15)
pcDuino8
I keep thinking it would be cool to be able to build an extender for $5 out of the Raspberry Pi Zero, but looking at the pcDuino8, I'm wondering if it makes more sense to just support/buy/help (how) the android effort. Thoughts? Given all the work already done to split the code (easier maintenance) I may just say nevermmind to the idea... but it also means I cant really help (not a java guy, sorry) |
#2
|
||||
|
||||
When dealing with SageTV you'll have hard to getting away from Java... even for the MiniClient piece. The HD300 uses java as well, but there is "native" portion (some of that code is open source). Similar to Android client, since it's written in Java, but the player code is all C.
I think getting video playback on the PI would be problematic, but certainly solvable if you have the C and Media skills. (Kodi runs on PI, so it's all possible, in theory). Personally, I'd be more interested in a SageTV Server on PI than a client. (ie, lightweight server, no transcoding)
__________________
Batch Metadata Tools (User Guides) - SageTV App (Android) - SageTV Plex Channel - My Other Android Apps - sagex-api wrappers - Google+ - Phoenix Renamer Downloads SageTV V9 | Android MiniClient |
#3
|
||||
|
||||
Quote:
If sage had a slightly different architecture, where there was a 'thin server' that could do just the recording, scheduling, and carny, but all UI was handled by full clients only, it would likely work on a small embedded device like that. A PiČ actually would make plenty of sense as a full client, instead of a miniclient, as it'd have the gpu capabilities for accelerated UI rendering and the local RAM to handle caching of images. But yeah, in that arrangement, miniclients and placeshifters would not be possible.
__________________
Buy Fuzzy a beer! (Fuzzy likes beer) unRAID Server: i7-6700, 32GB RAM, Dual 128GB SSD cache and 13TB pool, with SageTVv9, openDCT, Logitech Media Server and Plex Media Server each in Dockers. Sources: HRHR Prime with Charter CableCard. HDHR-US for OTA. Primary Client: HD-300 through XBoxOne in Living Room, Samsung HLT-6189S Other Clients: Mi Box in Master Bedroom, HD-200 in kids room Last edited by Fuzzy; 12-04-2015 at 06:57 AM. |
#4
|
|||
|
|||
Writing up the original post, I'm not sure if I talked myself into or out of, figuring out how to make it work. I was thinking that while new firmware is out of the question, seeing how the firmware worked, and mimicking it might not be that hard.
Presumably the HD300 was running a basic os (linux or similar), device drivers, maybe some java and the mini client. I was thinking that since the Pi and others already run debian, it might not be to bad making them run an extender.... but I'd rather spend my effort where it is best served. If the android port is really working, and I can just get something like the above box for $40, its probably not worth it. I'll just work on the FFMPEG updates/mplayer updates etc. (something in C that I can actually do, vs Java) You guys definitely are spending lots of time on this, any thoughts on which needs more help ffmpeg or mplayer and what needs to be done? For either of these, I'd recommend compartmentalizing any sage specific changes and working on making it so the normal baseline with minimal updates does what sage wants (so it can stay current). It also may be worthwhile to see if those projects might consider some sage options as part of their baseline. |
#5
|
||||
|
||||
Quote:
Quote:
https://github.com/OpenSageTV/mplayer/tree/master If you look at that mplayer project, there is a master branch which is an untouched mplayer, and then a sagetv branch which is the changes that I've managed to apply to mplayer. Something similar needs to be done for the ffmpeg sources. If no one else does it, I'll likely take a stab at it (someday), but, to be honest, it's not my core skillset. Quote:
__________________
Batch Metadata Tools (User Guides) - SageTV App (Android) - SageTV Plex Channel - My Other Android Apps - sagex-api wrappers - Google+ - Phoenix Renamer Downloads SageTV V9 | Android MiniClient |
#6
|
|||
|
|||
Speaking of the mplayer, there may be a change needed in how SageClient calls mplayer. The no audio issue looks to be a possibly forced use of a specific codec. As I noted in the post linked below, I will try to take a look, but if you have an idea where this is and can point me at it, that would be awesome.
Thanks http://forums.sagetv.com/forums/show...&postcount=617 |
#7
|
||||
|
||||
Quote:
- stv:// source. This is a source that pulls the file via Sage's MediaServer protocol (which is a very simple streaming protocol). - on the fly video bitrate changes, controlled via STDIN (used for real time transcoding for placeshifter - only works with MPEG4 in the current version, should be made to work h.264 in any new version) - clean exit command via STDIN I think the only change in mplayer for sagetv was the stv:// source (which since both are a part of avcodec, is just a copy from one project to the other. The only 'improvements' I can think of that'd need to be made along with the update to the newer version, besides the transcoding changing to h.264, would be creating an stv:// output module to go along with the stv:// input module. This is something that could be used for network encoders to send a stream from just about any source to the sagetv server, while transcoding on the fly, and not having to pipe the stream in and out of a separate process like PrimeNetEncoder has to do currently.
__________________
Buy Fuzzy a beer! (Fuzzy likes beer) unRAID Server: i7-6700, 32GB RAM, Dual 128GB SSD cache and 13TB pool, with SageTVv9, openDCT, Logitech Media Server and Plex Media Server each in Dockers. Sources: HRHR Prime with Charter CableCard. HDHR-US for OTA. Primary Client: HD-300 through XBoxOne in Living Room, Samsung HLT-6189S Other Clients: Mi Box in Master Bedroom, HD-200 in kids room |
#8
|
|||
|
|||
A quick tool shout-out. The tool I use for comparing code (Linux/Mac/Windows) is called Beyond Compare. It has an incredibly well implemented folder comparison feature, that then allows you to drill into the files that are different, and the lines. etc. It can ignore unimportant changes (whitespace) etc.
I'm basically pulling the sage ffmpeg / mplayer code and doing a walk through with the official repos to see / validate the differences. I just thought I'd share in case other folks were trying to do similar. http://www.scootersoftware.com/ |
#9
|
||||
|
||||
Yeah, that's not tough to do... the issue is finding what version of the ffmpeg repo the sage modded files were sourced from.
__________________
Buy Fuzzy a beer! (Fuzzy likes beer) unRAID Server: i7-6700, 32GB RAM, Dual 128GB SSD cache and 13TB pool, with SageTVv9, openDCT, Logitech Media Server and Plex Media Server each in Dockers. Sources: HRHR Prime with Charter CableCard. HDHR-US for OTA. Primary Client: HD-300 through XBoxOne in Living Room, Samsung HLT-6189S Other Clients: Mi Box in Master Bedroom, HD-200 in kids room |
#10
|
||||
|
||||
Quote:
The mplayer-sagetv9 has 2 branches as well. The "master" is the original unmodified mplayer, and the "sagetv" branch has the modifications. If you check out both (int different areas, and then run beyond compare, you can then get a decent view of all the changes). I would then use that dual view and find a change and try to figure out how to make the same change in the newest mplayer sources. It's not entirely easy since a lot of changed between the original sagetv mplayer version and the newest. But, the results of those changes are in the "mplayer" repo on OpenSageTV, where the "mplayer" branch is the unmodified newest, and the "sagetv" branch is the changes that I made for the migration. So, you'd need to so something similar for ffmpeg, by finding the closest unmodified version of ffmpeg, and then compare that to the sagetv modified version, and then start migrating changes to a fresh new ffmpeg. I would suggest doing these changes in a git enabled repository so that you can track the changes made and commit them, and then later, we can upgrade ffmpeg, by rebasing the modified repo to the latest ffmpeg (which will then replay your changes).
__________________
Batch Metadata Tools (User Guides) - SageTV App (Android) - SageTV Plex Channel - My Other Android Apps - sagex-api wrappers - Google+ - Phoenix Renamer Downloads SageTV V9 | Android MiniClient |
#11
|
|||
|
|||
Quote:
This is probably behind a v2 of the linux install guide though. I've figured out the firewall commands I needed and I'm going to re-do it having folks use the .deb packages (downloaded for now). As well, I'm going to add in the auto start via init.d (from previous forum posts) and auto PrimeNetEncoder startup. I'm hoping to figure all the bits as command line commands, with the next step either scripting the whole thing, or using some other automated install path. |
#12
|
|||
|
|||
Quote:
I have just bought components for a new Server to run V9 and it is pretty much the most heavyweight server you can get with the latest CPU, Z170 chipset, 16GB of RAM, honkin' fast SSD for the system, etc. My last server gave me a decade or so and I want this one to do the same. I want to make sure it has the capabilities to run Comskip, transcode, etc. My hope is that in the future we will have Sage available for many platforms, especially mobile platforms like Android and iOS, just like Plex, but I am assuming that this may require transcoding in many instances so you want a server that can handle that.
__________________
New Server - Sage9 on unRAID 2xHD-PVR, HDHR for OTA Old Server - Sage7 on Win7Pro-i660CPU with 4.6TB, HD-PVR, HDHR OTA, HVR-1850 OTA Clients - 2xHD-300, 8xHD-200 Extenders, Client+2xPlaceshifter and a WHS which acts as a backup Sage server |
#13
|
||||
|
||||
Quote:
![]()
__________________
Batch Metadata Tools (User Guides) - SageTV App (Android) - SageTV Plex Channel - My Other Android Apps - sagex-api wrappers - Google+ - Phoenix Renamer Downloads SageTV V9 | Android MiniClient |
#14
|
|||
|
|||
I'm in the same camp. I love that I can use Pis to act as Kodi servers. My Sage servers are all pretty weak, but I don't ask them to do much more than capture and save data streams to disks. I've never experimented with add-ons and such. A Pi-based option would be more than adequate for my purposes ...
|
#15
|
|||
|
|||
I just got a few RPi3s to add to my collection of Pi2. I had primarily been using the original Pi and the Pi3 is way, way faster. It would be great to be able to use a Pi as an extender if we can get everything working on ARM hardware.
__________________
New Server - Sage9 on unRAID 2xHD-PVR, HDHR for OTA Old Server - Sage7 on Win7Pro-i660CPU with 4.6TB, HD-PVR, HDHR OTA, HVR-1850 OTA Clients - 2xHD-300, 8xHD-200 Extenders, Client+2xPlaceshifter and a WHS which acts as a backup Sage server |
#16
|
|||
|
|||
How much is really needed for a placeshifter client. I think that is the real question. Stuckless I think is the expert in that camp right now.
__________________
Server: Centos Server 14.04 LTS - 64Bit, VM in XenServer, 2 cores of a Intel i7, 2-4 GB Ram, 8 GB system Disk, 1.8 TB storage, SageTV V9.0.4.232, HDHR Prime x 1 Clients: PC Client x 1, HD-300 x 1, AppleTV x 2, WebClient (phone/tablet) x 3 |
#17
|
||||
|
||||
When I look at the available hardware today, for a placeshifter client, the PI is interesting, but not something that I'd personally tackle.
Getting the UI to work on the PI would be trivial, actually the v9 miniclient jar would probably just work (as long as I included the arm based jogl libraries -- not sure if I strip them out, but if I do, then added them in, is easy). The challenge on any platform is going to be video. Video is not trivial... even for someone as skilled as Jeff. It'll certainly be easier for someone with his skillset, but still not a quick an easy project. You might be able to get the current mplayer to recompile for for ARM, but, your miniclient is still only as good as the mplayer on linux today. For me, Android offers the most benefit. It has a decent Media Player framework, that is getting better, and includes out of the box hardware decoding for mpeg2, h264 and h265. All the challenges that exist today, getting video to work and supporting things like audio passthrough, native output switching, etc, all would still have to be solved in the PI as well. Plus with Android, SageTV running as an App, you get the benefit of easy access to Netflix, YouTube, and just about any other streaming service. The Android platform is far from perfect, but, I think it best MiniClient platform we are going to see. My understanding is that the PI has a native video player (not sure of all the capabilities), but integrating it with the rest of the MiniClient would be a fair amount of work. (just based on what I know from including 3 video libraries into the Android MiniClient) All that being said, I do want to get a PI3 (I tried to buy one, but they are sold out), so that I can play with it. It is an interesting platform, and maybe someone will tackle it as a MiniClient platform. I'm not confident it would be better than a $99 Nexus Player, or even a Chromecast.
__________________
Batch Metadata Tools (User Guides) - SageTV App (Android) - SageTV Plex Channel - My Other Android Apps - sagex-api wrappers - Google+ - Phoenix Renamer Downloads SageTV V9 | Android MiniClient |
![]() |
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
|
|
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
Rasplex - Plex on Raspberry Pi | wayner | General Discussion | 14 | 04-09-2015 12:50 PM |
Raspberry Pi | wayner | Hardware Support | 42 | 04-10-2012 04:06 PM |
Sage recording show based and not channel based? | exclavieor | SageTV Software | 4 | 10-27-2007 09:13 PM |
Intel Q965 express based extender - HD issue | thenuma | Hardware Support | 3 | 09-09-2007 02:41 PM |
Were in the UK are you based? | danward79 | SageTV United Kingdom | 9 | 11-23-2003 10:31 AM |