kivy.lib.gstplayer._gstplayer.GstPlayerException:无法在Mac上创建Playbin

时间:2019-07-03 09:09:21

标签: python pycharm kivy gstreamer kivy-language

当我单击调用函数(v_player)播放公司视频的按钮时,出现此错误:

在kivy.lib.gstplayer._gstplayer.GstPlayer.load中的文件“ kivy / lib / gstplayer / _gstplayer.pyx”,第233行  kivy.lib.gstplayer._gstplayer.GstPlayerException:无法创建播放箱

我正在使用PyCharm(2019.1.1)在Mac(Mojave版本:10.14.5)上进行开发。

项目解释器:(Python 3.7) Cython 0.29.7 猕猴桃1.10.1 Kivy-Garden 0.1.4
Pygments 2.3.1
认证2019.3.9
chardet 3.0.4
docopt 0.6.2
docutils 0.14
未来0.17.1 gstreamer-player 1.1.2
idna 2.8
诱变剂1.42.0 openstep-parser
pbxproj 2.5.1
点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

我也这样做了: (所做的工作是在我的kivy安装中删除了“ gstplayer”。在您进行kivy安装的地方是“ site-packages / kivy / lib / gstplayer”中的某些位置,请再次执行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...

有什么主意吗?

0 个答案:

没有答案