Next LDSTech Broadcast: Digital Media into Meetinghouses

Discuss the feature articles on the LDS Tech Home Page.
User avatar
johnshaw
Senior Member
Posts: 2083
Joined: Fri Jan 19, 2007 1:55 pm
Location: Syracuse, UT

Re: Next LDSTech Broadcast: Digital Media into Meetinghouses

Postby johnshaw » Wed Jan 16, 2013 6:08 am

One note in the conversation. If a purpose-built media streaming device is used (like a Roku) the device does do some adjustment on the fly for the video. As it streams it builds the right amount of cache and can adjust mid-stream based on the flow of traffic. It will adjust the quality of the video to keep up with the stream.

So far, in this scenario, using the clerk computers + Roku, our stake has not run into any significant issues of 'overcrowding' - other than when the Church Wifi was down.
“A long habit of not thinking a thing wrong, gives it a superficial appearance of being right, and raises at first a formidable outcry in defense of custom.”
― Thomas Paine, Common Sense

markjmiller
New Member
Posts: 8
Joined: Thu Oct 25, 2012 12:04 pm

Re: Next LDSTech Broadcast: Digital Media into Meetinghouses

Postby markjmiller » Wed Jan 16, 2013 10:47 am

Glad to hear there is so much interest in my idea. My current plan is to hand the project off to our other stake tech specialist and hopefully the person who replaces me. In which case I could act as a consultant for the two of them.

The intention is to take the current prototype and test it in one of our buildings. If it works well we would do the same for the other buildings as well (we have 3).

As for the Pi's capacity, I haven't done any benchmarking. We didn't want to use any of the clerk computers as they could be turned off accidentally or possibly the streaming could interfere to some degree with the clerk's work or we could unintentionally increase the attack vector on MLS. If for some reason the Pi itself couldn't handle the capacity (USB 2.0, 100 mbs ethernet or disk speed) then we would consider looking into an actual box that would act as a server - maybe a donation or an inexpensive AMD box w/ minimal specs (usb 3.0, 1Gbs, SSD). But the hope was that the Pi would be sufficient and thus keep the costs as low as possible.

The wifi question is a good one and each of our buildings is wired for ethernet as well which could be used when available while smaller classrooms would use wifi. This would free up a USB port on the Pi (there are only 2) which could be made available for a thumb drive w/o the need of a USB expansion device. On that note, I did forget to mention that the wifi usb dongle I was looking at would add $11 to the cost for each of the client devices.

Also, I was thinking placing the file/media server in the same room as the firewall instead of in the clerk's office.

As for the scraping of mormonchannel.org, I agree that we should include other sources such as lds.org as well. I just hadn't added support for it yet. That is another place where help could be added. Currently the source code is in C# (my native language ;)) - I wanted to do Java, but was running out of time to get as much of this completed so I went with what I know. If anyone is interested the source is hosted on github: https://github.com/developmentalmadness/LDSTorrents

russellhltn
Community Administrator
Posts: 25489
Joined: Sat Jan 20, 2007 2:53 pm
Location: U.S.

Re: Next LDSTech Broadcast: Digital Media into Meetinghouses

Postby russellhltn » Wed Jan 16, 2013 11:09 am

JohnShaw wrote:One note in the conversation. If a purpose-built media streaming device is used (like a Roku) the device does do some adjustment on the fly for the video. As it streams it builds the right amount of cache and can adjust mid-stream based on the flow of traffic. It will adjust the quality of the video to keep up with the stream.


The bottleneck is the network communication, not how fast the unit can pump the data out to the TV set. As such, I'm sure what it must be doing is communicating with the server to adjust the stream to a bandwidth that the link can support. Somehow the two are able to adjust to a different quality stream without starting over.

In your setup is the Roku just retrieving a file from a file server, or is the server itself a streaming server?
Have you searched the Wiki?
Try using a Google search by adding "site:tech.lds.org/wiki" to the search criteria.

User avatar
johnshaw
Senior Member
Posts: 2083
Joined: Fri Jan 19, 2007 1:55 pm
Location: Syracuse, UT

Re: Next LDSTech Broadcast: Digital Media into Meetinghouses

Postby johnshaw » Wed Jan 16, 2013 1:48 pm

