transcoding and displaying on screen - help needed

Harry McKame mckameh at wanadoo.fr
Fri Apr 24 02:14:15 PDT 2015


I found my error in building the pipe, and videoconvert is not the solution.

The error is that my pipeline feeds the autovideosink with encoded video, while it needs decoded video to play.
This pipeline works :

gst-launch-1.0.exe
filesrc location="source.avi" ! decodebin name=d
d. ! queue ! audioconvert ! vorbisenc ! queue ! oggmux name=mux ! filesink location="target.ogg"
d. ! tee name=vid
vid. ! queue ! videoconvert ! theoraenc ! queue ! mux.
vid. ! queue ! autovideosink

Kudos to gst-launch for having enough intelligence to analyze that both sinks of the tee are video and so linking it to the video sink of decodebin.

On 23/04/2015 17:23, Harry wrote:
> Using GStreamer 1.4.5 on Windows, I'm trying to both convert and display a video.
> A simplified version of my pipeline is :
>
> gst-launch-1.0.exe
> filesrc location="source.avi" ! decodebin name=d
> d. ! queue ! videoconvert ! theoraenc ! queue ! tee name=vid
> d. ! queue ! audioconvert ! vorbisenc ! queue ! oggmux name=mux ! filesink location="target.ogg"
> vid. ! queue ! mux.
> vid. ! queue ! autovideosink
>
> Gives the errors :
>
> 0:00:00.375605447  8760   08E48280 WARN   GST_PADS gstpad.c:3739:gst_pad_peer_query:<theoraenc0:src> could not send sticky events
> 0:00:00.388582200  8760   0C730850 WARN   multiqueue gstmultiqueue.c:1571:gst_multi_queue_loop:<multiqueue0> error: Internal data stream error.
> 0:00:00.395947098  8760   0C730850 WARN   multiqueue gstmultiqueue.c:1571:gst_multi_queue_loop:<multiqueue0> error: streaming stopped, reason not-negotiated
>
> If I delete the last line of "vid. ! queue ! autovideosink", the transcoding works correctly, but of course there is no screen display.
>
> What am I doing wrong and how can I fix this?



More information about the gstreamer-devel mailing list