First frame only is seen

Ciphered1
2014-05-20
2014-05-20
  • Ciphered1

    Ciphered1 - 2014-05-20

    Hi Peter, Sending a stream into udpsrc i noticed the following:

    Pipeline1) Works:
    udpsrc address=224.0.0.1 port=1234 ! decodebin ! videorate ! "video/x-raw,framerate=5/1" ! videoscale ! videoconvert ! ximagesink

    Pipeline2) Does not work:
    udpsrc address=224.0.0.1 port=1234 do-timestamp=true ! decodebin ! videorate ! "video/x-raw,framerate=5/1" ! videoscale ! videoconvert ! "video/x-raw,format=BGRA,width=(int)640, height=(int)480" ! shmsink sync=false socket-path=/tmp/feed1-control-pipe shm-size=10000000 wait-for-connection=0

    Pipeline3) Works with distorted picture/mirrored video:
    udpsrc address=224.0.0.1 port=1234 do-timestamp=true ! decodebin ! videorate ! "video/x-raw,framerate=5/1" ! videoscale ! videoconvert ! shmsink sync=false socket-path=/tmp/feed1-control-pipe shm-size=10000000 wait-for-connection=0

    In the second pipeline i can see the first frame of the stream in output2screen but nothing more. I think it has to do something with the caps. Any idea?

    output pipeline two:

    Setting pipeline to PAUSED ...
    Pipeline is live and does not need PREROLL ...
    Setting pipeline to PLAYING ...
    New clock: GstSystemClock
    /GstPipeline:pipeline0/GstDecodeBin:decodebin0/GstTypeFindElement:typefind.GstPad:src: caps = "video/mpegts\,\ systemstream\=(boolean)true\,\ packetsize\=(int)188"
    /GstPipeline:pipeline0/GstDecodeBin:decodebin0/GstTSDemux:tsdemux0.GstPad:sink: caps = "video/mpegts\,\ systemstream\=(boolean)true\,\ packetsize\=(int)188"
    /GstPipeline:pipeline0/GstDecodeBin:decodebin0/GstMultiQueue:multiqueue0.GstPad:sink_0: caps = "video/x-h264\,\ stream-format\=(string)byte-stream\,\ alignment\=(string)nal"
    /GstPipeline:pipeline0/GstDecodeBin:decodebin0/GstMultiQueue:multiqueue0.GstPad:sink_0: caps = "video/x-h264\,\ stream-format\=(string)byte-stream\,\ alignment\=(string)nal"
    /GstPipeline:pipeline0/GstDecodeBin:decodebin0/GstH264Parse:h264parse0.GstPad:sink: caps = "video/x-h264\,\ stream-format\=(string)byte-stream\,\ alignment\=(string)nal"
    /GstPipeline:pipeline0/GstDecodeBin:decodebin0/GstH264Parse:h264parse0.GstPad:src: caps = "video/x-h264\,\ stream-format\=(string)avc\,\ alignment\=(string)au\,\ width\=(int)1280\,\ height\=(int)720\,\ framerate\=(fraction)5/1\,\ parsed\=(boolean)true\,\ codec_data\=(buffer)0142c01fffe100176742c01fda014016e840000003004000000302a3c60ca801000568ce010f20"
    /GstPipeline:pipeline0/GstDecodeBin:decodebin0/GstCapsFilter:capsfilter2.GstPad:src: caps = "video/x-h264\,\ stream-format\=(string)avc\,\ alignment\=(string)au\,\ width\=(int)1280\,\ height\=(int)720\,\ framerate\=(fraction)5/1\,\ parsed\=(boolean)true\,\ codec_data\=(buffer)0142c01fffe100176742c01fda014016e840000003004000000302a3c60ca801000568ce010f20"
    /GstPipeline:pipeline0/GstDecodeBin:decodebin0/avdec_h264:avdec_h264-0.GstPad:sink: caps = "video/x-h264\,\ stream-format\=(string)avc\,\ alignment\=(string)au\,\ width\=(int)1280\,\ height\=(int)720\,\ framerate\=(fraction)5/1\,\ parsed\=(boolean)true\,\ codec_data\=(buffer)0142c01fffe100176742c01fda014016e840000003004000000302a3c60ca801000568ce010f20"
    /GstPipeline:pipeline0/GstDecodeBin:decodebin0/GstCapsFilter:capsfilter2.GstPad:sink: caps = "video/x-h264\,\ stream-format\=(string)avc\,\ alignment\=(string)au\,\ width\=(int)1280\,\ height\=(int)720\,\ framerate\=(fraction)5/1\,\ parsed\=(boolean)true\,\ codec_data\=(buffer)0142c01fffe100176742c01fda014016e840000003004000000302a3c60ca801000568ce010f20"
    Redistribute latency...
    /GstPipeline:pipeline0/GstDecodeBin:decodebin0/avdec_h264:avdec_h264-0.GstPad:src: caps = "video/x-raw\,\ format\=(string)I420\,\ width\=(int)1280\,\ height\=(int)720\,\ pixel-aspect-ratio\=(fraction)1/1\,\ interlace-mode\=(string)progressive\,\ chroma-site\=(string)mpeg2\,\ colorimetry\=(string)bt709\,\ framerate\=(fraction)5/1"
    /GstPipeline:pipeline0/GstVideoRate:videorate0.GstPad:src: caps = "video/x-raw\,\ format\=(string)I420\,\ width\=(int)1280\,\ height\=(int)720\,\ pixel-aspect-ratio\=(fraction)1/1\,\ interlace-mode\=(string)progressive\,\ chroma-site\=(string)mpeg2\,\ colorimetry\=(string)bt709\,\ framerate\=(fraction)5/1"
    /GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:src: caps = "video/x-raw\,\ format\=(string)I420\,\ width\=(int)1280\,\ height\=(int)720\,\ pixel-aspect-ratio\=(fraction)1/1\,\ interlace-mode\=(string)progressive\,\ chroma-site\=(string)mpeg2\,\ colorimetry\=(string)bt709\,\ framerate\=(fraction)5/1"
    /GstPipeline:pipeline0/GstVideoScale:videoscale0.GstPad:src: caps = "video/x-raw\,\ format\=(string)I420\,\ width\=(int)640\,\ height\=(int)480\,\ pixel-aspect-ratio\=(fraction)4/3\,\ interlace-mode\=(string)progressive\,\ chroma-site\=(string)mpeg2\,\ colorimetry\=(string)bt709\,\ framerate\=(fraction)5/1"
    /GstPipeline:pipeline0/GstVideoConvert:videoconvert0.GstPad:src: caps = "video/x-raw\,\ width\=(int)640\,\ height\=(int)480\,\ pixel-aspect-ratio\=(fraction)4/3\,\ interlace-mode\=(string)progressive\,\ framerate\=(fraction)5/1\,\ format\=(string)BGRA"
    /GstPipeline:pipeline0/GstCapsFilter:capsfilter1.GstPad:src: caps = "video/x-raw\,\ width\=(int)640\,\ height\=(int)480\,\ pixel-aspect-ratio\=(fraction)4/3\,\ interlace-mode\=(string)progressive\,\ framerate\=(fraction)5/1\,\ format\=(string)BGRA"
    /GstPipeline:pipeline0/GstShmSink:shmsink0.GstPad:sink: caps = "video/x-raw\,\ width\=(int)640\,\ height\=(int)480\,\ pixel-aspect-ratio\=(fraction)4/3\,\ interlace-mode\=(string)progressive\,\ framerate\=(fraction)5/1\,\ format\=(string)BGRA"
    /GstPipeline:pipeline0/GstCapsFilter:capsfilter1.GstPad:sink: caps = "video/x-raw\,\ width\=(int)640\,\ height\=(int)480\,\ pixel-aspect-ratio\=(fraction)4/3\,\ interlace-mode\=(string)progressive\,\ framerate\=(fraction)5/1\,\ format\=(string)BGRA"
    /GstPipeline:pipeline0/GstVideoConvert:videoconvert0.GstPad:sink: caps = "video/x-raw\,\ format\=(string)I420\,\ width\=(int)640\,\ height\=(int)480\,\ pixel-aspect-ratio\=(fraction)4/3\,\ interlace-mode\=(string)progressive\,\ chroma-site\=(string)mpeg2\,\ colorimetry\=(string)bt709\,\ framerate\=(fraction)5/1"
    /GstPipeline:pipeline0/GstVideoScale:videoscale0.GstPad:sink: caps = "video/x-raw\,\ format\=(string)I420\,\ width\=(int)1280\,\ height\=(int)720\,\ pixel-aspect-ratio\=(fraction)1/1\,\ interlace-mode\=(string)progressive\,\ chroma-site\=(string)mpeg2\,\ colorimetry\=(string)bt709\,\ framerate\=(fraction)5/1"
    /GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:sink: caps = "video/x-raw\,\ format\=(string)I420\,\ width\=(int)1280\,\ height\=(int)720\,\ pixel-aspect-ratio\=(fraction)1/1\,\ interlace-mode\=(string)progressive\,\ chroma-site\=(string)mpeg2\,\ colorimetry\=(string)bt709\,\ framerate\=(fraction)5/1"
    /GstPipeline:pipeline0/GstVideoRate:videorate0.GstPad:sink: caps = "video/x-raw\,\ format\=(string)I420\,\ width\=(int)1280\,\ height\=(int)720\,\ pixel-aspect-ratio\=(fraction)1/1\,\ interlace-mode\=(string)progressive\,\ chroma-site\=(string)mpeg2\,\ colorimetry\=(string)bt709\,\ framerate\=(fraction)5/1"
    /GstPipeline:pipeline0/GstDecodeBin:decodebin0.GstDecodePad:src_0.GstProxyPad:proxypad2: caps = "video/x-raw\,\ format\=(string)I420\,\ width\=(int)1280\,\ height\=(int)720\,\ pixel-aspect-ratio\=(fraction)1/1\,\ interlace-mode\=(string)progressive\,\ chroma-site\=(string)mpeg2\,\ colorimetry\=(string)bt709\,\ framerate\=(fraction)5/1"

    Thanks

     
    Last edit: Ciphered1 2014-05-20
    • Peter Maersk-Moller

      Hi Pagio

      Haven't forgot about you problem. Just not sure yet, what is its cause.
      Can you please post your full ini file and please also post full scripts that doesn't work.

      Regards
      Peter

       
    • Peter Maersk-Moller

      Try enlarge your shmsize by a factor of 5 if you are using gstreamer 1.0. I can't see your version as you haven't posted the full script.

      For Gstreamer 1.0 I find the following to work

      SHMSIZE='shm-size='`echo "$feed_width * $feed_height * 4 * 13"|bc`
      

      This should help on your problem with the stuck video, but not the distorted video. For that I need more info as requested in previous message.

      Regards
      Peter

       
    • Peter Maersk-Moller

      In your third example, you include videoscale, but you don't specify a videosize so if your stream is 1280x720 and your feed is 640x480 you will get a distorted video sending raw video sized 1280x720 into snowmix expecting something else and raw formats does not contain any size information.

      Regards
      Peter

       
    • Peter Maersk-Moller

      When you have it working, try add 'sync=true' to shmsink. Also make sure the controlpipe is deleted before setting up the shmsink pipeline.

       


Anonymous

Cancel  Add attachments





Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:





No, thanks