kivy.lib.gstplayer._gstplayer.GstPlayerException: невозможно создать плейбин на Mac - PullRequest
0 голосов
/ 03 июля 2019

Когда я нажимаю на кнопку, которая вызывает функцию (v_player) для воспроизведения корпоративного видео, я получаю эту ошибку:

Файл "kivy / lib / gstplayer / _gstplayer.pyx", строка 233, в киве.lib.gstplayer._gstplayer.GstPlayer.load kivy.lib.gstplayer._gstplayer.GstPlayerException: Невозможно создать playbin

Я занимаюсь разработкой на Mac (версия Mojave: 10.14.5) с использованием PyCharm (2019.10,1).

Проект Интерпретатор: (Python 3.7) Cython 0.29.7 Kivy 1.10.1 Kivy-Garden 0.1.4
Pygments 2.3.1
сертификат 2019.3.9
chardet 3.0.4
docopt 0.6.2
документирование 0.14
будущее 0.17.1 gstreamer-player 1.1.2
idna 2.8
mutagen 1.42.0 openstep-parser
pbxproj 2.5.1
pip 19.0.3 запросы 2.21.0 setuptools 40.8.0 urllib3 колесо 1.24.2 0.33.1

Я рассмотрел установку, обновил или переустановил пакеты: gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad gst-plugins-ugly

Я также сделал это: (Что сработало, так это удаление 'gstplayer' в моей установке kivy. Где бы вы ни установили kivy, это где-то в 'site-packages / kivy / lib/ gstplayer 'Do rm -R site-packages / kivy / lib / gstplayer Опять же, этот путь должен быть заменен вашим локальным путем установки.

На основе комментариев, приведенных в этом выпуске на сайте kivy github.каталог называется «gstreamer». В моей установке он назывался «gstplayer».) И не работает для меня.

Код Ptyhon:

class Presentation(Screen):

    def v_player(self):
        if App.get_running_app().play == 0:
            App.get_running_app().play = 1
            App.get_running_app().video = Video(source='data/video/video.mp4')
            App.get_running_app().video.state = 'play'
            App.get_running_app().video.allow_stretch = True
            self.add_widget(App.get_running_app().video)
        else:
            App.get_running_app().play = 1

.kv Код:

        FloatLayout:
            ImageButton:
                source: 'data/icons/playback_play_icon48.png'
                size_hint: .5, .5
                pos_hint: {'center_y': 0.50, 'center_x': 0.50}
                on_press: root.v_player()

Я много читал в Google, я переустановилвсе, я пробовал несколько решений, подобных описанным выше, но я не смог решить проблему

Есть идеи?Заранее спасибо


, если я пытаюсь воспроизвести видео с помощью этой команды, я также получаю ошибку:

python3 -m kivy.uix.videoplayer Library/Python/3.7/share/kivy-examples/widgets/cityCC0.mpg 

Я получаю эту ошибку:

