Entwicklung einer Livestreaming- und Video-on-Demand-Komponente für ein Online-Rückenstudio
Bachelorarbeit von Patrick SchnetgerBetreuer: Prof. Dr. Oliver Vornberger
PDF-Version der Arbeit
In der Bachelorarbeit wird die Entwicklung einer Video-Komponente bestehend aus einem Livestreaming- und einem On-demand-Teil für ein Online-Rückenstudio vorgestellt. Dazu mussten entsprechende Voraussetzungen wie Breitbandverfügbarkeiten, unterschiedliche Endgeräte, Betriebssysteme und Browser sowie gängige Streaming-Protokolle und Streaming-Server geprüft werden. Die Livestreaming-Komponente besteht größtenteils aus Open-Source-Komponenten. Als Streaming-Server kommt der C++ RTMP Server zum Einsatz. Dieser unterstützt die Streaming-Protokolle RTMP und RTSP und ermöglicht daher das Streamen zu Android- und Desktop-Geräten. In Kombination mit einem HTML5/Flash-Player (Flowplayer) und dem Flash Media Live Encoder sowie eine Integration der Komponenten in die Ruby-on-Rails Webanwendung wird die Livestreaming-Komponente vervollständigt. Für die Video-on-Demand-Komponente wurde eine kommerzielle Streaming-Lösung favorisiert. Die Amazon Web Services bieten mit ihren Diensten S3 und CloudFront eine stabile, skalierbare, sichere und schnelle Kombination aus Soft- und Hardware an. Über bereitgestellte Schnittstellen wurden die AWS-Dienste in die Webanwendung integriert. Desktop-, IOS- und Android-Geräte können dank der verwendeten Streaming-Protokolle RTMP, RTSP, HDS und HLS mit dem CF-Streaming-Server kommunizieren. Die vorgestellten Lösungen erweisen sich als schnell, sicher und skalierbar.
Der Code der Webanwendung steht in einem privaten Bitbucket Repository zur Verfügung. Ein Zugang kann bei Patrick Schnetger oder Henning Strüber Angefragt werden.
Eine Demo-Anwendung ist unter http://user05502087-1.ny.railshoster.de/ zu finden. Der Zugang ist aus rechtlichen Gründen nicht öffentlich. Ein Zugang kann bei Patrick Schnetger oder Henning Strüber Angefragt werden.
Link zum git-Repository: https://bitbucket.org/hstruebe/backzoom-weirdgoblin
Link zur Demo-Anwendung: http://user05502087-1.ny.railshoster.de/