When using the following pipeline on a dragonboard 410c using the gstv4l2enc
I seem not to be able to stream up to wowza: gst-launch-1.0 -v v4l2src device=/dev/video3 ! video/x-raw,format=NV12,width=1280,height=720,framerate=30/1 ! v4l2h264enc extra-controls="controls,h264_profile=4,video_bitrate=2000000;" ! h264parse ! rtspclientsink location=rtsp://51c1b3.entrypoint.cloud.wowza.com/app-acb4:1935 This is the error that I get: Setting pipeline to PAUSED ... Pipeline is live and does not need PREROLL ... Progress: (open) Opening Stream Progress: (connect) Connecting to rtsp://51c1b3.entrypoint.cloud.wowza.com/app-acb4:1935 /GstPipeline:pipeline0/GstV4l2Src:v4l2src0.GstPad:src: caps = video/x-raw, format=(string)NV12, width=(int)1280, height=(int)720, framerate=(fraction)30/1, interlace-mode=(string)progressive, colorimetry=(string)1:4:7:1, pixel-aspect-ratio=(fraction)1/1 /GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:src: caps = video/x-raw, format=(string)NV12, width=(int)1280, height=(int)720, framerate=(fraction)30/1, interlace-mode=(string)progressive, colorimetry=(string)1:4:7:1, pixel-aspect-ratio=(fraction)1/1 /GstPipeline:pipeline0/v4l2h264enc:v4l2h264enc0.GstPad:src: caps = video/x-h264, stream-format=(string)byte-stream, alignment=(string)au, profile=(string)high, level=(string)1, width=(int)1280, height=(int)720, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)30/1, interlace-mode=(string)progressive, colorimetry=(string)1:4:7:1 /GstPipeline:pipeline0/GstH264Parse:h264parse0.GstPad:src: caps = video/x-h264, stream-format=(string)byte-stream, alignment=(string)au, profile=(string)high, level=(string)1, width=(int)1280, height=(int)720, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)30/1, interlace-mode=(string)progressive, colorimetry=(string)1:4:7:1, parsed=(boolean)true /GstPipeline:pipeline0/GstRTSPClientSink:rtspclientsink0.GstGhostPad:sink_0.GstProxyPad:proxypad0: caps = video/x-h264, stream-format=(string)byte-stream, alignment=(string)au, profile=(string)high, level=(string)1, width=(int)1280, height=(int)720, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)30/1, interlace-mode=(string)progressive, colorimetry=(string)1:4:7:1, parsed=(boolean)true Progress: (open) Retrieving server options Progress: (open) Opened Stream Setting pipeline to PLAYING ... New clock: GstSystemClock /GstPipeline:pipeline0/GstRTSPClientSink:rtspclientsink0/GstBin:rtspbin/GstRtpBin:rtpbin0: latency = 2000 /GstPipeline:pipeline0/GstRTSPClientSink:rtspclientsink0/GstBin:rtspbin/GstRtpBin:rtpbin0: ntp-time-source = NTP time based on realtime clock /GstPipeline:pipeline0/GstRTSPClientSink:rtspclientsink0/GstBin:rtspbin/GstRtpH264Pay:rtph264pay0: pt = 96 /GstPipeline:pipeline0/GstRTSPClientSink:rtspclientsink0/GstBin:rtspbin.GstGhostPad:ghostpad0.GstProxyPad:proxypad1: caps = video/x-h264, stream-format=(string)byte-stream, alignment=(string)au, profile=(string)high, level=(string)1, width=(int)1280, height=(int)720, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)30/1, interlace-mode=(string)progressive, colorimetry=(string)1:4:7:1, parsed=(boolean)true /GstPipeline:pipeline0/GstRTSPClientSink:rtspclientsink0/GstBin:rtspbin/GstRtpH264Pay:rtph264pay0.GstPad:sink: caps = video/x-h264, stream-format=(string)byte-stream, alignment=(string)au, profile=(string)high, level=(string)1, width=(int)1280, height=(int)720, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)30/1, interlace-mode=(string)progressive, colorimetry=(string)1:4:7:1, parsed=(boolean)true /GstPipeline:pipeline0/GstRTSPClientSink:rtspclientsink0/GstBin:rtspbin.GstGhostPad:ghostpad0: caps = video/x-h264, stream-format=(string)byte-stream, alignment=(string)au, profile=(string)high, level=(string)1, width=(int)1280, height=(int)720, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)30/1, interlace-mode=(string)progressive, colorimetry=(string)1:4:7:1, parsed=(boolean)true /GstPipeline:pipeline0/GstRTSPClientSink:rtspclientsink0.GstGhostPad:sink_0: caps = video/x-h264, stream-format=(string)byte-stream, alignment=(string)au, profile=(string)high, level=(string)1, width=(int)1280, height=(int)720, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)30/1, interlace-mode=(string)progressive, colorimetry=(string)1:4:7:1, parsed=(boolean)true /GstPipeline:pipeline0/GstH264Parse:h264parse0.GstPad:sink: caps = video/x-h264, stream-format=(string)byte-stream, alignment=(string)au, profile=(string)high, level=(string)1, width=(int)1280, height=(int)720, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)30/1, interlace-mode=(string)progressive, colorimetry=(string)1:4:7:1 Redistribute latency... /GstPipeline:pipeline0/v4l2h264enc:v4l2h264enc0.GstPad:sink: caps = video/x-raw, format=(string)NV12, width=(int)1280, height=(int)720, framerate=(fraction)30/1, interlace-mode=(string)progressive, colorimetry=(string)1:4:7:1, pixel-aspect-ratio=(fraction)1/1 /GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:sink: caps = video/x-raw, format=(string)NV12, width=(int)1280, height=(int)720, framerate=(fraction)30/1, interlace-mode=(string)progressive, colorimetry=(string)1:4:7:1, pixel-aspect-ratio=(fraction)1/1 Execution ended after 0:00:00.258690184 Setting pipeline to PAUSED ... Setting pipeline to READY ... Setting pipeline to NULL ... Freeing pipeline ... (gst-launch-1.0:5619): GStreamer-CRITICAL **: gst_structure_set: assertion 'IS_MUTABLE (structure) || field == NULL' failed ERROR: from element /GstPipeline:pipeline0/v4l2h264enc:v4l2h264enc0: Could not get/set settings from/on resource. Additional debug info: ../../../gst-plugins-good-1.12.2/sys/v4l2/gstv4l2object.c(3150): gst_v4l2_object_set_format_full (): /GstPipeline:pipeline0/v4l2h264enc:v4l2h264enc0: Device is in streaming mode The weird thing is that I can utilize the test code from gst-rtsp-server with the following pipeline to stream as an RTSP server, but it seems that pushing a stream has issues: v4l2h264enc extra-controls=\"controls,h264_level=15,h264_profile=4,video_bitrate=800000;\" ! h264parse ! rtph264pay name=pay0 pt=127 config-interval=15 pulsesrc device=\"alsa_input.platform-7702000.sound.HiFi__plughw_0_1__source\" ! audio/x-raw,rate=8000 ! audioconvert ! avenc_aac ! rtpmp4apay name=pay1 pt=96" Test Code Located here: https://github.com/GStreamer/gst-rtsp-server/blob/master/examples/test-video.c -- Sent from: http://gstreamer-devel.966125.n4.nabble.com/ _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Le jeudi 15 mars 2018 à 12:07 -0700, RobGries a écrit :
> When using the following pipeline on a dragonboard 410c using the gstv4l2enc > I seem not to be able to stream up to wowza: > gst-launch-1.0 -v v4l2src device=/dev/video3 ! > video/x-raw,format=NV12,width=1280,height=720,framerate=30/1 ! v4l2h264enc > extra-controls="controls,h264_profile=4,video_bitrate=2000000;" ! h264parse You should use caps filter to negotiate profiles, I cannot guaranty setting the profile this way will work. An example: v4l2h264enc ! video/x-h264,profile=main,level=4 ! ... > ! rtspclientsink > location=rtsp://51c1b3.entrypoint.cloud.wowza.com/app-acb4:1935 > > This is the error that I get: > Setting pipeline to PAUSED ... > Pipeline is live and does not need PREROLL ... > Progress: (open) Opening Stream > Progress: (connect) Connecting to > rtsp://51c1b3.entrypoint.cloud.wowza.com/app-acb4:1935 > /GstPipeline:pipeline0/GstV4l2Src:v4l2src0.GstPad:src: caps = video/x-raw, > format=(string)NV12, width=(int)1280, height=(int)720, > framerate=(fraction)30/1, interlace-mode=(string)progressive, > colorimetry=(string)1:4:7:1, pixel-aspect-ratio=(fraction)1/1 > /GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:src: caps = > video/x-raw, format=(string)NV12, width=(int)1280, height=(int)720, > framerate=(fraction)30/1, interlace-mode=(string)progressive, > colorimetry=(string)1:4:7:1, pixel-aspect-ratio=(fraction)1/1 > /GstPipeline:pipeline0/v4l2h264enc:v4l2h264enc0.GstPad:src: caps = > video/x-h264, stream-format=(string)byte-stream, alignment=(string)au, > profile=(string)high, level=(string)1, width=(int)1280, height=(int)720, > pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)30/1, > interlace-mode=(string)progressive, colorimetry=(string)1:4:7:1 > /GstPipeline:pipeline0/GstH264Parse:h264parse0.GstPad:src: caps = > video/x-h264, stream-format=(string)byte-stream, alignment=(string)au, > profile=(string)high, level=(string)1, width=(int)1280, height=(int)720, > pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)30/1, > interlace-mode=(string)progressive, colorimetry=(string)1:4:7:1, > parsed=(boolean)true > /GstPipeline:pipeline0/GstRTSPClientSink:rtspclientsink0.GstGhostPad:sink_0.GstProxyPad:proxypad0: > caps = video/x-h264, stream-format=(string)byte-stream, > alignment=(string)au, profile=(string)high, level=(string)1, > width=(int)1280, height=(int)720, pixel-aspect-ratio=(fraction)1/1, > framerate=(fraction)30/1, interlace-mode=(string)progressive, > colorimetry=(string)1:4:7:1, parsed=(boolean)true > Progress: (open) Retrieving server options > Progress: (open) Opened Stream > Setting pipeline to PLAYING ... > New clock: GstSystemClock > /GstPipeline:pipeline0/GstRTSPClientSink:rtspclientsink0/GstBin:rtspbin/GstRtpBin:rtpbin0: > latency = 2000 > /GstPipeline:pipeline0/GstRTSPClientSink:rtspclientsink0/GstBin:rtspbin/GstRtpBin:rtpbin0: > ntp-time-source = NTP time based on realtime clock > /GstPipeline:pipeline0/GstRTSPClientSink:rtspclientsink0/GstBin:rtspbin/GstRtpH264Pay:rtph264pay0: > pt = 96 > /GstPipeline:pipeline0/GstRTSPClientSink:rtspclientsink0/GstBin:rtspbin.GstGhostPad:ghostpad0.GstProxyPad:proxypad1: > caps = video/x-h264, stream-format=(string)byte-stream, > alignment=(string)au, profile=(string)high, level=(string)1, > width=(int)1280, height=(int)720, pixel-aspect-ratio=(fraction)1/1, > framerate=(fraction)30/1, interlace-mode=(string)progressive, > colorimetry=(string)1:4:7:1, parsed=(boolean)true > /GstPipeline:pipeline0/GstRTSPClientSink:rtspclientsink0/GstBin:rtspbin/GstRtpH264Pay:rtph264pay0.GstPad:sink: > caps = video/x-h264, stream-format=(string)byte-stream, > alignment=(string)au, profile=(string)high, level=(string)1, > width=(int)1280, height=(int)720, pixel-aspect-ratio=(fraction)1/1, > framerate=(fraction)30/1, interlace-mode=(string)progressive, > colorimetry=(string)1:4:7:1, parsed=(boolean)true > /GstPipeline:pipeline0/GstRTSPClientSink:rtspclientsink0/GstBin:rtspbin.GstGhostPad:ghostpad0: > caps = video/x-h264, stream-format=(string)byte-stream, > alignment=(string)au, profile=(string)high, level=(string)1, > width=(int)1280, height=(int)720, pixel-aspect-ratio=(fraction)1/1, > framerate=(fraction)30/1, interlace-mode=(string)progressive, > colorimetry=(string)1:4:7:1, parsed=(boolean)true > /GstPipeline:pipeline0/GstRTSPClientSink:rtspclientsink0.GstGhostPad:sink_0: > caps = video/x-h264, stream-format=(string)byte-stream, > alignment=(string)au, profile=(string)high, level=(string)1, > width=(int)1280, height=(int)720, pixel-aspect-ratio=(fraction)1/1, > framerate=(fraction)30/1, interlace-mode=(string)progressive, > colorimetry=(string)1:4:7:1, parsed=(boolean)true > /GstPipeline:pipeline0/GstH264Parse:h264parse0.GstPad:sink: caps = > video/x-h264, stream-format=(string)byte-stream, alignment=(string)au, > profile=(string)high, level=(string)1, width=(int)1280, height=(int)720, > pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)30/1, > interlace-mode=(string)progressive, colorimetry=(string)1:4:7:1 > Redistribute latency... > /GstPipeline:pipeline0/v4l2h264enc:v4l2h264enc0.GstPad:sink: caps = > video/x-raw, format=(string)NV12, width=(int)1280, height=(int)720, > framerate=(fraction)30/1, interlace-mode=(string)progressive, > colorimetry=(string)1:4:7:1, pixel-aspect-ratio=(fraction)1/1 > /GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:sink: caps = > video/x-raw, format=(string)NV12, width=(int)1280, height=(int)720, > framerate=(fraction)30/1, interlace-mode=(string)progressive, > colorimetry=(string)1:4:7:1, pixel-aspect-ratio=(fraction)1/1 > Execution ended after 0:00:00.258690184 > Setting pipeline to PAUSED ... > Setting pipeline to READY ... > Setting pipeline to NULL ... > Freeing pipeline ... > > (gst-launch-1.0:5619): GStreamer-CRITICAL **: gst_structure_set: assertion > 'IS_MUTABLE (structure) || field == NULL' failed > ERROR: from element /GstPipeline:pipeline0/v4l2h264enc:v4l2h264enc0: Could > not get/set settings from/on resource. > Additional debug info: > ../../../gst-plugins-good-1.12.2/sys/v4l2/gstv4l2object.c(3150): > gst_v4l2_object_set_format_full (): > /GstPipeline:pipeline0/v4l2h264enc:v4l2h264enc0: > Device is in streaming mode This one is familiar, but I thought it was fixed in 4.15+ (or latest 4.9 from linaro). Which kernel are you running ? > > The weird thing is that I can utilize the test code from gst-rtsp-server > with the following pipeline to stream as an RTSP server, but it seems that > pushing a stream has issues: > v4l2h264enc > extra-controls=\"controls,h264_level=15,h264_profile=4,video_bitrate=800000;\" > ! h264parse ! rtph264pay name=pay0 pt=127 config-interval=15 pulsesrc > device=\"alsa_input.platform-7702000.sound.HiFi__plughw_0_1__source\" ! > audio/x-raw,rate=8000 ! audioconvert ! avenc_aac ! rtpmp4apay name=pay1 > pt=96" > > Test Code Located here: > https://github.com/GStreamer/gst-rtsp-server/blob/master/examples/test-video.c issues. If you could file a bug, it would be extra nice, as this way I won't forget. > > > > -- > Sent from: http://gstreamer-devel.966125.n4.nabble.com/ > _______________________________________________ > gstreamer-devel mailing list > [hidden email] > https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel signature.asc (201 bytes) Download Attachment |
Responding to Nicolas Dufresne:
>You should use caps filter to negotiate profiles, I cannot guaranty >setting the profile this way will work. An example: > v4l2h264enc ! video/x-h264,profile=main,level=4 ! ... Using this pipeline with caps filter, I still couldn't get the device to start streaming: gst-launch-1.0 -v v4l2src device=/dev/video3 ! video/x-raw,format=NV12,width=1280,height=720,framerate=30/1 ! v4l2h264enc extra-controls="controls,h264_profile=4,video_bitrate=20000 00;" ! video/x-h264,profile=main,level=4 ! h264parse ! rtspclientsink location=rtsp://<wowza-address-stripped>:1935 >Can you file a bug about this one please, bugs.gnome.org. Sure, I'll start this soon. Would you like me to reference the URL from bugzilla here when I have filed one? >This one is familiar, but I thought it was fixed in 4.15+ (or latest 4.9 from linaro). Which kernel are you running? I am running a fork of the linaro 4.14.15 kernel. My github repo for it is located here, if you are interested in taking a look: https://github.com/RobGries/96b_4.14_kernel/ -- Sent from: http://gstreamer-devel.966125.n4.nabble.com/ _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Hello RobGrieds,
I have a very similar issue trying to connect v4l2h264enc to a rtph264pay with gstreamer-rtsp server: (test:1360): GStreamer-CRITICAL **: gst_structure_set: assertion 'IS_MUTABLE (structure) || field == NULL' failed 0:00:12.004081818 1360 0x7f800024a0 WARN v4l2 gstv4l2object.c:3224:gst_v4l2_object_set_format_full:<v4l2h264enc0> error: Device is in streaming mode gstelement.c:2145:gst_element_message_full_with_details:<v4l2h264enc0> posting message: Could not get/set settings from/on resource. 0:00:12.004355078 1360 0x7f90030ed0 WARN rtspmedia rtsp-media.c:2802:default_handle_message: 0x7f90049270: got error Could not get/set settings from/on resource. Do you still have the issue? -- Sent from: http://gstreamer-devel.966125.n4.nabble.com/ _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Hi, this could be the same issue as in bug 796525
-----Ursprüngliche Nachricht----- Von: gstreamer-devel [mailto:[hidden email]] Im Auftrag von Alexander Gesendet: Mittwoch, 20. Juni 2018 12:37 An: [hidden email] Betreff: Re: Problem with rtspclientsink when using v4l2h264enc on Dragonboard 410c Hello RobGrieds, I have a very similar issue trying to connect v4l2h264enc to a rtph264pay with gstreamer-rtsp server: (test:1360): GStreamer-CRITICAL **: gst_structure_set: assertion 'IS_MUTABLE (structure) || field == NULL' failed 0:00:12.004081818 1360 0x7f800024a0 WARN v4l2 gstv4l2object.c:3224:gst_v4l2_object_set_format_full:<v4l2h264enc0> error: Device is in streaming mode gstelement.c:2145:gst_element_message_full_with_details:<v4l2h264enc0> posting message: Could not get/set settings from/on resource. 0:00:12.004355078 1360 0x7f90030ed0 WARN rtspmedia rtsp-media.c:2802:default_handle_message: 0x7f90049270: got error Could not get/set settings from/on resource. Do you still have the issue? -- Sent from: http://gstreamer-devel.966125.n4.nabble.com/ _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
hats off for you sir!
-- Sent from: http://gstreamer-devel.966125.n4.nabble.com/ _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Free forum by Nabble | Edit this page |