Я пытаюсь составить два видео, и я использую плагин альфа, чтобы сделать белый цвет прозрачным. Для тестирования альфа-плагина я создаю конвейер с помощью gst-launch.
Первый тест, который я сделал, был:
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.
и это прекрасно работает! Затем я создал два видео с такими строками:
gst-launch videotestsrc pattern=snow ! ffmpegcolorspace ! theoraenc ! oggmux ! filesink location=snow.ogv
gst-launch videotestsrc pattern=smpte75 ! ffmpegcolorspace ! theoraenc ! oggmux ! filesink location=bars75.ogv
И изменил videotestsrc на filesrc, и он продолжает работать:
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.
Однако, когда я использую видео, которое хочу написать, я не могу сделать белый цвет прозрачным:
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.
Есть идеи, что происходит? Я использую GStreamer 0.10.28.
Вы можете скачать тестовые видео здесь: