0:06:25.029661000 30920 000001CB6E5DBF00 WARN srtsrc gstsrtsrc.c:227:gst_srt_src_fill:<srtsrc4> discont detected 1096517083 (expected: 0)
0:06:26.608852600 30920 000001CB6E5DB040 WARN basetransform gstbasetransform.c:1373:gst_base_transform_setcaps:<video> transform could not transform video/x-raw(memory:D3D11Memory), format=(string)NV12, width=(int)3840, height=(int)2160, interlace-mode=(string)progressive, multiview-mode=(string)mono, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt709, framerate=(fraction)2997/100 in anything we support
0:06:26.608906000 30920 000001CB6E5DB040 WARN basetransform gstbasetransform.c:1373:gst_base_transform_setcaps:<video> transform could not transform video/x-raw(memory:D3D11Memory), format=(string)NV12, width=(int)3840, height=(int)2160, interlace-mode=(string)progressive, multiview-mode=(string)mono, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt709, framerate=(fraction)2997/100 in anything we support
0:06:26.608922900 30920 000001CB6E5DB040 WARN GST_PADS gstpad.c:4392:gst_pad_peer_query:<queue4:src> could not send sticky events
0:06:26.610052200 30920 000001CB6E5DB040 WARN basetransform gstbasetransform.c:1373:gst_base_transform_setcaps:<video> transform could not transform video/x-raw(memory:D3D11Memory), format=(string)NV12, width=(int)3840, height=(int)2160, interlace-mode=(string)progressive, multiview-mode=(string)mono, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt709, framerate=(fraction)2997/100 in anything we support
0:06:26.610074900 30920 000001CB6E5DB040 WARN GST_PADS gstpad.c:4392:gst_pad_peer_query:<queue4:src> could not send sticky events
0:06:26.634029600 30920 000001CB6E5DB040 WARN basetransform gstbasetransform.c:1373:gst_base_transform_setcaps:<video> transform could not transform video/x-raw(memory:D3D11Memory), format=(string)NV12, width=(int)3840, height=(int)2160, interlace-mode=(string)progressive, multiview-mode=(string)mono, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt709, framerate=(fraction)2997/100 in anything we support
0:06:26.634084300 30920 000001CB6E5DB040 WARN basetransform gstbasetransform.c:1373:gst_base_transform_setcaps:<video> transform could not transform video/x-raw(memory:D3D11Memory), format=(string)NV12, width=(int)3840, height=(int)2160, interlace-mode=(string)progressive, multiview-mode=(string)mono, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt709, framerate=(fraction)2997/100 in anything we support
0:06:26.634128600 30920 000001CB6E5DB040 WARN basetransform gstbasetransform.c:1373:gst_base_transform_setcaps:<video> transform could not transform video/x-raw(memory:D3D11Memory), format=(string)NV12, width=(int)3840, height=(int)2160, interlace-mode=(string)progressive, multiview-mode=(string)mono, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt709, framerate=(fraction)2997/100 in anything we support
0:06:26.634166600 30920 000001CB6E5DB040 WARN basetransform gstbasetransform.c:1373:gst_base_transform_setcaps:<video> transform could not transform video/x-raw(memory:D3D11Memory), format=(string)NV12, width=(int)3840, height=(int)2160, interlace-mode=(string)progressive, multiview-mode=(string)mono, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt709, framerate=(fraction)2997/100 in anything we support
0:06:26.634204200 30920 000001CB6E5DB040 WARN basetransform gstbasetransform.c:1373:gst_base_transform_setcaps:<video> transform could not transform video/x-raw(memory:D3D11Memory), format=(string)NV12, width=(int)3840, height=(int)2160, interlace-mode=(string)progressive, multiview-mode=(string)mono, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt709, framerate=(fraction)2997/100 in anything we support
0:06:26.650749600 30920 000001CB6E5DBF00 WARN basesrc gstbasesrc.c:3177:gst_base_src_loop:<srtsrc4> error: Internal data stream error.
0:06:26.650784200 30920 000001CB6E5DBF00 WARN basesrc gstbasesrc.c:3177:gst_base_src_loop:<srtsrc4> error: streaming stopped, reason not-negotiated (-4)
try this stringThank you for your prompt response and for making me recheck the obvious. I had the following Pipeline command string written in my notes as one that I had tried and discarded, but for whatever reason, when I tried it just now, it worked:
Code:uridecodebin uri=rtsp://username:password@10.10.10.100:88/videoMain name=bin ! queue ! video. bin. ! queue ! audio.
Now that I am seeing video through obs-gstreamer, I have two other issues.
Issue 1 is latency. My workaround method had been to establish a full screen stream of the camera using VLC and then import that into OBS as a Window Capture source. Using the (admittedly kludgy) Windows Capture method, I am seeing a latency of about 500ms. Using the Gstreamer Source method with the default rtsp command string above, I am seeing a latency of about 1100ms. Can you offer some suggestions towards reducing that latency?
Issue 2 is that the stream seems to go to sleep. When I cut to a scene with the Gstreamer Source, the stream stays black for about 800ms, then it goes to green for another 800ms, and then it finally shows the "live" stream (with its 1100ms latency in tact). Thoughts on how to keep the stream active so that it's available immediately when I cut to that scene? For what it's worth, using the Windows Capture method keeps the stream alive and available for immediate viewing upon cutting to the scene.
Thanks for your help on this.
gst-inspect-1.0 appsinkAny chance of some explanation on the source options?
Specifically "Disable asynchronous state change in appsink"
Thanks
Pretty sure this would be a very difficult task.. probably not possible.Friends, I'm sending SRT from the IRL Pro app on Android to OBS (windows) with the Pipeline:
srtclientsrc uri=srt://:8000 ! tsdemux ! h265parse ! avdec_h265 ! video.
The video arrives normally, but I'm sending from two phones, but it's not synchronized. Is there any information missing in the pipeline so that the two videos are synchronized?
Thanks
Hello, how did you manage to do this synchronization? I've tried several ways, but I can't synchronize the 3 sources using Larix. Thank you.Hi people,
I am trying to use the gstreamer plugin (gstreamer-1.0-mingw-x86_64-1.22.1) in OBS and I am amazed. I have connected 3 android phone broacasting in srt with larix and they work flawlessly!! Perfect sync video and audio. I must give my congratulations to the authors.
My next step is to use the gstreamer to connect also my DSLR through UVC adapter (USB) connection. (720p/60 and audio). Can you suggest to me a pipeline for this purpose?
I have tried "gst-launch-1.0.exe -v ksvideosrc do-stats=TRUE ! videoconvert ! autovideosink" it opens the stream but in a separate window, not in OBS
Thanks in advance
Alex
gst-launch-1.0 udpsrc port=5000 caps="application/x-rtp,media=video,encoding-name=H264,payload=96" ! rtph264depay ! decodebin ! videoconvert ! autovideosink
C:\gstreamer\1.0\msvc_x86_64\bin
C:\Program Files\obs-studio\obs-plugins\64bit
15:14:01.024: LoadLibrary failed for '../../obs-plugins/64bit/obs-gstreamer.dll': The specified module could not be found.
15:14:01.024: (126)
15:14:01.024: Module '../../obs-plugins/64bit/obs-gstreamer.dll' not loaded
Hi there
Firstly thank you for building and supporting this plugin, it's clear that it's bought a great deal of benefit to many people.
I've spent quite some time reading the posts of others, both here and across other platforms but have finally hit a blank and wondered if I might kinldy ask for help?
I have a Pi Zero 2W running GStreamer and have it streaming the onboard camera. The stream is being broadcast to a Windows PC on my network which I have also installed GStreamer on. I can view the Pi's video stream from the Windows PC using the following at the command prompt.
I can see the stream just fine, so I know both the PI and Windows PC are working correctly.
I have added the following to my PATH variable and have restarted the Windows PC
I have then added the plugin obs-gstreamer.dll to
When I launch OBS, I can't see GStreamer as an option under the source list. Looking at the OBS log file, I can see:
Now, I know my path variable is correct (I've tested this from the command prompt in a different directory to GStreamer so I'm at a loss as to why the plugin hasn't loaded.
Is there something obvious I've missed?
Thank you to anyone who might be able to provide help.
Kind regards,
ATH
The prebuilt plugin is done with the MinGW SDK. If you wanted the MSVC one you would have to compile the plugin yourself with the MSVC SDK.Experimental prebuilt 64-bit Windows plugin is available. You still require the official GStreamer run-time (MinGW version) to be installed.
GST_DEBUG=2 gst-launch-1.0 libcamerasrc ! queue ! video/x-raw,width=800,height=600,framerate=30/1 ! videoconvert ! video/x-raw,format=I420 ! x264enc tune=zerolatency bitrate=500 speed-preset=superfast ! rtph264pay config-interval=1 pt=96 ! udpsink host=192.168.1.134 port=5000
gst-launch-1.0 udpsrc port=5000 caps="application/x-rtp,media=video,encoding-name=H264,payload=96" ! rtph264depay ! decodebin ! videoconvert ! autovideosink
udpsrc port=5000 caps="application/x-rtp,media=video,encoding-name=H264,payload=96" ! rtph264depay ! h264parse ! avdec_h264 ! videoconvert ! video/x-raw,format=I420 ! appsink sync=false
set GST_DEBUG=4
"C:\Program Files\obs-studio\bin\64bit\obs64.exe"
09:50:31.131: Loaded scenes:
09:50:31.131: - scene 'Scene':
09:50:31.131: - source: 'BG colour' (color_source_v3)
09:50:31.131: - source: 'Side bar' (image_source)
09:50:31.131: - source: 'GStreamer Source' (gstreamer-source)
rtspsrc location="rtsp://camIPaddress:554/h264?username=myusername&password=mypassword" latency=0 name=bin ! rtph264depay ! h264parse ! d3d11h264dec ! video.
rtspsrc location="rtsp://camIPaddress:554/h264?username=myusername&password=mypassword" latency=0 name=bin ! rtph264depay ! h264parse ! d3d11h264dec ! video. bin. ! rtpaacdepay ! aacparse ! audioconvert ! audio.
Parsing the audio is correct, but you need to add a decoder after or you don't have any raw audio. Also, the depay element name is completely made up?
Sorry, I've got like 100 different attempts and I grabbed one of the worst (I believe that one came from asking a chatGPT for a suggestion).
Here is the one I thought for sure was going to work but didn't:
rtspsrc location="rtsp://camIPaddress:554/h264?username=myusername&password=mypassword" latency=0 name=bin ! rtph264depay ! h264parse ! d3d11h264dec ! video. bin. ! rtpmp4adepay2 ! aacparse ! avdec_aac ! audioconvert ! audioresample ! audio.
I see now in the logs that none of the avdec decoders are apparently in the plugin.
I tried this one but I'm getting a "Delayed linking failed." error on the pipeline.
bin. ! queue ! rtpjitterbuffer ! rtpmp4adepay ! aacparse ! decodebin ! audioconvert ! audioresample ! audio.