Выход SDI в режиме PAL с использованием Gstreamer и карты Declink Studio 4K с OpencvPython

Программы на Python
Ответить
Anonymous
 Выход SDI в режиме PAL с использованием Gstreamer и карты Declink Studio 4K с Opencv

Сообщение Anonymous »

Я пытаюсь транслировать видео через SDI в режиме PAL на карте Declink Studio 4K.
Все работает нормально, я могу транслировать видеотестовый источник

Код: Выделить всё

GST_DEBUG=3 gst-launch-1.0 videotestsrc ! video/x-raw,format=BGR,width=720,height=576,framerate=25/1 ! videoconvert ! video/x-raw,format=UYVY,width=720,height=576,framerate=25/1,pixel-aspect-ratio=12/11,interlace-mode=interleaved,colorimetry=bt601,chroma-site=mpeg2 ! decklinkvideosink mode=pal device-number=0
Теперь я использую этот код с GST_DEBUG=3 python3stream_SDI.py

Код: Выделить всё

import cv2

cap = cv2.VideoCapture("output_main.mp4")

gst_pipe = "appsrc ! video/x-raw,format=BGR,width=720,height=576,framerate=25/1 ! videoconvert ! video/x-raw,format=UYVY,width=720,height=576,framerate=25/1,pixel-aspect-ratio=12/11,interlace-mode=interleaved,colorimetry=bt601,chroma-site=mpeg2 ! decklinkvideosink mode=pal device-number=0"

out = cv2.VideoWriter(gst_pipe,cv2.CAP_GSTREAMER, 0, 25.0, (720,576), True)

if not out.isOpened():

print("coud not open out")

cap.release()

exit()

while True:

ret, frame = cap.read()

if not ret:

break

print(frame.shape)

out.write(frame)

cv2.imshow("F",frame)

key = cv2.waitKey(40)

if key == ord('q'):

break

out.release()

cap.release()
Но получаю эту ошибку

Код: Выделить всё

0:00:00.031007288  8176     0x39964aa0 ERROR           videoconvert gstvideoconvert.c:490:gst_video_convert_set_info: input and output formats do not match

0:00:00.031014444  8176     0x39964aa0 WARN           basetransform gstbasetransform.c:1370:gst_base_transform_setcaps: FAILED to configure incaps video/x-raw, format=(string)BGR, width=(int)720, height=(int)576, framerate=(fraction)25/1 and outcaps video/x-raw, width=(int)720, height=(int)576, framerate=(fraction)25/1, format=(string)UYVY, pixel-aspect-ratio=(fraction)12/11, interlace-mode=(string)interleaved, colorimetry=(string)bt601, chroma-site=(string)mpeg2

(576, 720, 3)

[ WARN:0@0.143] global cap_gstreamer.cpp:2839 handleMessage OpenCV | GStreamer warning: Embedded video playback halted; module appsrc0 reported: Internal data stream error.

[ WARN:0@0.145] global cap_gstreamer.cpp:2730 writeFrame OpenCV | GStreamer warning: Error pushing buffer to GStreamer pipeline

(576, 720, 3)

[ WARN:0@0.188] global cap_gstreamer.cpp:2730 writeFrame OpenCV | GStreamer warning: Error pushing buffer to GStreamer pipeline

(576, 720, 3)

[ WARN:0@0.232] global cap_gstreamer.cpp:2730 writeFrame OpenCV | GStreamer warning: Error pushing buffer to GStreamer pipeline
Когда я пробую режим 720p50, он работает, но пропускает рамки, а также я должен обязательно использовать приятель.


Подробнее здесь: https://stackoverflow.com/questions/793 ... ith-opencv
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»