GStreamer的错误和警告会破坏我的输出吗



我使用Python3脚本将视频片段(.mp4)拆分为帧(.png图像)。为此,我使用了opencv(cv2)方法。

import cv2
import os
dataset_folder = 'Video-dataset/'
save_path = 'Video-dataset-images/'
if not os.path.exists(save_path):
os.mkdir(save_path)
videos_list = os.listdir(dataset_folder)
video_ids = [re.findall("[0-9_]*", video)[0] for video in videos]
for video in video_ids:
video_path = dataset_folder + video + ".mp4"
save_name = save_path + video
cap = cv2.VideoCapture(video_path)
fps = int(cap.get(cv2.CAP_PROP_FRAME_COUNT))
fps_count = 0
for i in range(fps):
ret, frame = cap.read()
if ret:
cv2.imwrite(save_name+str(10000+fps_count)+'.png', frame)
fps_count += 1

我将实际的视频片段分割成图像,但我也从脚本中得到了以下回声:

〔信息:0〕视频:已启用后端(7,按优先级排序):FFMPEG(1000);GSTREAMER(990);V4L2(980);CV_IMAGES(970);CV_MJPEG(960);火线(950);GPHOTO2(940)

(蟒蛇3.6:12757):G流媒体关键**:13:40:56.545:gst_element_make_from_uri:断言"gst_uri_is_valid(uri)"失败GStreamer:打开bin时出错:没有元素"视频数据集">

(蟒蛇3.6:12757):G流媒体关键**:13:40:56.545:gst_element_get_state:断言"gst_IS_EELEMENT(element)"失败[警告:0]VideoCapture(文件名=视频数据集/01.mp4)在没有支持请求的后端ID=300

(蟒蛇3.6:12757):G流媒体关键**:13:41:18.943:gst_element_make_from_uri:断言"gst_uri_is_valid(uri)"失败GStreamer:打开bin时出错:没有元素"视频数据集">

(蟒蛇3.6:12757):G流媒体关键**:13:41:18.943:gst_element_get_state:断言"gst_IS_EELEMENT(element)"失败[警告:0]VideoCapture(文件名=视频数据集/03.mp4)在没有支持请求的后端ID=300

(蟒蛇3.6:12757):G流媒体关键**:13:41:19.331:gst_element_make_from_uri:断言"gst_uri_is_valid(uri)"失败GStreamer:打开bin时出错:没有元素"视频数据集">

(蟒蛇3.6:12757):G流媒体关键**:13:41:19.331:gst_element_get_state:断言"gst_IS_EELEMENT(element)"失败[警告:0]VideoCapture(文件名=视频数据集/10.mp4)在没有支持请求的后端ID=300

(蟒蛇3.6:12757):G流媒体关键**:13:41:25.879:gst_element_make_from_uri:断言"gst_uri_is_valid(uri)"失败GStreamer:打开bin时出错:没有元素"视频数据集">

(蟒蛇3.6:12757):G流媒体关键**:13:41:25.879:gst_element_get_state:断言"gst_IS_EELEMENT(element)"失败[警告:0]VideoCapture(文件名=视频数据集/15.mp4)在没有支持请求的后端ID=300

(蟒蛇3.6:12757):G流媒体关键**:13:41:31.485:gst_element_make_from_uri:断言"gst_uri_is_valid(uri)"失败GStreamer:打开bin时出错:没有元素"视频数据集">

(蟒蛇3.6:12757):G流媒体关键**:13:41:31.485:gst_element_get_state:断言"gst_IS_EELEMENT(element)"失败[警告:0]VideoCapture(文件名=视频数据集/27.mp4)在没有支持请求的后端ID=300

(蟒蛇3.6:12757):G流媒体关键**:13:41:38.932:gst_element_make_from_uri:断言"gst_uri_is_valid(uri)"失败GStreamer:打开bin时出错:没有元素"视频数据集">

(蟒蛇3.6:12757):G流媒体关键**:13:41:38.932:gst_element_get_state:断言"gst_IS_EELEMENT(element)"失败[警告:0]VideoCapture(文件名=视频数据集/34.mp4)在没有支持请求的后端ID=300

我终于明白了问题,这行代码是错误的,因为少数视频有字母数字名称。

video_ids = [re.findall("[0-9_]*", video)[0] for video in videos]

此外,这些视频都是.avi扩展,我在循环中排除了这些扩展。

最新更新