Ich denke, Sie sollten die Dokumentation von gstreamer ein wenig lesen und lesen, um zu verstehen, wie es funktioniert. GStreamer ist ein Framework zum Erstellen eines Diagramms für die Datenverarbeitung. Sie finden das Handbuch hier: http://gstreamer.freedesktop.org/data/doc/gstreamer/head/manual/html/index.html
Playbin ist ein spezielles Element (eine Ablage) und es wird eine interne Pipeline für Sie zusammengestellt. Playbin macht keine Verbindungspads verfügbar, da es eine vollständige Wiedergabe-Pipeline erstellt. Aus diesem Grund können Sie es nicht mit hlssink verknüpfen.
Sie können andere Elemente verwenden, um eine Pipeline zu erstellen, um Ihre Webm-Eingabe in hlssink umzucodieren. Beispielsweise können Sie uridecodebin verwenden. Hierbei handelt es sich um eine andere Bin, in der automatisch eine Decodierungspipeline für alle von Ihnen verwendeten Medien erstellt wird (vorausgesetzt, Sie haben die richtigen Plugins dafür) ). So etwas wie:
gst-launch-1.0 uridecodebin uri=<youruri> name=decbin ! queue ! videoconvert ! x264enc ! tsmux name=muxer ! hlssink decbin. ! queue ! audioconvert ! faac ! muxer.
Ich habe es nicht getestet, aber so etwas sollte funktionieren, um beispielsweise mit H264 und AAC Ihre Eingabe in mpegts umzuwandeln und die Daten für hlssink zu übergeben.
Verwenden Sie das Tool gst-inspect-1.0, um zu überprüfen, welche Elemente sich auf Ihrem System befinden. Es werden alle Elemente aufgelistet, wenn Sie keine Argumente angeben oder Details zu einem bestimmten Element angeben, wenn Sie ein Element angeben, z.
gst-inspect-1.0 hlsssink
BEARBEITEN: Korrektur der von Ihnen vorgeschlagenen Pipeline in Kommentaren
gst-launch-1.0 uridecodebin uri=file:///home/ubuntu/g-streamer-lively/skyrim.webm name=decbin ! queue ! videoconvert ! x264enc ! mpegtsmux name=muxer ! hlssink max-files=5 playlist-root=10.12.9.3 location=/var/www/html/hlssink decbin. ! queue ! audioconvert ! avenc_aac ! muxer.