HTTP Live Streaming player

HLS player

HLS-Player Entwicklung

Promwad ODC / DTV verfügt über eine einzigartige Erfahrung in der Entwicklung von Set-Top-Boxen und der Integration von MW- und CAS / DRM-Lösungen. Neben Engineering-Support und Entwicklungsservices für Backend- und Client-Software sowie zugehörige Hardware bieten wir unseren Kunden eine optimierte HLS-Streaming-Lösung.

You get either a final solution or a custom one: depending on your needs, we can quickly deploy any additional functionality in your HTTP Live Streaming player.

Herausforderung

Unser Team arbeitete an einem Projekt, bei dem die Hauptherausforderung darin bestand, Live-TV über das HLS-Protokoll auf der Set-Top-Box der Amlogic S905x-Plattform abzuspielen.

Die Wiedergabe selbst war stabil genug, aber wir stießen auf mehrere Probleme mit zusätzlichen Funktionen. Zum Beispiel funktionierte das zeitversetzte Anzeigen, Wechseln zwischen Audiospuren oder das Suchen des Videos mit verschiedenen Video/Audio-Störungen, die ziemlich irritierend waren.

Unsere Lösung

Wir haben die Player-Implementierung untersucht. Es schien sich um eine modifizierte Kopie des Standard-Nuplayers zu handeln, die in den Ordner /vendor AOSP kopiert und in Am-NuPlayer umbenannt wurde. Der Lösungsanbieter hat es geändert, um einige zusätzliche Funktionen zu unterstützen, aber das Umschalten/Suchen von Audio war nicht gut genug.

Wir haben die Ursache des Problems in dem Modul gefunden, das für das Herunterladen des Inhalts verantwortlich ist, aber seine spezifische Architektur erlaubte keine Verbesserungen. Stattdessen haben wir beschlossen, unsere eigene HLS-Implementierung zu schreiben und an die "Quell" - API anzupassen.

hls player promwad

Architektur der HLS-Bibliothek

 


HLS Download Manager

Die Hauptklasse ist für das Herunterladen und Speichern von Daten verantwortlich. Es speichert Daten auf allen möglichen HLS-Stream-Tracks, öffnet den Track bei Bedarf und startet und koordiniert den Prozess des Herunterladens von Wiedergabelisten und Segmenten aller offenen Tracks. Es ändert auch die Qualität der Wiedergabe.


Medien-Downloader

Media Downloader lädt Daten für eine bestimmte offene Spur herunter. Die Klasse verfügt über zwei Hauptbefehle-updateUrl und downloadNext. Der Mediencontainer kann den Client über neue Daten informieren und direkt nach dem Start eines Downloads an den Client weitergeben. So kann der Client (Player) mit der Wiedergabe beginnen, ohne auf den Download des ersten Segments zu warten.


Mediencontainer

Mediencontainer speichert heruntergeladene Segmente für jede geöffnete Spur. Es hat eine Schnittstelle sowohl für Media Downloader (um die heruntergeladenen Daten zu stapeln) als auch für den Client, um sie mit Daten zu versorgen. Es weist dem Media Downloader Speicher für die heruntergeladenen Daten zu. Es hilft, unnötiges Kopieren von Daten zu vermeiden.

Technologien

HLS, C++, AOSP, AMLogic SDK



Kirill Zut

"Die Projektergebnisse sind ausgezeichnet. Wir haben den HLS-Player in C ++ geschrieben, sodass er plattformunabhängig ist (er kann zumindest unter Desktop-Linux und Android funktionieren) und seine Arbeit gut erledigt. Über das neue HlsSource-Modul kommuniziert der Player mit AmNuplayer und ermöglicht ein schnelles und reibungsloses Umschalten von Audiospuren ohne sichtbare Audio- / Videostörungen. Es kann separate Audiospuren (aus verschiedenen Wiedergabelisten) und integrierte (wenn sich mehrere Audiospuren mit Video im selben Stream befinden) verarbeiten."

— Kirill Zut, Leiter der ODC / DTV-Abteilung bei Promwad

Benötigen Sie ein Angebot für Ihr Engineering-Projekt für die DTV- und Rundfunkbranche?

Bitte schreiben Sie uns eine Nachricht. Wir werden uns heute oder am nächsten Werktag bei Ihnen melden. Alle übermittelten Informationen werden vertraulich behandelt.