2017-01-06 2 views
1

Ich versuche, Audio und Video über Gstreamer über UDP zu streamen, aber die Wiedergabe auf VLC gibt nur Video ohne Audio zurück. Momentan verwende ich ein Sample von Big Buck Bunny und habe bestätigt, dass es Audio hat. Ich plane, Snowmix zu verwenden, um Medien zu Gstreamer-Ausgabe in der Zukunft einzuziehen.GStreamer Stream Audio und Video über UDP auf VLC

Streaming von der Dateiquelle über UDP auf VLC, um die Wiedergabe Ich fahre zur Zeit von:

gst-launch-1.0 -v uridecodebin uri=file:///home/me/files/Snowmix-0.5.1/test/big_buck_bunny_720p_H264_AAC_25fps_3400K.MP4 ! queue ! videoconvert ! x264enc ! mpegtsmux ! queue ! udpsink host=230.0.0.1 port=4012 sync=true 

, die ich einen Netzwerk-Stream in VLC auf meinem Windows-Rechner Pakete zu empfangen und nur Video spielt öffnen kann.

Was vermisse ich von meinem Befehl?

+0

Sie erhalten einfach keinen Audio-Stream von 'uridecodebin', und übergeben Sie ihn nicht an' mpegtsmux'. Ich werde versuchen, die Pipeline, die ich für die gleiche Aufgabe verwende, ein wenig später zu finden, wenn ich auf meiner Linux-Box bin. – RSATom

+0

Es schien, als wäre "mpegtsmux" die Magie, die es VLC erlaubte zu verstehen, was aus dem Stream kam, nicht wahr? – Shiri

+0

'mpegtsmux' ist Sache, die mpeg-ts Stream auf Ausgabe. https://en.wikipedia.org/wiki/MPEG_transport_stream – RSATom

Antwort

2

Wie in RSATom bereits erwähnt, fehlt das Audio in der Pipeline.

Die richtige Pipeline für Video und Audio ist die nächste (mit der gleichen Eingabedatei getestet):

gst-launch-1.0 -v uridecodebin name=uridec uri=file:///home/usuario/Desktop/map/big_buck_bunny_720p_H264_AAC_25fps_3400K.MP4 ! queue ! videoconvert ! x264enc ! video/x-h264 ! mpegtsmux name=mux ! queue ! udpsink host=127.0.0.1 port=5014 sync=true uridec. ! audioconvert ! voaacenc ! audio/mpeg ! queue ! mux. 

Denken Sie daran, dass Sie in diesem Fall sind Umcodierung all Inhalte aus der Quellvideodatei, Das bedeutet hohe CPU-Auslastung. Eine andere Option wäre, den Inhalt von der Eingabedatei und dem Mux erneut ohne Codierung zu demuxen (unter Verwendung von h264parse und aacparse).

Verwandte Themen