Playing videos in PyQt5 will cause interruption problems
-
When I use PyQt5 in Ubuntu22.04 and use play() to play videos, the following problem occurs.
This is my code:
currentrow = self.Fail_case_table.currentRow() #currentcolumn = self.Fail_case_table.currentColumn() num = self.Fail_case_table.item(currentrow,0).text() local_position = os.path.abspath('.') Fail_case_video_path = local_position + self.path + "Video/" + str(num).split(">")[0] + ".mp4" if Video_mode == True: # self.Ui_Print_Fail_Video.show() # self.Ui_Print_Fail_Video.play(Fail_case_video_path) self.VideoPlayer = VideoPlayer() self.VideoPlayer.show() self.VideoPlayer.abrir(Fail_case_video_path)
This is an error message:
QFactoryLoader::QFactoryLoader() checking directory path "/home/yuying/anaconda3/envs/Qt_test/lib/python3.9/site-packages/PyQt5/Qt/plugins/mediaservice" ... QFactoryLoader::QFactoryLoader() looking at "/home/yuying/anaconda3/envs/Qt_test/lib/python3.9/site-packages/PyQt5/Qt/plugins/mediaservice/libgstaudiodecoder.so" Found metadata in lib /home/yuying/anaconda3/envs/Qt_test/lib/python3.9/site-packages/PyQt5/Qt/plugins/mediaservice/libgstaudiodecoder.so, metadata= { "IID": "org.qt-project.qt.mediaserviceproviderfactory/5.0", "MetaData": { "Keys": [ "gstreameraudiodecode" ], "Services": [ "org.qt-project.qt.audiodecode" ] }, "archreq": 0, "className": "QGstreamerAudioDecoderServicePlugin", "debug": false, "version": 330752 } Got keys from plugin meta data ("gstreameraudiodecode") QFactoryLoader::QFactoryLoader() looking at "/home/yuying/anaconda3/envs/Qt_test/lib/python3.9/site-packages/PyQt5/Qt/plugins/mediaservice/libgstcamerabin.so" Found metadata in lib /home/yuying/anaconda3/envs/Qt_test/lib/python3.9/site-packages/PyQt5/Qt/plugins/mediaservice/libgstcamerabin.so, metadata= { "IID": "org.qt-project.qt.mediaserviceproviderfactory/5.0", "MetaData": { "Keys": [ "gstreamercamerabin" ], "Services": [ "org.qt-project.qt.camera" ] }, "archreq": 0, "className": "CameraBinServicePlugin", "debug": false, "version": 330752 } Got keys from plugin meta data ("gstreamercamerabin") QFactoryLoader::QFactoryLoader() looking at "/home/yuying/anaconda3/envs/Qt_test/lib/python3.9/site-packages/PyQt5/Qt/plugins/mediaservice/libgstmediacapture.so" Found metadata in lib /home/yuying/anaconda3/envs/Qt_test/lib/python3.9/site-packages/PyQt5/Qt/plugins/mediaservice/libgstmediacapture.so, metadata= { "IID": "org.qt-project.qt.mediaserviceproviderfactory/5.0", "MetaData": { "Keys": [ "gstreamermediacapture" ], "Services": [ "org.qt-project.qt.audiosource" ] }, "archreq": 0, "className": "QGstreamerCaptureServicePlugin", "debug": false, "version": 330752 } Got keys from plugin meta data ("gstreamermediacapture") QFactoryLoader::QFactoryLoader() looking at "/home/yuying/anaconda3/envs/Qt_test/lib/python3.9/site-packages/PyQt5/Qt/plugins/mediaservice/libgstmediaplayer.so" Found metadata in lib /home/yuying/anaconda3/envs/Qt_test/lib/python3.9/site-packages/PyQt5/Qt/plugins/mediaservice/libgstmediaplayer.so, metadata= { "IID": "org.qt-project.qt.mediaserviceproviderfactory/5.0", "MetaData": { "Keys": [ "gstreamermediaplayer" ], "Services": [ "org.qt-project.qt.mediaplayer" ] }, "archreq": 0, "className": "QGstreamerPlayerServicePlugin", "debug": false, "version": 330752 } Got keys from plugin meta data ("gstreamermediaplayer") QFactoryLoader::QFactoryLoader() checking directory path "/home/yuying/anaconda3/envs/Qt_test/bin/mediaservice" ... loaded library "/home/yuying/anaconda3/envs/Qt_test/lib/python3.9/site-packages/PyQt5/Qt/plugins/mediaservice/libgstmediaplayer.so" QFactoryLoader::QFactoryLoader() checking directory path "/home/yuying/anaconda3/envs/Qt_test/lib/python3.9/site-packages/PyQt5/Qt/plugins/resourcepolicy" ... QFactoryLoader::QFactoryLoader() checking directory path "/home/yuying/anaconda3/envs/Qt_test/bin/resourcepolicy" ... (python:919208): GStreamer-WARNING **: 11:18:09.384: Failed to load plugin '/usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstvaapi.so': /usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstvaapi.so: undefined symbol: gst_gl_display_egl_get_from_native (python:919208): GStreamer-WARNING **: 11:18:09.388: Failed to load plugin '/usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstvaapi.so': /usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstvaapi.so: undefined symbol: gst_gl_display_egl_get_from_native (python:919208): GStreamer-WARNING **: 11:18:09.433: Failed to load plugin '/usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstvaapi.so': /usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstvaapi.so: undefined symbol: gst_gl_display_egl_get_from_native QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called (python:919208): GStreamer-WARNING **: 11:18:15.200: Failed to load plugin '/usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstvaapi.so': /usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstvaapi.so: undefined symbol: gst_gl_display_egl_get_from_native (python:919208): GStreamer-WARNING **: 11:18:15.203: Failed to load plugin '/usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstvaapi.so': /usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstvaapi.so: undefined symbol: gst_gl_display_egl_get_from_native
How to troubleshoot the problem?
-
When I use PyQt5 in Ubuntu22.04 and use play() to play videos, the following problem occurs.
This is my code:
currentrow = self.Fail_case_table.currentRow() #currentcolumn = self.Fail_case_table.currentColumn() num = self.Fail_case_table.item(currentrow,0).text() local_position = os.path.abspath('.') Fail_case_video_path = local_position + self.path + "Video/" + str(num).split(">")[0] + ".mp4" if Video_mode == True: # self.Ui_Print_Fail_Video.show() # self.Ui_Print_Fail_Video.play(Fail_case_video_path) self.VideoPlayer = VideoPlayer() self.VideoPlayer.show() self.VideoPlayer.abrir(Fail_case_video_path)
This is an error message:
QFactoryLoader::QFactoryLoader() checking directory path "/home/yuying/anaconda3/envs/Qt_test/lib/python3.9/site-packages/PyQt5/Qt/plugins/mediaservice" ... QFactoryLoader::QFactoryLoader() looking at "/home/yuying/anaconda3/envs/Qt_test/lib/python3.9/site-packages/PyQt5/Qt/plugins/mediaservice/libgstaudiodecoder.so" Found metadata in lib /home/yuying/anaconda3/envs/Qt_test/lib/python3.9/site-packages/PyQt5/Qt/plugins/mediaservice/libgstaudiodecoder.so, metadata= { "IID": "org.qt-project.qt.mediaserviceproviderfactory/5.0", "MetaData": { "Keys": [ "gstreameraudiodecode" ], "Services": [ "org.qt-project.qt.audiodecode" ] }, "archreq": 0, "className": "QGstreamerAudioDecoderServicePlugin", "debug": false, "version": 330752 } Got keys from plugin meta data ("gstreameraudiodecode") QFactoryLoader::QFactoryLoader() looking at "/home/yuying/anaconda3/envs/Qt_test/lib/python3.9/site-packages/PyQt5/Qt/plugins/mediaservice/libgstcamerabin.so" Found metadata in lib /home/yuying/anaconda3/envs/Qt_test/lib/python3.9/site-packages/PyQt5/Qt/plugins/mediaservice/libgstcamerabin.so, metadata= { "IID": "org.qt-project.qt.mediaserviceproviderfactory/5.0", "MetaData": { "Keys": [ "gstreamercamerabin" ], "Services": [ "org.qt-project.qt.camera" ] }, "archreq": 0, "className": "CameraBinServicePlugin", "debug": false, "version": 330752 } Got keys from plugin meta data ("gstreamercamerabin") QFactoryLoader::QFactoryLoader() looking at "/home/yuying/anaconda3/envs/Qt_test/lib/python3.9/site-packages/PyQt5/Qt/plugins/mediaservice/libgstmediacapture.so" Found metadata in lib /home/yuying/anaconda3/envs/Qt_test/lib/python3.9/site-packages/PyQt5/Qt/plugins/mediaservice/libgstmediacapture.so, metadata= { "IID": "org.qt-project.qt.mediaserviceproviderfactory/5.0", "MetaData": { "Keys": [ "gstreamermediacapture" ], "Services": [ "org.qt-project.qt.audiosource" ] }, "archreq": 0, "className": "QGstreamerCaptureServicePlugin", "debug": false, "version": 330752 } Got keys from plugin meta data ("gstreamermediacapture") QFactoryLoader::QFactoryLoader() looking at "/home/yuying/anaconda3/envs/Qt_test/lib/python3.9/site-packages/PyQt5/Qt/plugins/mediaservice/libgstmediaplayer.so" Found metadata in lib /home/yuying/anaconda3/envs/Qt_test/lib/python3.9/site-packages/PyQt5/Qt/plugins/mediaservice/libgstmediaplayer.so, metadata= { "IID": "org.qt-project.qt.mediaserviceproviderfactory/5.0", "MetaData": { "Keys": [ "gstreamermediaplayer" ], "Services": [ "org.qt-project.qt.mediaplayer" ] }, "archreq": 0, "className": "QGstreamerPlayerServicePlugin", "debug": false, "version": 330752 } Got keys from plugin meta data ("gstreamermediaplayer") QFactoryLoader::QFactoryLoader() checking directory path "/home/yuying/anaconda3/envs/Qt_test/bin/mediaservice" ... loaded library "/home/yuying/anaconda3/envs/Qt_test/lib/python3.9/site-packages/PyQt5/Qt/plugins/mediaservice/libgstmediaplayer.so" QFactoryLoader::QFactoryLoader() checking directory path "/home/yuying/anaconda3/envs/Qt_test/lib/python3.9/site-packages/PyQt5/Qt/plugins/resourcepolicy" ... QFactoryLoader::QFactoryLoader() checking directory path "/home/yuying/anaconda3/envs/Qt_test/bin/resourcepolicy" ... (python:919208): GStreamer-WARNING **: 11:18:09.384: Failed to load plugin '/usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstvaapi.so': /usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstvaapi.so: undefined symbol: gst_gl_display_egl_get_from_native (python:919208): GStreamer-WARNING **: 11:18:09.388: Failed to load plugin '/usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstvaapi.so': /usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstvaapi.so: undefined symbol: gst_gl_display_egl_get_from_native (python:919208): GStreamer-WARNING **: 11:18:09.433: Failed to load plugin '/usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstvaapi.so': /usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstvaapi.so: undefined symbol: gst_gl_display_egl_get_from_native QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called QWidget::paintEngine: Should no longer be called (python:919208): GStreamer-WARNING **: 11:18:15.200: Failed to load plugin '/usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstvaapi.so': /usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstvaapi.so: undefined symbol: gst_gl_display_egl_get_from_native (python:919208): GStreamer-WARNING **: 11:18:15.203: Failed to load plugin '/usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstvaapi.so': /usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstvaapi.so: undefined symbol: gst_gl_display_egl_get_from_native
How to troubleshoot the problem?
-
@Tonyy Read the warning message: vaapi plugin is missing. It is used for GPU acceleration.
sudo apt install gstreamer1.0-vaapiBe aware that vaapi is old and has been replaced by va-api.
@JoeCFD
I use the command
sudo apt install gstreamer1.0-vaapi
The returned message is as followsReading kit list... Done Rebuilding dependencies... Complete Reading status data... Complete gstreamer1.0-vaapi is the latest version (1.20.1-1ubuntu1). 0 upgraded, 0 newly installed, 0 removed, 172 not upgraded.
The message indicates that I am already on the latest version.
My computer does not have a GPU
Will this have any influence? -
@JoeCFD
I use the command
sudo apt install gstreamer1.0-vaapi
The returned message is as followsReading kit list... Done Rebuilding dependencies... Complete Reading status data... Complete gstreamer1.0-vaapi is the latest version (1.20.1-1ubuntu1). 0 upgraded, 0 newly installed, 0 removed, 172 not upgraded.
The message indicates that I am already on the latest version.
My computer does not have a GPU
Will this have any influence?@Tonyy I think Qt5 uses gstreamer playbin to play audio/video although I have not seen the source code of Qt. If GPU is not available, vaapi will not be triggered automatically. Therefore, it is only a warning.
Try this from command line to see if gstreamer works:
gst-launch-1.0 -v playbin uri=file:///fullpath/filenameif gstreamer works, your problem could be Qt issue. Qt5 examples include a video play example and take a look at it.
-
@Tonyy I think Qt5 uses gstreamer playbin to play audio/video although I have not seen the source code of Qt. If GPU is not available, vaapi will not be triggered automatically. Therefore, it is only a warning.
Try this from command line to see if gstreamer works:
gst-launch-1.0 -v playbin uri=file:///fullpath/filenameif gstreamer works, your problem could be Qt issue. Qt5 examples include a video play example and take a look at it.
@JoeCFD
I use the directive:
gst-launch-1.0 -v playbin uri=file:///fullpath/filename
The message received is that the resource cannot be found.Set pipeline status to PAUSED... Error: From /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstFileSrc:source element: Resource not found. Additional debugging information: ../plugins/elements/gstfilesrc.c(536): gst_file_src_start (): /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstFileSrc:source: No such file "/fullpath/filename" Error: Pipeline does not want buffering. Error: from /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstFileSrc:source element: GStreamer error: State switching failed, and some elements cannot display relevant error messages in this failure. Additional debugging information: ../libs/gst/base/gstbasesrc.c(3556): gst_base_src_start (): /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstFileSrc:source: Failed to start Error: Pipeline does not want buffering. Error: From /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstFileSrc:source element: Resource not found. Additional debugging information: ../plugins/elements/gstfilesrc.c(536): gst_file_src_start (): /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstFileSrc:source: No such file "/fullpath/filename" Error: Pipeline does not want buffering. Error: from /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstFileSrc:source element: GStreamer error: State switching failed, and some elements cannot display relevant error messages in this failure. Additional debugging information: ../libs/gst/base/gstbasesrc.c(3556): gst_base_src_start (): /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstFileSrc:source: Failed to start Error: Pipeline does not want buffering. Failed to set pipeline to PAUSED. Set pipeline status to NULL... Release pipeline...
-
@JoeCFD
I use the directive:
gst-launch-1.0 -v playbin uri=file:///fullpath/filename
The message received is that the resource cannot be found.Set pipeline status to PAUSED... Error: From /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstFileSrc:source element: Resource not found. Additional debugging information: ../plugins/elements/gstfilesrc.c(536): gst_file_src_start (): /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstFileSrc:source: No such file "/fullpath/filename" Error: Pipeline does not want buffering. Error: from /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstFileSrc:source element: GStreamer error: State switching failed, and some elements cannot display relevant error messages in this failure. Additional debugging information: ../libs/gst/base/gstbasesrc.c(3556): gst_base_src_start (): /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstFileSrc:source: Failed to start Error: Pipeline does not want buffering. Error: From /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstFileSrc:source element: Resource not found. Additional debugging information: ../plugins/elements/gstfilesrc.c(536): gst_file_src_start (): /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstFileSrc:source: No such file "/fullpath/filename" Error: Pipeline does not want buffering. Error: from /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstFileSrc:source element: GStreamer error: State switching failed, and some elements cannot display relevant error messages in this failure. Additional debugging information: ../libs/gst/base/gstbasesrc.c(3556): gst_base_src_start (): /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstFileSrc:source: Failed to start Error: Pipeline does not want buffering. Failed to set pipeline to PAUSED. Set pipeline status to NULL... Release pipeline...
-
@Tonyy you replace filename with your own video file name and fullpath with the full path of your own video file.
@JoeCFD
gst-launch-1.0 -v playbin uri=file:///fullpath/filename
Here is the message I got:Set pipeline status to PAUSED... Pipeline is buffering... /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0: ring-buffer-max-size = 0 /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0: buffer-size = -1 /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0: buffer-duration = -1 /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0: use-buffering = false /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0: download = false /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0: uri = file:///home/yuying/Desktop/autotest/DBManager/Test/7f73cee2-7858-4e16-b790-f6a1c17cf09a/Video/0.mp4 /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0: connection-speed = 0 /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0: source = "\(GstFileSrc\)\ source" /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstTypeFindElement:typefind.GstPad:src: caps = video/quicktime, variant=(string)iso Error: From /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0 element: Your GStreamer is missing a plugin. Additional debugging information: gsturidecodebin.c(988): no_more_pads_full (): /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0: no suitable plugins found: gstdecodebin2.c(4679): gst_decode_bin_expose (): /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0: no suitable plugins found: Missing decoder: Quicktime (video/quicktime, variant=(string)iso) Error: Pipeline does not want buffering. Error: from /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstTypeFindElement: typefind element: Internal data stream error. Additional debugging information: ../plugins/elements/gsttypefindelement.c(1232): gst_type_find_element_loop (): /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstTypeFindElement:typefind: streaming stopped, reason not-linked (-1) Error: Pipeline does not want buffering. "Quicktime demuxer" element does not exist Set pipeline status to NULL... Release pipeline...
-
@JoeCFD
gst-launch-1.0 -v playbin uri=file:///fullpath/filename
Here is the message I got:Set pipeline status to PAUSED... Pipeline is buffering... /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0: ring-buffer-max-size = 0 /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0: buffer-size = -1 /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0: buffer-duration = -1 /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0: use-buffering = false /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0: download = false /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0: uri = file:///home/yuying/Desktop/autotest/DBManager/Test/7f73cee2-7858-4e16-b790-f6a1c17cf09a/Video/0.mp4 /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0: connection-speed = 0 /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0: source = "\(GstFileSrc\)\ source" /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstTypeFindElement:typefind.GstPad:src: caps = video/quicktime, variant=(string)iso Error: From /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0 element: Your GStreamer is missing a plugin. Additional debugging information: gsturidecodebin.c(988): no_more_pads_full (): /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0: no suitable plugins found: gstdecodebin2.c(4679): gst_decode_bin_expose (): /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0: no suitable plugins found: Missing decoder: Quicktime (video/quicktime, variant=(string)iso) Error: Pipeline does not want buffering. Error: from /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstTypeFindElement: typefind element: Internal data stream error. Additional debugging information: ../plugins/elements/gsttypefindelement.c(1232): gst_type_find_element_loop (): /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstTypeFindElement:typefind: streaming stopped, reason not-linked (-1) Error: Pipeline does not want buffering. "Quicktime demuxer" element does not exist Set pipeline status to NULL... Release pipeline...
-
@Tonyy
try
sudo apt install gstreamer0.10-plugins-goodyou can also use playbin3 like
gst-launch-1.0 -v playbin3 uri=file:///fullpath/filename
playbin3 is better than playbin@JoeCFD
sudo apt install gstreamer0.10-plugins-goodThis is the message I received:
sudo apt install gstreamer0.10-plugins-good [sudo] yuying's password: Reading kit list... Done Rebuilding dependencies... Complete Reading status data... Complete E: Package gstreamer0.10-plugins-good not found E: Couldn't find any package by glob 'gstreamer0.10-plugins-good'
gst-launch-1.0 -v playbin3 uri=file:///fullpath/filename
This is the message I received:gst-launch-1.0 -v playbin3 uri=file:///home/yuying/Desktop/autotest/DBManager/Test/2dd98a96-44cb-47da-a229-58bc426e1b10/Video/0.mp4 Set pipeline status to PAUSED... Pipeline is buffering... /GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0: ring-buffer-max-size = 0 /GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0: buffer-size = -1 /GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0: buffer-duration = -1 /GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0: use-buffering = true /GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0: download = false /GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0: uri = file:///home/yuying/Desktop/autotest/DBManager/Test/2dd98a96-44cb-47da-a229-58bc426e1b10/Video/0.mp4 /GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0: connection-speed = 0 /GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0: source = "\(GstFileSrc\)\ source" /GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstTypeFindElement:typefindelement0.GstPad:src: caps = video/quicktime, variant=(string)iso /GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstTypeFindElement:typefindelement0.GstPad:src: caps = NULL /GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstDecodebin3:decodebin3-0/GstParseBin:parsebin0/GstTypeFindElement:typefind.GstPad:src: caps = video/quicktime, variant=(string)iso "Quicktime demuxer" element does not exist Error: From /GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstDecodebin3:decodebin3-0/GstParseBin:parsebin0 element: Your GStreamer is missing a plugin. Additional debugging information: gstparsebin.c(3488): gst_parse_bin_expose (): /GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstDecodebin3:decodebin3-0/GstParseBin:parsebin0: no suitable plugins found: Missing parser: Quicktime (video/quicktime, variant=(string)iso) Error: Pipeline does not want buffering.