Florian Wesch

The 35C3 info beamer setup

Posted Jan 04 2019 by Florian Wesch

<p>As is tradition, I've been running the info screens at the anual 35C3 conference again.</p><p><img class="framed-image" loading="lazy" src="https://cdn.infobeamer.com/s/5c843e/img/35c3-screens.jpg" title="The setup at 35c3" /></p><p><a href="/product/info-beamer-hosted">info-beamer hosted</a>, running on the Raspberry Pi controlled the intermission content in five conference halls. The image above showing the setup was taken by <a href="https://twitter.com/seokai/status/1079385119373381633" rel="external,noopener">seokai</a>.</p><h2 class="doc-header" id="aquickrecapagain">A quick recap, again</h2> <p>I've been running the info-beamer screens on the <a href="https://en.wikipedia.org/wiki/Chaos_Communication_Congress" rel="external,noopener">chaos communication congress</a> for the last seven events. You can read about the two previous installations in <a href="running-the-33c3-info-screens">the 33c3</a> and <a href="running-the-34c3-info-beamer-screens">34c3 blog posts</a>. This year's setup was pretty simple as basically all of its components already existed from earlier installations or as <a href="https://github.com/info-beamer" rel="external,noopener">info-beamer open source projects</a>. Most of the work was getting content and trying to apply the <a href="https://events.ccc.de/congress/2018/wiki/Static:Design" rel="external,noopener">design guidelines</a>.</p><h2 class="doc-header" id="the35c3setup">The 35c3 setup</h2> <p>This year I've been using the <a href="/pkg/4765">Scheduled Player</a> package for all content. So there was almost no custom programming involved this time. All I had to do was create the content on the web dashboard.</p><p><img class="framed-image" loading="lazy" src="https://cdn.infobeamer.com/s/5c843e/img/35c3-config.png" title="The 35c3 room setup" /></p><p>This looks similar to how the setup last year was built: The <a href="/pkg/4765">Scheduled Player</a> package is the top-level package controlling the content. Added as two child packages is a custom twitter package as well as the self service package.</p><p>The twitter package is needed as Twitters API has stupid rate limits making the API pretty useless if you have multiple devices polling it at once. So instead I set up a central poller on a dedicated machine. It pulled tweets and their linked media files, placed them in a publicly reachable url and I just imported this package into the info-beamer service using the <a href="/doc/building-packages#packageinpackagelinkformat">package link mechanism</a>. Every few minutes a cron job would update the tweets and finally trigger a package update using the <a href="/doc/building-packages#webhooks">package specific web hook url</a> from the twitter package detail page.</p><p>The twitter importer basically looked like this:</p><pre class='raw'> #!/bin/sh ./update-tweets /export/twitter &amp;&amp; \ curl https://info-beamer.com/api/v1/package/XXXX/sync/YYYYYYYYYYYYYYYYYY</pre><p>The user content worked pretty similar. I set up a web service at 35c3.infobeamer.com and used a slightly modified version of the <a href="https://github.com/info-beamer/33c3-cms" rel="external,noopener">33c3 CMS</a> I created two years ago. Visitors could log into the CMS using their github account and upload images or short videos.</p><p>Every 5 minutes a <tt>curl</tt> call similar to the above one triggered an import of new content into the info-beamer system which then distributed the files to all Pis. This year more than 100 people uploaded around 220 image and videos. You can fetch all of them in a ZIP file <a href="https://usercontent.infobeamer.com/content-35c3.zip" rel="external,noopener">here</a> (81MB).</p><p>This year I enabled <a href="introducing-peer-to-peer-content-distribution">peer-to-peer support</a> on all Pis and a lot of files were only downloaded once from the internet and transferred among the Pis instead. This saved a lot of bandwidth - not that it really mattered in this case :-)</p><h2 class="doc-header" id="inhousestreaming">In-house streaming</h2> <p>One problem last year was that we didn't have access to the already install TV screens inside the congress center. They run some Windows based digital signage system and we couldn't attach our Pis to the screens directly and were forced to carry around USB sticks with PowerPoint on them. Ugh. Unfortunately this didn't change but we managed to find a somewhat working solution:</p><p>One dedicated Pi was attached to an <a href="https://www.aja.com/products/helo" rel="external,noopener">Helo</a> hardware encoder. The HDMI output of the Pi was converted into an <a href="https://en.wikipedia.org/wiki/HTTP_Live_Streaming" rel="external,noopener">HLS playlist</a>. Their Windows software was able to play such streams. Due to HLS the stream did have quite a delay (10 seconds or so). Additionally some bandwidth limit made the stream a bit sluggish from time to time and their Windows installation had a few update notifications and <a href="https://twitter.com/max_weller/status/1078347856132694017" rel="external,noopener">visitors wondered if info-beamer created them for fun</a>: no, it didn't. Those were real :-)</p><p><img class="framed-image" loading="lazy" src="https://cdn.infobeamer.com/s/5c843e/img/35c3-windows-update.jpg" title="Oh no. Windows updates!" /></p><h2 class="doc-header" id="nextyear">Next year</h2> <p>Next year I'll try to put something more interactive together. In earlier installations I had a <a href="running-the-33c3-info-screens">massive multiplayer pong game</a> running. I think something that allows visitors to waste a bit of time while waiting for the next talk would be nice.</p><p>It would also be great if more screens or projectos in additional locations would show schedule or other useful information. Let's see what we can do 2019.</p>

Read more...


Community comments


info-beamer.com offers the most advanced digital signage platform for the Raspberry Pi. Fully hosted, programmable and easy to use. Learn more...


Get started for free!

Trying out the best digital signage solution for the Raspberry Pi is totally free: Use one device and 1GB of storage completely free of charge. No credit card required.


Follow @infobeamer on twitter to get notified of new blog posts and other related info-beamer news. It's very low traffic so just give it a try.

You can also subscribe to the RSS Feed RSS feed.


Share this post:

Share using Twitter


Questions or comments?
Get in contact!