2016-08-10 3 views
0
gst-launch-1.0 filesrc location=subtitleseng.srt ! subparse ! overlay. filesrc location=video.mp4 ! qtdemux ! queue ! theoradec ! ffmpegcolorspace ! subtitleoverlay name=overlay ! xvimagesink 

Setting pipeline to PAUSED ... 
Pipeline is PREROLLING ... 
WARNING: from element /GstPipeline:pipeline0/GstSubtitleOverlay:overlay: Internal GStreamer error: negotiation problem. Please file a bug at http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer. 
Additional debug info: 
gstsubtitleoverlay.c(799): _pad_blocked_cb(): /GstPipeline:pipeline0/GstSubtitleOverlay:overlay: 
Subtitle sink is blocked but we have no subtitle caps 
ERROR: from element /GstPipeline:pipeline0/GstQTDemux:qtdemux0: GStreamer encountered a general stream error. 
Additional debug info: 
qtdemux.c(3891): gst_qtdemux_loop(): /GstPipeline:pipeline0/GstQTDemux:qtdemux0: 
streaming stopped, reason not-linked 
ERROR: pipeline doesn't want to preroll. 
Setting pipeline to NULL ... 
Freeing pipeline ... 

Ich habe sogar versuchtein Video mit Untertiteln (kein Audio) mit gstreamer Pipeline spielen wird mir geben Fehler

gst-launch-1.0 filesrc location=/subtitleseng.srt ! subparse ! input-selector ! sub. filesrc location=video.mp4 ! decodebin ! input-selector ! streamsynchronizer name=sub ! subtitleoverlay name=sub ! xvimagesink 

Setting pipeline to PAUSED ... 
ERROR: Pipeline doesn't want to pause. 
ERROR: from element /GstPipeline:pipeline0/GstFileSrc:filesrc1: Resource not found. 
Additional debug info: 
gstfilesrc.c(508): gst_file_src_start(): /GstPipeline:pipeline0/GstFileSrc:filesrc1: 
No such file "home/usr/Downloads/video.mp4" 
Setting pipeline to NULL ... 
Freeing pipeline ... 

diesen Fehler geben, selbst wenn die Datei vorhanden ist.

bitte helfen Sie mir diese oder Richtungen zu lösen, die mir die gleichen

+0

Bitte räumen Sie Ihre Frage auf - Sie veröffentlichen mehrere sehr ähnliche gst-launch-Pipes (ich meine eins mit Escapezeichen '!' Und eins ohne) - auch sie verwenden unterschiedliche Pfade zu den Dateien - es ist sehr verwirrend. Poste einen gst-launch - eine debug-ausgabe und beschreibe was falsch ist .. die datei ist nicht da - du vermisst/vor heim; auch ich denke du kannst den gst-launch nicht zweimal in den selben befehl eingeben - so geht das nicht (wenn ich die 0.10 verstehe). Eine andere Sache ist - wechseln Sie zu 1.x, 0.10 wird für lange Zeit nicht unterstützt. – nayana

+0

Ich bedauere für die Fehler, die ich beim Posten der Frage gemacht habe $ gst-launch-1.0 filesrc location = subtitelng.srt! Subparse! Eingabeselektor! sub. filesrc Ort = videocartoon.mp4! Dekodebin! Eingabeselektor! Streamsynchronizer Name = Sub! Warteschlange ! Untertitelüberlagerung! xvimagesink – babbu

+0

wie ich bin nicht in der Lage, den Fehler in der gleichen Kommentar wegen der Länge beschränkt. der Fehler der oben genannten ist Einstellung der Pipeline auf PAUSED ... Pipeline ist PREROLLING ... Fehler: von Element/GstPipeline: pipeline0/GstFileSrc: filesrc0: Interner Datenflussfehler. Zusätzliche Debug-Informationen: gstbasesrc.c (2865): gst_base_src_loop():/GstPipeline: pipeline0/GstFileSrc: filesrc0: streaming Aufgabe pausiert, Grund nicht verhandelt (-4) ERROR: Pipeline will nicht preroll. Einstellung Pipeline auf NULL ... Freigeben Pipeline ... – babbu

Antwort

0

Sein für mich so arbeiten tun würde helfen - und ich sehe in der Tat die Untertitel:

gst-launch-1.0 filesrc location=cartoon.mp4 ! decodebin ! video/x-raw ! videoconvert ! subtitleoverlay name=over ! autovideosink filesrc location=subs.srt ! subparse ! over. 

Der Trick war in videoconvert vor subtitleoverlay .. HTH