[INFO   ] Logger: Record log in /Users/PC/.kivy/logs/kivy_19-07-05_6.txt
[INFO   ] Kivy: v1.10.1
[INFO   ] Python: v3.7.3 (default, Mar 27 2019, 09:23:15) 
[Clang 10.0.1 (clang-1001.0.46.3)]
[INFO   ] Factory: 194 symbols loaded
[INFO   ] Image: Providers: img_tex, img_imageio, img_dds, img_sdl2, img_gif (img_pil, img_ffpyplayer ignored)
[INFO   ] Text: Provider: sdl2
[INFO   ] VideoGstplayer: Using Gstreamer 1.10.4.0
[INFO   ] Video: Provider: gstplayer
[INFO   ] Window: Provider: sdl2
[INFO   ] GL: Using the "OpenGL ES 2" graphics system
[INFO   ] GL: Backend used <gl>
[INFO   ] GL: OpenGL version <b'2.1 INTEL-12.9.22'>
[INFO   ] GL: OpenGL vendor <b'Intel Inc.'>
[INFO   ] GL: OpenGL renderer <b'Intel(R) Iris(TM) Plus Graphics 640'>
[INFO   ] GL: OpenGL parsed version: 2, 1
[INFO   ] GL: Shading version <b'1.20'>
[INFO   ] GL: Texture max size <16384>
[INFO   ] GL: Texture max units <16>
[INFO   ] Window: auto add sdl2 input provider
[INFO   ] Window: virtual keyboard not allowed, single mode, not docked
[INFO   ] GL: NPOT texture support is available
[INFO   ] Base: Start application main loop
[ERROR  ] Image: Error loading texture Library/Python/3.7/share/kivy-examples/widgets/cityCC0.mpg
[INFO   ] Base: Leaving application in progress...
[WARNING] stderr: Traceback (most recent call last):
[WARNING] stderr:   File "/usr/local/Cellar/python/3.7.3/Frameworks/Python.framework/Versions/3.7/lib/python3.7/runpy.py", line 193, in _run_module_as_main
[WARNING] stderr:     "__main__", mod_spec)
[WARNING] stderr:   File "/usr/local/Cellar/python/3.7.3/Frameworks/Python.framework/Versions/3.7/lib/python3.7/runpy.py", line 85, in _run_code
[WARNING] stderr:     exec(code, run_globals)
[WARNING] stderr:   File "/Users/PC/Library/Python/3.7/lib/python/site-packages/kivy/uix/videoplayer.py", line 677, in <module>
[WARNING] stderr:     runTouchApp(player)
[WARNING] stderr:   File "/Users/PC/Library/Python/3.7/lib/python/site-packages/kivy/base.py", line 502, in runTouchApp
[WARNING] stderr:     EventLoop.window.mainloop()
[WARNING] stderr:   File "/Users/PC/Library/Python/3.7/lib/python/site-packages/kivy/core/window/window_sdl2.py", line 727, in mainloop
[WARNING] stderr:     self._mainloop()
[WARNING] stderr:   File "/Users/PCLibrary/Python/3.7/lib/python/site-packages/kivy/core/window/window_sdl2.py", line 460, in _mainloop
[WARNING] stderr:     EventLoop.idle()
[WARNING] stderr:   File "/Users/PC/Library/Python/3.7/lib/python/site-packages/kivy/base.py", line 346, in idle
[WARNING] stderr:     Clock.tick_draw()
[WARNING] stderr:   File "/Users/PC/Library/Python/3.7/lib/python/site-packages/kivy/clock.py", line 588, in tick_draw
[WARNING] stderr:     self._process_events_before_frame()
[WARNING] stderr:   File "kivy/_clock.pyx", line 427, in kivy._clock.CyClockBase._process_events_before_frame
[WARNING] stderr:   File "kivy/_clock.pyx", line 467, in kivy._clock.CyClockBase._process_events_before_frame
[WARNING] stderr:   File "kivy/_clock.pyx", line 465, in kivy._clock.CyClockBase._process_events_before_frame
[WARNING] stderr:   File "kivy/_clock.pyx", line 167, in kivy._clock.ClockEvent.tick
[WARNING] stderr:   File "/Users/PC/Library/Python/3.7/lib/python/site-packages/kivy/uix/video.py", line 183, in _do_video_load
[WARNING] stderr:     self._video = CoreVideo(filename=filename, **self.options)
[WARNING] stderr:   File "/Users/PC/Library/Python/3.7/lib/python/site-packages/kivy/core/video/video_gstplayer.py", line 56, in __init__
[WARNING] stderr:     super(VideoGstplayer, self).__init__(**kwargs)
[WARNING] stderr:   File "/Users/PC/Library/Python/3.7/lib/python/site-packages/kivy/core/video/__init__.py", line 84, in __init__
[WARNING] stderr:     self.filename = kwargs.get('filename')
[WARNING] stderr:   File "/Users/PC/Library/Python/3.7/lib/python/site-packages/kivy/core/video/__init__.py", line 116, in <lambda>
[WARNING] stderr:     lambda self, x: self._set_filename(x),
[WARNING] stderr:   File "/Users/PC/Library/Python/3.7/lib/python/site-packages/kivy/core/video/__init__.py", line 113, in _set_filename
[WARNING] stderr:     self.load()
[WARNING] stderr:   File "/Users/PC/Library/Python/3.7/lib/python/site-packages/kivy/core/video/video_gstplayer.py", line 68, in load
[WARNING] stderr:     self.player.load()
[WARNING] stderr:   File "kivy/lib/gstplayer/_gstplayer.pyx", line 233, in kivy.lib.gstplayer._gstplayer.GstPlayer.load
[WARNING] stderr: kivy.lib.gstplayer._gstplayer.GstPlayerException: Unable to create a playbin

Любая идея?Спасибо ...

Я шаг за шагом отлаживал, и единственная проблема, с которой я столкнулся до того, как ошибка перескочила и зависло в приложении, это:

Объект 'NoneType' не имеет атрибута 'get_duration'

В файле: video_gsplayer.py В свойствах sefl:

duration: = {str} 'Traceback (most recent call last):\n File "/Aplications/PyCharm CE.app/Contents/helpers/pydev/_pydevd_bundle/pydevd_resolver.py", line 178, in _getPyDictionary\n'attr = getattr(var...

Есть идеи?

...