Estou tentando compor dois vídeos e estou usando o plug-in alfa para tornar a cor branca transparente.
Para testar o plug-in alfa, estou criando o pipeline com o gst-launch.
O primeiro teste que fiz foi:
gst-launch videotestsrc pattern=smpte75 ! alpha method=custom target-r=255 target-g=255 target-b=255 angle=10 ! videomixer name=mixer ! ffmpegcolorspace ! autovideosink videotestsrc pattern=snow ! mixer.
e funciona muito bem! Então eu criei dois vídeos com essas linhas:
gst-launch videotestsrc pattern=snow ! ffmpegcolorspace ! theoraenc ! oggmux ! filesink location=snow.ogv
gst-launch videotestsrc pattern=smpte75 ! ffmpegcolorspace ! theoraenc ! oggmux ! filesink location=bars75.ogv
E alterou as videotestes para um filesrc e continua funcionando:
gst-launch filesrc location=bars75.ogv ! decodebin2 ! alpha method=custom target-r=255 target-g=255 target-b=255 angle=10 ! videomixer name=mixer ! ffmpegcolorspace ! autovideosink filesrc location=snow.ogv ! decodebin2 ! alpha ! mixer.
No entanto, quando uso o vídeo que quero compor, não consigo tornar a cor branca transparente:
gst-launch filesrc location=video.ogv ! decodebin2 ! alpha method=custom target-r=255 target-g=255 target-b=255 angle=10 ! videomixer name=mixer ! ffmpegcolorspace ! autovideosink filesrc location=snow.ogv ! decodebin2 ! alpha ! mixer.
Alguma ideia do que está acontecendo? Estou usando o GStreamer 0.10.28.
Você pode baixar os vídeos de teste aqui:
http://polimedia.upv.es/pub/gst/gst.zip