School network XBMC deployment - how?
#1
I love using XBMC in my home and classroom. It's just such an amazing system. I can hardly believe it's free! I've been using it personally for over a year, and I now want to share it with the other classroom teachers in my school who don't have the technical background that I do. I work for a small school (<250 students), so I do all of the IT work in my spare time after my teaching duties are complete.

Here is my dream configuration:

I've already set up a FreeNAS server at my school which I've tested with XBMC in my classroom. One of the parents has volunteered to rip all of the CD's and VHS tapes in our school's library to a hard drive in this server for easier access. That part works well, so it should be easy to link other computers to this server for content. I believe we're allowed to do this under copyright law, right? As long as we have the physical media on hand and it's for direct educational use, I believe we're good. Regarding Fair Use copyright law, I'm referencing this document and looking under the Video (for viewing) section where it says that making one copy is ok since our viable format is XBMC. http://www.techlearning.com/techlearning..._chart.pdf

I'd like a way to stream and record broadcast tv to the classroom through XBMC through a HDHomeRun or similar device. I've experimented with MediaPortal at home with limited success. I'm open to suggestions on how to do this better. I would love for teachers to be able to record OTA or cable programs and be able to play them back in their classrooms at a convenient time. I'd also like the ability for everyone to watch the same thing at the same time such as a major news event. Teachers need a way to select programs to record. Can this be done in XBMC?

The RSS ticker at the bottom of the default skin would be a great way to make announcements. That's easy enough, but I'm open to suggestions on better ways to keep those RSS feeds current other than editing a XML file in notepad.exe.

Is there a way to force a broadcast event to all XBMC clients? I'm thinking this would be good for morning video announcements.

Thinking about hardware, I use a Matricom GBox MX2 at home. Having a dedicated device like this has its perks, especially for the ~$100 pricetag. We could use hardware IR remote controls and have a universal inventory of them. This would be the easiest for teachers I would think. No need for them to configure anything. It's always on and ready. Teachers also have Windows 7 machines in their classrooms tied to a projector. Thoughts on this?

My MAIN question is how to best deploy and manage the XBMC installations on all of the teacher machines. We have up to 20 classrooms, and I don't have time to update each one individually. We're primarily running Windows 7. I need an easy way for them to install XBMC with my tweaks already included. I also need a way to push updates as needed such as when new versions come out or if I want to tweak settings to fix bugs. Do I have teachers run XBMC on a cloud? I can probably do that on FreeNAS. Do I have them make local installations and have the config files on a cloud? How do I go about allowing XBMC to be configured to specific hardware and IP addresses so we can use Android remote controls on our phones?

We have a gigabit wired network, so bandwidth shouldn't be a problem.

Thank you in advance for your assistance. I'm sure I'd figure it out on my own eventually, but through this group's expertise it'll get done faster, and hopefully other schools can use this discussion for reference. With this stuff, there's usually a half-dozen answers that would work. I'm looking for the best answers.

David Bonner
Reply
#2
(2014-07-21, 19:19)djbonner Wrote: I've already set up a FreeNAS server at my school which I've tested with XBMC in my classroom. One of the parents has volunteered to rip all of the CD's and VHS tapes in our school's library to a hard drive in this server for easier access. That part works well, so it should be easy to link other computers to this server for content. I believe we're allowed to do this under copyright law, right? As long as we have the physical media on hand and it's for direct educational use, I believe we're good. Regarding Fair Use copyright law, I'm referencing this document and looking under the Video (for viewing) section where it says that making one copy is ok since our viable format is XBMC. http://www.techlearning.com/techlearning..._chart.pdf

You had better get a definitive opinion from your legal counsel on that. I work at a college, and I'm not sure our legal counsel would agree with your assessment. There has been some guidance recently from a couple library associations that indicate you can transcode something from physical media to electronic, but you have to have a system in place that will limit the active streams to the number of physical copies you have. Without writing a custom add-on, I don't think there's any way XBMC can do that.

Quote:I'd like a way to stream and record broadcast tv to the classroom through XBMC through a HDHomeRun or similar device. I've experimented with MediaPortal at home with limited success. I'm open to suggestions on how to do this better. I would love for teachers to be able to record OTA or cable programs and be able to play them back in their classrooms at a convenient time. I'd also like the ability for everyone to watch the same thing at the same time such as a major news event. Teachers need a way to select programs to record. Can this be done in XBMC?

