Изменение яркости конвейера Gstreamer на лету - PullRequest
0 голосов
/ 15 апреля 2020

В настоящее время я пытаюсь создать скрипт Python, который изменяет конвейер gstreamer на лету. Например, можно применить разные значения яркости и увидеть изменения, пока живой эфир продолжает воспроизводиться. В C ( GStreamer Playback Tutorial ) есть учебник, в котором показано, как это сделать. Однако у меня возникают трудности при интерпретации кода урока.

В уроке есть строка, которая создает список каналов:

...
channels = gst_color_balance_list_channels (GST_COLOR_BALANCE (pipeline));
...

Когда я пытаюсь реализовать то же самое строка на Python стороне вот так:

channel_list = GstVideo.ColorBalance.list_channels(pipeline)

Выдает следующую ошибку:

Traceback (most recent call last):
  File "launch_pipeline/pipeline_with_parse_launch.py", line 70, in <module>
    print_current_values(pipeline)
  File "launch_pipeline/pipeline_with_parse_launch.py", line 49, in print_current_values
    channel_list = GstVideo.ColorBalance.list_channels(pipeline)
TypeError: argument self: Expected GstVideo.ColorBalance, but got gi.repository.Gst.Pipeline

Я не понимаю, что я должен делать внутри функции list_channels() это будет делать то же самое, что и gst_color_balance_list_channels (GST_COLOR_BALANCE (pipeline)).

Библиотека Python, которую я сейчас использую: gstreamer- python.

...