WinFuture-Forum.de: Eigene Streamingseite programmieren (Youtube/Twitch) - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
Seite 1 von 1

Eigene Streamingseite programmieren (Youtube/Twitch) Eigene Streamingseite programmieren (Youtube/Twitch)

#1 Mitglied ist offline   psp3004 

  • Gruppe: Mitglieder
  • Beiträge: 2
  • Beigetreten: 19. Juni 17
  • Reputation: 0

geschrieben 19. Juni 2017 - 20:19

Abend,

da ich mich nun schon seit ca. 7 Jahren mit HTML/CSS/PHP/Javascript usw. beschäftige und schon das ein oder andere kleine bis mittelgroße Projekt, auch wenn es meisten nur Privat war, verwirklicht habe, möchte ich nun mein erstes größeres Projekt anfangen. (Welches ruhig ein wenig Zeit in Anspruch nehmen kann/muss).

Und zwar soll es um eine Streamingseite in Richtung Youtube/Twitch gehen.
Vorrangig soll der User einen eigenen Livestream über eine Webcam bzw. alternativ auch über die Kamera eines Smartphones starten können.
Diesen sollen x-beliebige User auch Live ansehen können.

Nun da ich leider keine Ahnung in Sachen Streaming habe (außer natürlich ein einfachen Video welches auf dem Server liegt direkt einzubinden), muss ich auf euch zurück greifen!
Was brauche ich für mein Vorhaben?

Server/Encoder usw.
Wie lasse ich einen User den Stream starten
Wie binde ich den Stream entsprechend ein, wenn ein User diesen sehen möchte


Und dies alles, wenn es geht, erst einmal Opensource

Hoffe ihr könnt mir helfen bei meinen Vorhaben
(Falls dies nicht das Richtige Unterforum ist bitte ich einen Admin, dies ins richtige zu verschieben)

Gruß
0

Anzeige

#2 Mitglied ist offline   Gispelmob 

  • Gruppe: aktive Mitglieder
  • Beiträge: 765
  • Beigetreten: 14. August 15
  • Reputation: 65

geschrieben 19. Juni 2017 - 22:12

Streaming bedeutet erstens viele Bits die gleichzeitig bewegt werden wollen. Dass heisst die Verbindung muss eine hohe Bandbreite haben.

Zweites bedeutet encoden Rechenpower. Der Server braucht also CPU Power und viel RAM. Im Idealfall kann man jedem User einen Teil CPU Power und RAM dynamisch zuordnen. Außerdem ist der richtige Codec ein wichtiger Teil. Die Frage ist also ob man das encoden weglassen kann und nur den Streamingpart nimmt.

Drittens darfst du davon ausgehen das Bandbreite beim Netzwerk und CPU Power beim Server beliebigt nach oben skaliert werden dürfen, je mehr Nutzer den Dienst gleichzeitig nutzen.

Viertens solltes du dir auch über die Rechte und den Datenschutz im klaren sein, wenn die Videos auf dem Server gespeichert bzw. zwischen gespeichert werden und du mit persönlichen Daten der User in Kontakt kommst.

Was die Seite angeht, benötigst du eine Benutzerverwaltung. Außerdem muss die Seite eine mobile und eine Browseransicht haben, die beide gleich gut bedient werden wollen. Außerdem sollte die Seite nicht nur im IE oeder Edge nutzbar sein, sondern in allen gängigen Browsern gleichermaßen funktionieren. Das wären also neben IE und Edge noch FF, Chrome, Opera und Safari und die mobilen Varianten davon wenn du Handys unterstützen willst.

Desweiteren ist die Verschlüsselung mittels SSL nicht zu vergessen. Lets Encrypt sollte für den Anfang reichen. Zum entwickeln reichen aber auch erstmal selbstsignierte Zertifikate.

Schwieriger wird es bei der Anbindung der Hardware. Webcams oder Handycams kann man mit HTML/CSS/PHP/Javascript nicht steuern, da diese Sprachen nicht auf die Systemebene und die Treiber zugreifen können. Da müsste ein anderes Backend her, aber für eine Möglichkeit eines Videouploads reicht es.

Eventuell kann man ja noch was mit HTML5 machen, aber damit habe ich mich noch nicht beschäftigt. Da müsste dann ein anderer weitermachen. :)

Dieser Beitrag wurde von Gispelmob bearbeitet: 19. Juni 2017 - 22:24

0

#3 Mitglied ist offline   RalphS 

  • Gruppe: VIP Mitglieder
  • Beiträge: 7.434
  • Beigetreten: 20. Juli 07
  • Reputation: 820

geschrieben 19. Juni 2017 - 22:44

Ich seh da schon ein bissel ein Problem im Ansatz. "Live" bedeutet Echtzeit und da kommen ja schon die Upstream-Raten der jeweiligen "Aufzeichner" ins Spiel.

Also muß der Keks erst auf einen Server, und sei es nur, um das puffern zu können. Dann ist es aber nicht mehr live.


