2

HTTP MJPEG ライブ ストリームに接続し、ビデオ ファイルとしてローカルにダンプしたいと考えています。だから私はした:

$ gst-launch -vvv スープhttpsrc location=http://bikersschool.dyndns.org/video.cgi?resolution=vga is-live=true do-timestamp=true ! マルチパートデマックス!jpegdec! ビデオレート!video/x-raw-yuv、framerate=60/1 ! セオレンク!oggmux ! filesink location="hi.ogg"

ただし、hi.ogg を再生すると、ビデオがスローモーションになります。

作成したサンプルビデオは次のとおりです。

更新しました:

videorate と caps フィルターを落としてみました。しかし、次のメッセージで失敗しました。

$ gst-launch -vvv スープhttpsrc location=http://bikersschool.dyndns.org/video.cgi?resolution=vga is-live=true do-timestamp=true ! マルチパートデマックス!jpegdec! セオレンク!oggmux ! filesink location="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 ...
4

1 に答える 1

0

ビデオレートの目的は何ですか?video/x-raw-yuv、フレームレート=60/1?

技術的には、ビデオレートはドロップ フレームを複製して、出力レートを 60fps にします。ビデオレートを落とすとどうなりますか ! キャップスフィルター? gst-launch は jpegdec のキャップに対して何を出力しますか?

于 2012-06-16T18:32:22.900 に答える