Domanda

I try to make a vector of image that I get to many URI. I have succeeded to display an image with videomixer and uridecodebin plus a videoscale cap.

gst-launch -e videomixer name = mixer \ 
    sink_0::xpos = 0 sink_0::ypos = 0 \
    ! xvimagesink \
    uridecodebin uri=http://www.logotheque.fr/6396-2/logo+RMC+INFO.jpg \
    ! ffmpegcolorspace  ! imagefreeze ! videoscale method = 1 \
    ! video/x-raw-yuv,width=100,height=100 ! queue ! mixer.sink_0.

But when I add the same "uri_Image" on another position in the videomixer with the same videoscale cap :

gst-launch -e videomixer name = mixer \
   sink_0::xpos = 0 sink_0::ypos = 0 \
   sink_1::xpos = 100 sink_1::ypos = 0 \
   ! xvimagesink \
   uridecodebin uri=http://www.logotheque.fr/6396-2/logo+RMC+INFO.jpg
   ! ffmpegcolorspace ! imagefreeze ! videoscale ! \
    video/x-raw-yuv,width=100,height=100 ! queue2 ! mixer.sink_0. \
   uridecodebin uri=http://www.logotheque.fr/6396-2/logo+RMC+INFO.jpg 
   ! ffmpegcolorspace ! imagefreeze ! videoscale ! \
   video/x-raw-yuv,width=100, height=100 ! queue2 ! mixer.sink_1.

I get this error : "videoscale1 : not negotiated gstbasetransform.c(2541): gst_base_transform_handle_buffer (): /GstPipeline:pipeline0/GstVideoScale:videoscale1: "

So I don't understand why this error appears on the second sink, because this is the same process in both cases.

Edit :

I have found a partial solution for those interested.

gst-launch -e videomixer name=mix ! ffmpegcolorspace ! xvimagesink \
    uridecodebin uri=http://www.logotheque.fr/6396-2/logo+RMC+INFO.jpg ! videoscale ! video/x-raw-yuv,width=100,height=100 \
    ! videobox top=0 left=0 ! imagefreeze ! mix. \
    uridecodebin uri=http://upload.wikimedia.org/wikipedia/fr/1/14/Logo_vibration.JPG ! videoscale ! video/x-raw-   yuv,width=100,height=100 \
    ! videobox top=0 left=-100 ! imagefreeze ! mix.

But this solution doesn't work with png files, I don't know why because uridecodebin is an universal decoder... If anybody have an idea...

È stato utile?

Soluzione

ok try this pipeline. With pipeline you can add png file if you need:

gst-launch -e videomixer2 name=mixer sink_0::xpos=0 sink_0::ypos=0 sink_1::xpos=100 sink_1::ypos=0 ! ffmpegcolorspace ! xvimagesink uridecodebin uri=http://www.logotheque.fr/6396-2/logo+RMC+INFO.jpg ! ffmpegcolorspace ! imagefreeze ! videoscale ! "video/x-raw-yuv, format=(fourcc)AYUV, width=100, height=100" ! queue2 ! mixer.sink_0. uridecodebin uri=http://www.logotheque.fr/6396-2/logo+RMC+INFO.jpg ! ffmpegcolorspace ! imagefreeze ! videoscale ! "video/x-raw-yuv, format=(fourcc)AYUV, width=100, height=100" ! queue2 ! mixer.sink_1. -v
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top