Und dann sind wir bei den erwähnten Datenmengen, die - bei ausreichend gutem Besuch -- schnell ins Exorbitante gehen. Da muß also der ISP mitspielen. In jedem Fall wird das erwartungsgemäß teuer.


Potentielle Ausnahme: es gibt eine von YT/Twitch bereitgestellte API, die genutzt werden kann. Dann müßte man eine App für die gängigen mobilen Betriebsumgebungen ausrollen, damit die "Clients" das ohne Umwege ans Ziel (YT / Twitch) streamen können. Bandbreite ist bei denen vorhanden; dafür sind sie ja schließlich da. "Live" hängt aber natürlich immer noch von den verfügbaren Bandbreiten am jeweiligen Endgerät ab.


Von einer eigenen, per Internet bereitgestellten Lösung würde ich solange absehen, wie es keinen Geldgeber gibt.
"If you give a man a fish he is hungry again in an hour. If you teach him to catch a fish you do him a good turn."-- Anne Isabella Thackeray Ritchie

Eingefügtes Bild
0

#4 Mitglied ist offline   Gispelmob 

  • Gruppe: aktive Mitglieder
  • Beiträge: 765
  • Beigetreten: 14. August 15
  • Reputation: 65

geschrieben 20. Juni 2017 - 06:33

Er will aber nicht YT/Switch per API nutzen, sondern etwas eigenes aufbauen.

Ich seh da nur den Weg über ein Browserplugin oder eine eigene Software die den Stream aufzeichnet und auf den Server lädt. Wenn es in Echtzeit sein soll, steigen die Anforderungen an Client, Server und vorallem an die Netzwerkanbindung.

Im Grunde genommen kann man nur die Webseite per HTML/CSS/JS (Client) und PHP/SQL (Server) aufbauen. Die Anwendung/App um Streams aufzunehmen muss man dann in z.B. C++ oder ähnlichem schreiben. Insgesamt ist diese Idee ein Projekt für mehrere Personen.
0

#5 Mitglied ist offline   RalphS 

  • Gruppe: VIP Mitglieder
  • Beiträge: 7.434
  • Beigetreten: 20. Juli 07
  • Reputation: 820

geschrieben 20. Juni 2017 - 09:28

Das hab ich schon kapiert, aber alles andere wird unter anderem aus den von Dir genannten Gründen einfach teuer. Daher auch der Hinweis auf den Geldgeber.

Evtl, wenn nicht schon geschehen und das ganze hier untergegangen ist, mal hinsetzen und über den geplanten Einsatzzweck nachdenken.

Denn, angenommen das funktioniert so wie beschrieben: Was soll dann damit gemacht werden? Als Stream wäre das ja unidirektional; als Videochat würde es nichts taugen trotz Echtzeit. Andererseits hat man als "Sender" eben wegen der Live-Eigenschaft keinerlei Korrekturmöglichkeiten; wenn einem die Katze vor laufender Kamera ins Gesicht gekackt hat, dann ist das übertragen und fertig.


Oder anders gesagt, möglicherweise ist das gesetzte Ziel mit (sehr) viel weniger Anforderungen umsetzbar.
"If you give a man a fish he is hungry again in an hour. If you teach him to catch a fish you do him a good turn."-- Anne Isabella Thackeray Ritchie

Eingefügtes Bild
0

#6 Mitglied ist offline   psp3004 

  • Gruppe: Mitglieder
  • Beiträge: 2
  • Beigetreten: 19. Juni 17
  • Reputation: 0

geschrieben 20. Juni 2017 - 12:42

Danke euch erstmal.

Beitrag anzeigenZitat (Gispelmob: 20. Juni 2017 - 06:33)

Ich seh da nur den Weg über ein Browserplugin oder eine eigene Software die den Stream aufzeichnet und auf den Server lädt. Wenn es in Echtzeit sein soll, steigen die Anforderungen an Client, Server und vorallem an die Netzwerkanbindung.

Im Grunde genommen kann man nur die Webseite per HTML/CSS/JS (Client) und PHP/SQL (Server) aufbauen.
Die Anwendung/App um Streams aufzunehmen muss man dann in z.B. C++ oder ähnlichem schreiben. Insgesamt ist diese Idee ein Projekt für mehrere Personen.

Hatte schon über NodeJS und WebRTC nach gedacht da kann man mittels multiPeerconnection eine Verbindung zu mehren Nutzern aufbauen, aber maximal nur 10 Nutzer glaub ich



Beitrag anzeigenZitat (RalphS: 20. Juni 2017 - 09:28)

Evtl, wenn nicht schon geschehen und das ganze hier untergegangen ist, mal hinsetzen und über den geplanten Einsatzzweck nachdenken.

In erster Linie hat bzw. soll das keinen, zu mindesten im Moment, großen Einsatzzweck haben.
Möchte einfach mein Kenntnisse erweitern.
0

Thema verteilen:


Seite 1 von 1

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0