Design and Implementation of a Light Mobile Video Streaming...

Design and Implementation of a Light Mobile Video Streaming Application for Google Android

bachelorsthesis
Peer-to-Peer (P2P) Fernsehen (P2PTV) und Fernsehen für mobile Geräte (Mobile TV) sind vielversprechende Technologien für die Zukunft. Versuche, diese beiden Techniken als Mobile P2PTV zu kombinieren sind Diskussionsgegenstand in wissenschaftlichen Arbeiten. Trotzdem gibt es bis jetzt keine erfolgreichen Implementationen dieser Technik. Diese Arbeit entwirft und implementiert einen hybriden Mobile P2PTV Prototyp für Google Android Geräte. Der Prototyp verbindet sich mit dem P2PTV Netzwerk LiveShift, welches an der Universität Zürich entwickelt wurde. Der Prototyp ist kein vollwertiger Teilnehmer des P2P Netzwerks, verbindet sich aber mit einem teilnehmenden Peer und kann von diesem das Video Signal herunterladen. Indem er den LiveShift Peer fernsteuert, kann er die gleichen Funktionen nutzen wie ein selber teilnehmender Peer. Das Ziel ist, eine Client Applikation für Google Android zu entwickeln, welche sich mit einem laufenden LiveShift Programm verbinden kann. Bei bestehender Verbindung kann der Client LiveShift kontrollieren und Videokanäle aus dem LiveShift Netzwerk empfangen. Als zusätzliche Aufgabe soll ein übertragungsprotokoll entwickelt werden, welches für die Kommunikation zwischen LiveShift und dem Client benutzt wird. Das Design unterteilt die Problembearbeitung in die Teile LiveShift, übertragungsprotokoll und Client. Während der LiveShift Teil auf der bestehenden Applikation aufbaut, wird der Client komplett neu entwickelt. LiveShift wird um eine Kommunikationsschnittstelle für mobile Clients erweitert, welche Nachrichten empfangen und behandeln kann. Das übertragunsprotokoll ist verantwortlich für die übermittlung der Nachrichten und definiert, wie diese beim Empfang behandelt werden müssen. Der Client bietet bei bestehender Verbindung die Funktionalität des Anschauens von Kanälen aus dem LiveShift Netzwerk und kann es fernsteuern. Für die Implementation der Applikationen wurde Java benutzt. Der Client wurde basierend auf dem Android Java-Framework programmiert. Nicht alle gesteckten Ziel konnten erreicht werden. Die EPG Funktionalität funktioniert eingeschränkt, da keine Detail-Informationen für ausgestrahlte Programme angezeigt werden können. Das übertragunsprotokoll ist erfolgreich implementiert und LiveShift kann vom Client ferngesteuert werden, aber das Anzeigen von LiveShift Kanälen auf dem Client funktioniert nicht. Das Android Gerät kann die Video Daten nicht dekodieren und erfolgreich anzeigen. Dieses ungelöste Problem könnte in weiteren Arbeiten in der Zukunt angegangen werden.
Lukas Keller
Television via peer-to-peer (P2P) networks (P2PTV) and television on mobile devices (Mobile TV) are promising technologies for the future. Attempts to combine the two techniques into Mobile P2PTV are discussed in scientific papers, but no real implementations have been successfully completed. This work designs and implements a hybrid Mobile P2PTV prototype for devices running on Google Android. The prototype connects to the P2PTV application LiveShift, developed at the University of Zurich. The prototype does not participate in the P2P network himself, but connects to a participating peer and retrieves the video data from there. It is able to perform the same functions as the peer is able to perform by remote controlling the peer. The goal is to develop a client for a Google Android phone that can connect to a running LiveShift application and control it for the reception and displaying of video channels. The client should also be able to fetch an electronic program guide. A transmission protocol should also be designed that is used to remote control the LiveShift instance. The design proposes to split the problem in a LiveShift, a client and a transmission protocol part. While the LiveShift part provides a general communication interface and the logic to receive and process messages from the client, the transmission protocol is responsible for transmitting the messages and defining how LiveShift has to react on receipt. The client provides the function to watch all LiveShift channels while it is connected to a running LiveShift instance. The client can remote control LiveShift to perform the same actions as LiveShift can. The implementation is done in Java. For the client application the Android Java framework is used. Not all aimed goals have been achieved. The EPG function is working, but cannot display program details. The transmission protocol is implemented successfully and controlling LiveShift remotely works, but the display of video channels from the LiveShift network is not possible. The Android device cannot decode and display the received video data successfully. This unsolved problem can be investigated in future work on this topic.
Design and Implementation of a Light Mobile Video Streaming Application for Google Android
2009
October
University of Zurich
csg