user1732245
user1732245

Reputation: 11

Gstreamer compositor using filesrc mp4 file

I'm trying to get used to using the gstreamer compositor. I have this basic boilerplate example working. (Compositing 2 videotestsrc next to each other):

gst-launch-1.0 compositor name=comp \
    sink_0::alpha=1 sink_0::xpos=0 sink_0::ypos=0 \
    sink_1::alpha=0.5 sink_1::xpos=320 sink_1::ypos=0 ! \
    queue2 ! video/x-raw, width=800, height=600 ! videoconvert ! xvimagesink \
    videotestsrc pattern=1 ! "video/x-raw" ! comp.sink_0 \
    videotestsrc pattern=8 ! "video/x-raw" ! comp.sink_1

Then I tried changing one of the video test src to a mp4 file I know that this command line works: gst-launch-1.0 filesrc location=tst.mp4 ! decodebin ! videoconvert ! autovideosink

So I tried combining these two working pipelines

gst-launch-1.0 compositor name=comp \
    sink_0::alpha=1 sink_0::xpos=0 sink_0::ypos=0 \
    sink_1::alpha=0.5 sink_1::xpos=320 sink_1::ypos=0 ! \
    queue2 ! decodebin ! video/x-raw, width=800, height=600 ! videoconvert ! xvimagesink \
    videotestsrc pattern=1 ! "video/x-raw" ! comp.sink_0 \
    filesrc location=tst.mp4 ! "video/x-raw" ! comp.sink_1

When I run this I get an error saying that the filter caps do not complete specify the output format.... output caps are unfixed.

I'm positive this must be a simple syntax error. Does anyone know how to fix my pipeline?

Upvotes: 1

Views: 2548

Answers (1)

Florian Zwoch
Florian Zwoch

Reputation: 7383

No, you need to use most of the elements that made the standalone command line work. E.g.

gst-launch-1.0 compositor name=comp \
    sink_0::alpha=1 sink_0::xpos=0 sink_0::ypos=0 \
    sink_1::alpha=0.5 sink_1::xpos=320 sink_1::ypos=0 ! \
    queue2 ! decodebin ! video/x-raw, width=800, height=600 ! videoconvert ! xvimagesink \
    videotestsrc pattern=1 ! "video/x-raw" ! comp.sink_0 \
    filesrc location=tst.mp4 ! decodebin ! videoconvert ! comp.sink_1

Upvotes: 1

Related Questions