The Roku adjusts the 'buffering cache' it keeps to provide the quality of the video it is streaming. The ability for the Roku to send a video signal to the TV is a constant, but the network bandwidth it receives is what can fluctuate. If the Roku senses the bandwidth diminish it will adjust the buffering cache to see if it can keep up with the same video quality. If it cannot based on network conditions, it will cut the video stream it sends to the TV (say from 1080p to 720p etc...) but keeps the audio/video streaming without a buffering event. In the extreme case the network congestion interferes, it will drop to a buffering screen and re-adjust the algorithm again. Anyone who has used the Roku with Netflix has seen this in action... Roku talks to the PlexApp Media Server in the same way, except it is not limited by the Internet Bandwidth, instead using the WLAN in the meetinghouse.

In our setup, I have PlexApp Media Server installed and running - The Media Server is transcoding the files (adjusting the actual file and transcoding on the fly to/for the type of client you are connecting from... For Roku you might be getting a different type of stream than an android client, or an ios client, or a windows client (all depends on the codec it supports, etc...)

I've stated elsewhere that in my demo for the Stake Presidency I had:
1. Roku hooked over hdmi to a 32 in TV connected over ethernet
2. Android Phone over wireless
3. Android Tablet over wireless
4. Iphone over wireless
5. ipad over wireless
6. Windows client over wireless

I launched and played the same mormon message (from the PlexApp media server) from each device in succession which meant the files started playing at different times - without a single buffering event during that demo.

We've been through an Auxiliary Training where WML, YM, YW, and Sunday School all demonstrated this solution and used it in their training. We have this implemented in 9 meetinghouses with varring degrees of usage. Some have adopted it right off, some don't quite get it yet.

We have also done Ward/Branch Conferences where this solution was used by stake leaders in 5 different wards/branches in 3 different meetinghouses - all flawless events, and nobody had to fiddle with the device to make it work (other than the wifi outage that happened on 1/6)
“A long habit of not thinking a thing wrong, gives it a superficial appearance of being right, and raises at first a formidable outcry in defense of custom.”

― Thomas Paine, Common Sense

User avatar
johnshaw
Senior Member
Posts: 2083
Joined: Fri Jan 19, 2007 1:55 pm
Location: Syracuse, UT

Re: Next LDSTech Broadcast: Digital Media into Meetinghouses

Postby johnshaw » Wed Jan 16, 2013 1:51 pm

One note - the way the Roku works and many dlna and media servers work there is an auto-discovery when the client launches. When a meetinghouse has 2 different User Zones defined for more IP Addresses - this has harder to adjust for. In the Stake Center I've given the computers we use an IP Address from the Static Pool in both ranges as a work around.
“A long habit of not thinking a thing wrong, gives it a superficial appearance of being right, and raises at first a formidable outcry in defense of custom.”

― Thomas Paine, Common Sense

russellhltn
Community Administrator
Posts: 25489
Joined: Sat Jan 20, 2007 2:53 pm
Location: U.S.

Re: Next LDSTech Broadcast: Digital Media into Meetinghouses

Postby russellhltn » Wed Jan 16, 2013 2:02 pm

JohnShaw wrote:In our setup, I have PlexApp Media Server installed and running - The Media Server is transcoding the files (adjusting the actual file and transcoding on the fly to/for the type of client you are connecting from...


That answers my question. Clearly your server is not just a file server.
Have you searched the Wiki?

Try using a Google search by adding "site:tech.lds.org/wiki" to the search criteria.

rmrichesjr
Community Moderators
Posts: 1749
Joined: Thu Jan 25, 2007 11:32 am
Location: Dundee, Oregon

Re: Next LDSTech Broadcast: Digital Media into Meetinghouses

Postby rmrichesjr » Wed Jan 16, 2013 9:13 pm

JohnShaw wrote:...
In our setup, I have PlexApp Media Server installed and running - The Media Server is transcoding the files (adjusting the actual file and transcoding on the fly to/for the type of client you are connecting from... For Roku you might be getting a different type of stream than an android client, or an ios client, or a windows client (all depends on the codec it supports, etc...)

I've stated elsewhere that in my demo for the Stake Presidency I had:
1. Roku hooked over hdmi to a 32 in TV connected over ethernet
2. Android Phone over wireless
3. Android Tablet over wireless
4. Iphone over wireless
5. ipad over wireless
6. Windows client over wireless

I launched and played the same mormon message (from the PlexApp media server) from each device in succession which meant the files started playing at different times - without a single buffering event during that demo.
...

Has something like the above-described test been done using different pieces of content? With the same source file, even starting at different times, disk caching may be helping in ways it would not for different source files.

... trying to combine elements of both ideas ... Real-time transcoding of several simultaneous streams would require substantial CPU horsepower. A well-chosen desktop machine would suffice. However, that would probably be beyond the capacity of something like a Raspberry-PI.

markjmiller
New Member
Posts: 8
Joined: Thu Oct 25, 2012 12:04 pm

Re: Next LDSTech Broadcast: Digital Media into Meetinghouses

Postby markjmiller » Thu Jan 17, 2013 2:46 am

Not having a depth of knowledge on transcoding it would see to me the Pi is capable of doing the transcoding - but I don't know how much. According to the FAQ has a dedicated GPU and it is capable of BluRay quality playback 40MBits/s. http://www.raspberrypi.org/faqs :
What SoC are you using?
The SoC is a Broadcom BCM2835. This contains an ARM1176JZFS, with floating point, running at 700Mhz, and a Videocore 4 GPU. The GPU is capable of BluRay quality playback, using H.264 at 40MBits/s. It has a fast 3D core accessed using the supplied OpenGL ES2.0 and OpenVG libraries.

How powerful is it?
The GPU provides Open GL ES 2.0, hardware-accelerated OpenVG, and 1080p30 H.264 high-profile decode.

The GPU is capable of 1Gpixel/s, 1.5Gtexel/s or 24 GFLOPs of general purpose compute and features a bunch of texture filtering and DMA infrastructure.

That is, graphics capabilities are roughly equivalent to Xbox 1 level of performance. Overall real world performance is something like a 300MHz Pentium 2, only with much, much swankier graphics.

User avatar
johnshaw
Senior Member
Posts: 2083
Joined: Fri Jan 19, 2007 1:55 pm
Location: Syracuse, UT

Re: Next LDSTech Broadcast: Digital Media into Meetinghouses

Postby johnshaw » Thu Jan 17, 2013 7:23 am

rmrichesjr wrote:... trying to combine elements of both ideas ... Real-time transcoding of several simultaneous streams would require substantial CPU horsepower. A well-chosen desktop machine would suffice. However, that would probably be beyond the capacity of something like a Raspberry-PI.


This has not been my experience, a minimal computer is required for this, even with a user on the desktop working regularly. The example I used in this thread is not the only testing that has been done. (4-5 years with of experience in my home with multiple media servers on lower-end kids computers has been my typical setup)

In my experience most people Assume there needs are much greater than they actually are. I deal with this ever day in my data center where everyone needs multi-core and 8 GB RAM only to find their app is single threaded and never reaches above 1 GB of RAM usage, even during Peak times.... Thank goodness for virtualization, otherwise programmers wold be bankrupting companies all over the country with their hardware specs. :)
“A long habit of not thinking a thing wrong, gives it a superficial appearance of being right, and raises at first a formidable outcry in defense of custom.”

― Thomas Paine, Common Sense

rmrichesjr
Community Moderators
Posts: 1749
Joined: Thu Jan 25, 2007 11:32 am
Location: Dundee, Oregon

Re: Next LDSTech Broadcast: Digital Media into Meetinghouses

Postby rmrichesjr » Thu Jan 17, 2013 6:17 pm

Hmmm, two optimists vs. one pessimist. I'm outnumbered. :-) If the Raspberry PI is indeed capable of real-time transcoding of several simultaneous streams, I'll be happy to join the cheering section. That would be great.

IIRC, I read that the highest numbers published for PI graphics performance require the hardware GPU and/or a specialized non-open-source library. I'd be surprised if the hardware GPU can be task-switched to handle several simultaneous transcoding jobs. Without the GPU, I would think a 300MHz Pentium 2 equivalent might handle one non-trivial transcoding job, maybe two, but probably not several--and that's based on some transcoding runs with a 2.4GHz Pentium 4 that was slower than real-time by 1.5X.

Optimists, if you can demonstrate that a PI can handle several simultaneous real-time transcoding jobs, I'll be happy to introduce a salt shaker to a piece of headware. (IOW: I'll be happy to eat my hat.)


Return to “LDSTech Featured Article Discussions”

Who is online

Users browsing this forum: No registered users and 0 guests