You'd have to have a tuner available for every classroom if you want to be able to have every faculty member watching something different at the same time. That could become a tall order. XBMC is really designed as a "single person" (or at least family) tool. I can't imagine how you would organize all that content in XBMC so that teachers could find just their stuff.

Quote:The RSS ticker at the bottom of the default skin would be a great way to make announcements. That's easy enough, but I'm open to suggestions on better ways to keep those RSS feeds current other than editing a XML file in notepad.exe.

Probably the easiest thing to do is get a free account at Wordpress or Blogger or something like that. Then post the announcements there and point XBMC to that feed. The only thing is that those would now be public, so that might be a problem. Your only other choice would be to run something like Wordpress in-house and set it up so that only stuff inside the school can view it.

Quote:Is there a way to force a broadcast event to all XBMC clients? I'm thinking this would be good for morning video announcements.

I don't think so, not without a custom add-on.

Quote:My MAIN question is how to best deploy and manage the XBMC installations on all of the teacher machines. We have up to 20 classrooms, and I don't have time to update each one individually. We're primarily running Windows 7. I need an easy way for them to install XBMC with my tweaks already included. I also need a way to push updates as needed such as when new versions come out or if I want to tweak settings to fix bugs. Do I have teachers run XBMC on a cloud? I can probably do that on FreeNAS. Do I have them make local installations and have the config files on a cloud? How do I go about allowing XBMC to be configured to specific hardware and IP addresses so we can use Android remote controls on our phones?

What you really want is an enterprise patch management system, and that's a pretty major thing to manage. Either that or you need to get really good at Windows scripting. I really appreciate your enthusiasm, but I think you may be getting in over your head.
Reply
#3
I think you'll find (depending where in the world you are) thatthis wouldn't be regarded as legal.

Just think, at the moment each DVD can only be played in one classroom. If it can be played simultaneously in 20 classroms is this fair on the copyright owner, when you would otherwise have to pay for 20 copies? [1]

As far as mass configuration is concerned, you could write a batch file to start xbmc. It downloads the .xbmc/userdata directory from the NAS before starting xbmc. This assumes that each computer is to be configured the same.

