Videostreaming

Aus TippvomTibb
Version vom 5. März 2023, 16:59 Uhr von Chris T. Ludwig (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „=Allgemeines= Wie selbstvestaendlich benutzt man Videostreaming von Youtube, Prime, .... Irgendwie werde ich das Gefuehl aber nicht los, sobald die Anforderu…“)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

Allgemeines

Wie selbstvestaendlich benutzt man Videostreaming von Youtube, Prime, ....

Irgendwie werde ich das Gefuehl aber nicht los, sobald die Anforderung zu simpel wird kommen einem nicht geahnte Schwierigkeiten in die Quere. Da spielt der Liebingsplayer eine Video nicht ab, weil der passende Codec nicht lizenziert oder installiert ist, die Latenzen machen das fluessige schauen unmoeglich, die Rechenleistung des Rechners reicht nicht aus um die Anforderungen eines Codec zu bedienen und und und ...

Der Ausloeser fuer diesen Beitrag ist die Moeglichkeit zu schaffen, von einem System geringer Leistung (RasPi,NAO...) mit angeschlossener Kamera, das Videobild ueber eine Netzwerkverbindung moeglichst in einem Browser, oder Viewer-Marke-Eigenbau fluessig anzuzeigen.

Um mich der Sache zu naehern, hier eine Sammlung der ausprobierten Befehle.

Trial and Error

1

gst-launch-1.0 v4l2src device="/dev/video0" ! autovideoconvert ! autovideosink sync=false

Das sync=false am Ende laesst das Video erst fluessig erscheinen.

2

gst-launch-1.0 v4l2src device="/dev/video0" ! videoconvert ! clockoverlay ! x264enc tune=zerolatency ! mpegtsmux ! hlssink playlist-root=http://192.168.178.10/gstreamer/hlstest location=/mnt/SERVER/WWW/gstreamer/hlstest/segment_%05d.ts target-duration=5 max-files=5


Ein HTML5 Player gibt diesen Stream nicht wieder.

Es gibt in HTML5 folgende Einschraenkung, .ts ist da nicht dabei. .mp4 = H.264 + AAC .ogg/.ogv = Theora + Vorbis .webm = VP8 + Vorbis


3

gst-launch-1.0 webmmux name=mux ! filesink location=test.webm            \
  videotestsrc num-buffers=250 ! video/x-raw,framerate=25/1 ! videoconvert ! vp8enc ! queue ! mux.video_0 \
  audiotestsrc samplesperbuffer=44100 num-buffers=10 ! audio/x-raw,rate=44100 ! vorbisenc ! queue ! mux.audio_0