Команда gstreamer для создания (pip) двух видео

Какую команду я должен выполнить в gstreamer, чтобы объединить два видео 320x240 в одно параллельное видео 640x240?

допустим у меня есть video1.avi и video2.avi


person oscarm    schedule 13.10.2010    source источник
comment
Это возможно, и я сделал это, но в прошлый раз, когда я пробовал, результирующая частота кадров была очень неправильной и медленной. Может кто просветит. Удачи.   -  person joeforker    schedule 16.10.2010
comment
Спасибо, любой другой подход, что-нибудь еще, что я могу использовать на стороне сервера для создания/редактирования видео?   -  person oscarm    schedule 16.10.2010


Ответы (1)


плагин videomixer вам в помощь:

gst-launch -v \
filesrc location=video1.avi ! avidemux name=demux1 \
filesrc location=video2.avi ! avidemux name=demux2 \
videomixer name=mix \
        sink_0::xpos=0   sink_0::ypos=0 sink_0::alpha=0 \
        sink_1::xpos=0   sink_1::ypos=0 \
        sink_2::xpos=320 sink_2::ypos=0 \
    ! xvimagesink \
videotestsrc pattern="black" \
    ! video/x-raw-yuv,width=640,height=240 \
    ! mix.sink_0 \
demux1.video_00 \
    ! queue ! decodebin ! ffmpegcolorspace ! videoscale \
    ! video/x-raw-yuv,width=320,height=240 \
    ! mix.sink_1 \
demux2.video_00 \
    ! queue ! decodebin ! ffmpegcolorspace ! videoscale \
    ! video/x-raw-yuv,width=320,height=240 \
    ! mix.sink_2 \
person max taldykin    schedule 30.11.2010
comment
Это хороший ответ. Если вы используете uridecodebin вместо filesrc, как ссылаться на файлы? Нужно ли мне все еще устанавливать имя переменной, если да, то как? - person Dejan; 29.12.2011
comment
Да, думаю, можно обойтись и без name: просто убрать строки с filesrc ... и заменить demuxX.video00 ! queue ! decodebin на urldecodebin. - person max taldykin; 29.12.2011