[1] Many argue "who cares, copyright owners are asshats anyway". That is one thing in the privacy of your own home, quite another thing in a school/public environment.
If I have helped you or increased your knowledge, click the 'thumbs up' button to give thanks :) (People with less than 20 posts won't see the "thumbs up" button.)
Reply
#4
Specific IP addresses is easy, just configure your router to always assign the same IP to each of the XBMC machines, and give them sensible names like "Room01"
If I have helped you or increased your knowledge, click the 'thumbs up' button to give thanks :) (People with less than 20 posts won't see the "thumbs up" button.)
Reply
#5
(2014-07-22, 06:15)nickr Wrote: Specific IP addresses is easy, just configure your router to always assign the same IP to each of the XBMC machines, and give them sensible names like "Room01"

Thanks. I'm already going to give all of the teacher machines static IP's. That sounds like a good solution.

I suppose I could write a batch file that runs each time XBMC is loaded that copies any new config files from a server. I'll have to figure out the details of how the config files work to make that happen properly. There's probably a better way, but this should work for now.
Reply
#6
You can use path substitution within the advancedsettings.xml file. This will allow you to make alterations to one master instance, and duplicate it across all the clients - eg adding a favourite or removing an addon. See http://wiki.xbmc.org/index.php?title=HOW...ts_of_XBMC for more details.
Learning Linux the hard way !!
Reply
#7
(2014-07-22, 21:06)black_eagle Wrote: You can use path substitution within the advancedsettings.xml file. This will allow you to make alterations to one master instance, and duplicate it across all the clients - eg adding a favourite or removing an addon. See http://wiki.xbmc.org/index.php?title=HOW...ts_of_XBMC for more details.

And likely break addons doing so
Read/follow the forum rules.
For troubleshooting and bug reporting, read this first
Interested in seeing some YouTube videos about Kodi? Go here and subscribe
Reply
#8
For Broadcasting events take a look at http://forum.kodi.tv/showthread.php?pid=1791092 it's a Broadcasting plugin.

The other thing you are looking for if you don't want static IPs is a host name updater. try this windows batch script to start XBMC.

windows batch script and HOST UPDATER . Just save everything below as something.bat just change the NASpath and tempPath to your current settings.
@echo off

SET XBMCpath=C:\Program Files (x86)\XBMC\


SET NASpath=<YOUR SHARED HOST FILE>
SET tempPath=<YOUR LOCAL HOST FILE such as C:\Windows\System32\Drivers\etc\hosts>

REM: This sets computer name and IP address of the local computer.
for /f "delims=[] tokens=2" %%a in ('ping -4 %computername% -n 1 ^| findstr "["') do (set thisip=%%a)

echo HOSTNAME: %computername%
echo LOCAL IP: %thisip%
echo NAS HOST FILE: %NASpath%
echo LOCAL HOST FILE: %tempPath%
echo XBMC Path: %XBMCpath%

REMConfusedearch host file
REM:removes local computer from file by the v parameter
findstr /v %computername% %NASpath% > %tempPath%
echo "search NAS host file and dumps without local host to %tempPath%"


copy /Y %tempPath% %NASpath%
echo "copying clean local host to %NASpath%"


REM:Adds local name and IP
echo.%thisip% %computername% >> %tempPath%
echo "adds current servername back to local host %tempPath%"


copy /Y %tempPath% %NASpath%
echo "copies new IPservername to NAS host file %NASpath%


REM:Starts XBMC
cd %XBMCpath%
XBMC.exe
Reply
#9
For forcing a broadcast event to all XBMC clients. use the file that is generated from the batch above for the IPs and use your web browser to play the file on each.

//Play a single video from file
http://user:pass@xbmcIP:xbmcPort/jsonrpc?request={"jsonrpc":"2.0","id":"1","method":"Player.Open","params":{"item":{"file":"file:///C:/PATH/FILE"}}}

NOTE: Helping with the PATH of a file all slashes must fall to the right. like this /

The only thing left is a loop statement to each IP. for multi broadcasting. but at that point the bandwidth of the disk drive might having problems for multiple streams from the same file all depending on how many clients are viewing the file.
Reply
#10
And assuming each client has the same path to the file...
If I have helped you or increased your knowledge, click the 'thumbs up' button to give thanks :) (People with less than 20 posts won't see the "thumbs up" button.)
Reply
#11
Never even thought to ask this here haha.

I work as a Systems admin in a school district. We broadcast live tv throughout the district using kodi and have since 2013.

It houses our live Broadcasts as well and recorded broadcasts.

As far as DVD's go I made VLC do this with live transcoding so we do not impeed our network. And when main server sees content being broadcasted our end user stations automatically popup with the feed.

A lot of scripting went into this but now that its all done it works perfectly. We use Silicon Dust tuners
Reply
#12
I think it's within fair rights to digitize vhs and rip cds, as long as the intent isn't to facilitate piracy. i don't think it's fair to force schools back to the 80s just because it's technically possible to play the same movie in all classrooms. Of course this would depend on the size of the school and other things. Aaaanyways...

If I was head of the IT department for something like this, I'd probably buy a dozen identical celeron based NUCs with 1 or 2 gb ram and Install/run Linux/openelec from a usb stick. configure it to your liking, and just clone the usb sticks, but change the hostname of each install afterwards.

If you want to use an internal hdd/ssd: use Parted magic and the included clonezilla tool to clone the disk to a network samba server. Then use the same tool to restore the image to the rest of the machines. Then change their respective hostnames.

OE is probably the safe bet here. Automatic upgrades (of stable versions) is available. I'd probably turn that off though, and test an upgrade on an isolated machine first. It's much less tedious to update with a few keypresses in each classroom, than to dick around with upgrading the same number of Windows PCs.
Reply
#13
Our Schools have projectors hooked up with each teacher station. And most have dual monitor with the projector hooked to the second monitor. I push Kodi out using ZENWorks which works wonders for application deployment. Everything is configured on push so no need for our staff to make changes.

As far as DVD's typically in schools you can broadcast them. But only one instance per video at a time. So with my method they put the DVD in anycomputer and select my application that broadcasts it to a central station after transcode and everyone elses pick up the feed from there.
Reply

Logout Mark Read Team Forum Stats Members Help
School network XBMC deployment - how?0