我想连接到HTTP MJPEG实况流,并将其作为视频文件转储到本地。所以我就这么做了:
$ gst-launch -vvv souphttpsrc location=http://bikersschool.dyndns.org/video.cgi?resolution=vga is--vvv=true do-timestamp=true!多部件多路复用!jpegdec!录像带!video/x-raw-yuv,帧速率=60/1!理论!oggmux!文件链接location="hi.ogg“
但是,在播放hi.ogg时,视频是慢动作的。
下面是它生成的a sample video:
更新:
我试着把录像带和caps滤镜都扔掉了。但它失败了,并显示以下消息:
$ gst-launch -vvv souphttpsrc location=http://bikersschool.dyndns.org/video.cgi?resolution=vga is--vvv=true do-timestamp=true!多部件多路复用!jpegdec!理论!oggmux!文件链接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 ...发布于 2012-06-17 02:32:23
录像带的目的是什么?video/x-raw-yuv,framerate=60/1?
从技术上讲,videorate将复制丢弃的帧,使输出速率达到60fps。如果你把录像带丢了怎么办!capsfilter?gst-launch会为jpegdec的大写字母打印什么?
https://stackoverflow.com/questions/11057208
复制相似问题