В настоящее время я пытаюсь создать скрипт 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.