Alpha-Plugin in GStreamer funktioniert nicht

1395
Miguel Escriva

Ich versuche zwei Videos zusammenzustellen und verwende das Alpha-Plug-In, um die weiße Farbe transparent zu machen. Um das Alpha-Plug-In zu testen, erstelle ich die Pipeline mit gst-launch.

Der erste Test, den ich gemacht habe, war:

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. 

und es funktioniert super! Dann habe ich zwei Videos mit diesen Zeilen erstellt:

gst-launch videotestsrc pattern=snow ! ffmpegcolorspace ! theoraenc ! oggmux ! filesink location=snow.ogv gst-launch videotestsrc pattern=smpte75 ! ffmpegcolorspace ! theoraenc ! oggmux ! filesink location=bars75.ogv 

Und die videotestsrc in eine filesrc geändert und es funktioniert weiter:

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. 

Wenn ich jedoch das Video verwende, das ich komponieren möchte, kann ich die weiße Farbe nicht transparent machen:

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. 

Irgendeine Idee, was passiert? Ich verwende GStreamer 0.10.28.

Sie können die Testvideos hier herunterladen:

http://polimedia.upv.es/pub/gst/gst.zip

2

1 Antwort auf die Frage

2
Andreas

Ich habe dein Vorgehen getestet, es funktioniert besser als du denkst ... tausche einfach die Videos aus ;-)

gst-launch filesrc location=snow.ogv ! decodebin2 ! alpha method=custom target-r=255 target-g=255 target-b=255 angle=10 ! videomixer name=mixer ! ffmpegcolorspace ! autovideosink filesrc location=bars75.ogv ! decodebin2 ! alpha ! mixer. 

Lustige Idee. Glückwunsch!