Live-Streaming auf eine Festplatte

Ich bin mir nicht sicher, ob dies der richtige Ort ist, um diese Frage zu stellen (ziemlich technisch), aber ich dachte, ich würde hier anfangen.

Ich interessiere mich für den Aufbau einer Website mit einer Streaming-Video-Funktion. Es ist kein Live-Video, da die Videos erst verfügbar sind, nachdem sie überprüft wurden. Ich möchte jedoch, dass die Videos auf Abruf angezeigt werden können (dh ich möchte nicht, dass es eine Wartezeit gibt, bis sie hochgeladen und codiert werden, wie bei Youtube).

Im Grunde frage ich mich, wie man Videos direkt auf einen Server live streamen kann, damit sie im laufenden Betrieb codiert werden und angesehen werden können, sobald der Stream endet.

Danke für Ihre Hilfe!

Wenn Sie die Python-App youtube-dl ausführen können, können Sie spontan erfassen. Sie müssten nur einen Weg finden, ihm zu sagen, dass er enden soll, und ihm einen aussagekräftigen Namen geben.

Antworten (5)

Wenn Sie bereit sind, Ihren eigenen Server zu erstellen, und über Programmierkenntnisse verfügen, können Sie einen Nginx-Server einrichten, auf dem die RTMP-Erweiterung ausgeführt wird , die ein Live- oder On-Demand-Video erneut streamen kann. Es kann auch Transcodierung nahezu in Echtzeit oder Transcodierung „nach Abschluss der Erfassung“ mit ffmpeg durchführen.

Für das System, das ich einrichte, sende ich Live-Videos mit einem IP-basierten Kamerasystem von mehreren Quellen, die RTMP-Streaming ausführen können, oder wenn ich Desktop-Inhalte wie ein Videospiel aufnehmen möchte, verwende ich OBS , um das Streaming zum Server durchzuführen.Geben Sie hier die Bildbeschreibung ein

Die Website des eigentlichen Benutzers selbst wird von einem auf node.js basierenden System ausgeführt, das Zugriff auf die von der nginx rtmp-Erfassung aufgezeichneten Inhalte hat.

ODER

Sie könnten sich eine vorgefertigte Lösung wie Kaltura ansehen, die sowohl eine Open-Source-Community-Version als auch eine kommerzielle Version hat . Betrachten Sie es als Ihr eigenes YouTube-Server-Setup, das über eine Reihe von Funktionen verfügt, die sofort einsatzbereit sind.Geben Sie hier die Bildbeschreibung ein

Warum sollten die Videos sofort verfügbar sein, wenn sie überprüft werden, bevor sie ohnehin öffentlich zugänglich gemacht werden?

Die Reduzierung der Codierungszeit hängt von der Serverleistung ab, die wiederum vom Geld abhängt. Youtube hat sehr viel Geld, und dennoch dauert die serverseitige Kodierung hochgeladener Videos einige Zeit. Ich bin mir ziemlich sicher, dass sie alles getan haben, um die Wartezeit so weit wie möglich zu verkürzen; Ich glaube nicht, dass man mit begrenzten Ressourcen und Zeit mehr erreichen kann. Die einzige Lösung, die ich sehe, besteht darin, hochgeladene Videos nicht neu zu codieren, wodurch dieses Problem insgesamt behoben wird. Dies eröffnet jedoch weitere Probleme in Bezug auf die Kompatibilität mit verschiedenen Geräten, eine hohe Bandbreitennutzung auf der Besucherseite und wahrscheinlich auch Sicherheitsprobleme.

Sie können sich die Streaming-Dienste von Twitch (die leider immer noch Flash verwenden) und Youtube Live Events ansehen ; Beide sind sehr ausgeklügelte Systeme, daher schlage ich vor, eines davon zu verwenden, anstatt zu versuchen, eine eigene Lösung zu erstellen.

Es gibt Videodienste wie LiveStream und Ustream, die solche Funktionen bieten. Es ist mit Kosten verbunden, aber ihre Gebühren sind nichts im Vergleich zu den Kosten für den Aufbau einer Videoverteilungsfunktion, die über ein paar Freunde und unmittelbare Familie hinausgeht.

YouTube ist besser und kostenlos. Wir haben diese anderen Plattformen kürzlich verlassen und könnten nicht glücklicher sein.

Technisch gesehen könnten Sie ein Netzlaufwerk von einem beliebigen Server Ihrem lokalen Computer zuordnen und dann so etwas wie einen Blackmagic H264 Prorecorder verwenden, um eine Datei live in diesen Ordner zu codieren. Es ist eine fertige mp4-Datei, wenn Sie auf Stopp drücken, und kann sofort angezeigt werden.

Aber das ist der einfache Teil... Wie wird Ihre Website aussehen? Wie wird es funktionieren? Werden Sie automatisierte Routinen haben, um sie zur Überprüfung privat und nach der Überprüfung öffentlich zu machen? Müssen sich die Leute anmelden, um sie zu überprüfen? Es gibt eine Million Fragen im Frontend der Website, die sehr schwer zu konstruieren sind. Aus diesem Grund haben die Leute vorgeschlagen, andere Dienste zu nutzen, die sehr ausgereift sind und deren Zusammenstellung Milliarden gekostet hat.

Das Video in Echtzeit auf den Server zu bringen ist super einfach, der Rest ist schwierig.

Warum streamst du nicht auf YouTube? Das ist kostenlos. Machen Sie Ihren Stream/Ihre „Veranstaltung“ privat. Dann ist es sofort fertig, wenn das „Event“ vorbei ist, weil es keine Wartezeit gibt. Stellen Sie dann diesen eingebetteten Player auf Ihrer Website bereit. Dies ist sehr flexibel und kostenlos (weniger Kamera- und Computerkosten). Kein Grund, einen eigenen Server zu bauen ... Vielleicht irgendwann, aber der YouTube-Dienst wird in der Zwischenzeit einen großartigen Job machen.