Python GStreamer CRITICAL**:gst\u元素\u make\u from\u uri:assertion'gst\u uri\u is\u valid(uri)'失败

Python GStreamer CRITICAL**:gst\u元素\u make\u from\u uri:assertion'gst\u uri\u is\u valid(uri)'失败,python,opencv,gstreamer,opencv3.1,Python,Opencv,Gstreamer,Opencv3.1,我在Ubuntu 16.04中使用Python中的OpenCV 3.1。我可以运行这个罚款为大量的视频,但在这个特定的视频它失败了。我使用XVID作为编码。URI似乎是正确的,所以我在这里不知所措 下面是完整的错误,我知道可能需要一些上下文,但为文件提供的路径是正确的。我试着按照其他答案的建议在结尾加一个空格,但没有成功 (240, 320, 3) Converting all images into a video... v_HandStandPushups_g01_c01 ['', 'med

我在Ubuntu 16.04中使用Python中的OpenCV 3.1。我可以运行这个罚款为大量的视频,但在这个特定的视频它失败了。我使用XVID作为编码。URI似乎是正确的,所以我在这里不知所措

下面是完整的错误,我知道可能需要一些上下文,但为文件提供的路径是正确的。我试着按照其他答案的建议在结尾加一个空格,但没有成功

(240, 320, 3)
Converting all images into a video...
v_HandStandPushups_g01_c01
['', 'media', 'pedro', 'actv3', 'UCF101', 'videos', 'HandstandPushups']
Height: 224 Width: 224 FPS: 25.0
/media/pedro/actv3/UCF101/pose/HandstandPushups/v_HandStandPushups_g01_c01_pose.avi
/media/pedro/actv3/UCF101/pose/HandstandPushups/v_HandStandPushups_g01_c01_joints.npy

(python:1923): GStreamer-CRITICAL **: gst_element_make_from_uri: assertion 'gst_uri_is_valid (uri)' failed
GStreamer Plugin: Embedded video playback halted; module filesink0 reported: Could not open file "/media/pedro/actv3/UCF101/pose/HandstandPushups/v_HandStandPushups_g01_c01_pose.avi" for writing.
GStreamer Plugin: Embedded video playback halted; module filesink0 reported: GStreamer error: state change failed and some element failed to post a proper error message with the reason for the failure.
OpenCV Error: Unspecified error (GStreamer: cannot put pipeline to play
) in CvVideoWriter_GStreamer::open, file /home/pedro/opencv/modules/videoio/src/cap_gstreamer.cpp, line 1530
Traceback (most recent call last):
  File "process_video.py", line 133, in <module>
    main()
  File "process_video.py", line 130, in main
    _process_dataset()
  File "process_video.py", line 119, in _process_dataset
    computePose(videos)
  File "process_video.py", line 101, in computePose
    video = cv2.VideoWriter(poseimg_output_name, fourcc, vidcap.get(cv2.CAP_PROP_FPS), (width,height), True)
cv2.error: /home/pedro/opencv/modules/videoio/src/cap_gstreamer.cpp:1530: error: (-2) GStreamer: cannot put pipeline to play
 in function CvVideoWriter_GStreamer::open

编辑:解决方案是我正在向一个不存在的文件夹写入内容。仔细检查你的路径,它们区分大小写。

不能写的是抱怨。 GStreamer插件:嵌入式视频播放暂停;模块文件INK0报告:无法打开文件/media/pedro/actv3/UCF101/pose/handstandpusups/v_handstandpusups_g01_c01_pose.avi进行写入。

您确定它具有写入属性吗

无论如何,当我看到断言失败时,我使用GDB来更好地理解失败:

GST_DEBUG=4 G_DEBUG=致命关键gdb-ex run-args应用程序
不会写字的人是在抱怨。 GStreamer插件:嵌入式视频播放暂停;模块文件INK0报告:无法打开文件/media/pedro/actv3/UCF101/pose/handstandpusups/v_handstandpusups_g01_c01_pose.avi进行写入。

您确定它具有写入属性吗

无论如何,当我看到断言失败时,我使用GDB来更好地理解失败:

GST_DEBUG=4 G_DEBUG=致命关键gdb-ex run-args应用程序

我在整个父文件夹上尝试了chmod-R 777,但仍然无法工作。父文件夹中的其他文件夹也可以工作,只是这个特定的视频。我不太熟悉在Python中使用GDB,但我会尝试一下。我发现了错误。基本上,我是从一个包含所有类名的.txt文件创建文件夹的。其中一个名称是它创建的倒立俯卧撑,但视频所在文件夹的名称是倒立俯卧撑。提供数据集的人员出现了一个小错误:。尽管如此,我还是会认为你的答案是正确的,非常感谢!!我在整个父文件夹上尝试了chmod-r777,但仍然不起作用。父文件夹中的其他文件夹也可以工作,只是这个特定的视频。我不太熟悉在Python中使用GDB,但我会尝试一下。我发现了错误。基本上,我是从一个包含所有类名的.txt文件创建文件夹的。其中一个名称是它创建的倒立俯卧撑,但视频所在文件夹的名称是倒立俯卧撑。提供数据集的人员出现了一个小错误:。尽管如此,我还是会认为你的答案是正确的,非常感谢!!