HTTP MJPEG 라이브 스트림에 연결하고 로컬로 비디오 파일로 덤프하려고합니다. 그래서 했어 :gstreamer pipline이 느린 동작 (낮은 FPS) 비디오를 생성합니다.
$ gst-launch -vvv souphttpsrc location = http : //bikersschool.dyndns.org/video.cgi? resolution = vga is-live = true do-timestamp = true! multipartdemux! jpegdec! 비디오를 보자! video/x-raw-yuv, 프레임 속도 = 60/1! theoraenc! oggmux! 파일 위치 = "hi.ogg"
그러나 hi.ogg를 재생하면 비디오가 느려집니다.
여기가 생산 된 a sample video의 : 갱신
:
내가 videorate와 캡 필터를 삭제했습니다. 그러나 다음 메시지와 함께 실패했습니다 :
$ gst-launch -vvv souphttpsrc location = http : //bikersschool.dyndns.org/video.cgi? resolution = vga is-live = true do-timestamp = true! multipartdemux! jpegdec! theoraenc! oggmux! filesink 위치 = "hi.ogg"
Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
/GstPipeline:pipeline0/GstJpegDec:jpegdec0.GstPad:sink: caps = image/jpeg
/GstPipeline:pipeline0/GstJpegDec:jpegdec0.GstPad:src: caps = video/x-raw-yuv, format=(fourcc)I420, width=(int)640, height=(int)480, framerate=(fraction)0/1
ERROR: from element /GstPipeline:pipeline0/GstSoupHTTPSrc:souphttpsrc0: Internal data flow error.
Additional debug info:
..\..\..\Source\gstreamer\libs\gst\base\gstbasesrc.c(2507): gst_base_src_loop(): /GstPipeline:pipeline0/GstSoupHTTPSrc:souphttpsrc0:
streaming task paused, reason not-negotiated (-4)
Execution ended after 1547045000 ns.
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
/GstPipeline:pipeline0/GstJpegDec:jpegdec0.GstPad:src: caps = NULL
/GstPipeline:pipeline0/GstJpegDec:jpegdec0.GstPad:sink: caps = NULL
/GstPipeline:pipeline0/GstMultipartDemux:multipartdemux0.GstPad:src_0: caps = NULL
Setting pipeline to NULL ...
Freeing pipeline ...
비디오 및 모자 필터를 떨어 뜨리면 오류가 발생합니다. 나는 코멘트를 형식화 할 수 없으므로 메시지를 본래의 질문에 넣었습니다. – KFL
다른 질문에 대답 해주십시오. jpegdec의 fps는 무엇입니까? 또한 capsfilter에 실제 fps를 넣으십시오 (예 : 30fps - 또는 실제로 스트림이 60fps입니까?). – ensonic