2

Я пытаюсь составить два видео, и я использую плагин альфа, чтобы сделать белый цвет прозрачным. Для тестирования альфа-плагина я создаю конвейер с помощью 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.

Вы можете скачать тестовые видео здесь:

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

1 ответ1

2

Я проверил ваш подход, он работает лучше, чем вы думаете ... просто обменяйтесь видео наоборот ;-)

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.

Забавная идея Congrats!

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .