gstreamer管道产生慢动作(低FPS)视频

时间:2012-06-15 19:44:17

标签: video gstreamer multimedia frame-rate mjpeg

我想连接到HTTP MJPEG直播流并将其作为视频文件在本地转储。所以我做了:

$ 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! filesink location =“hi.ogg”

然而,在播放hi.ogg时,视频是慢动作的。

这是它产生的a sample video

更新:

我尝试删除视频和大写过滤器。但它失败了以下消息:

$ gst-launch -vvv souphttpsrc location = http://bikersschool.dyndns.org/video.cgi?resolution = vga is-live = true do-timestamp = true! multipartdemux! jpegdec! theoraenc! 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 ...

1 个答案:

答案 0 :(得分:0)

视频的目的是什么! video / x-raw-yuv,framerate = 60/1?

技术上,视频速率将复制丢帧,使输出速率为60fps。如果你放弃视频,怎么办? capsfilter?什么是gst-launch打印jpegdec的上限?