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