obs-gstreamer

obs-gstreamer 0.3.2

ntoonio

New Member
Hi! Thanks for this great project!

I'm having some problems with using audio.

I have this
Code:
shmsrc socket-path=/tmp/test is-live=true do-timestamp=true ! queue ! audio/x-raw,rate=48000,channels=2,format=S16LE ! audio.
And I'm getting the error

Filter caps do not completely specify the output format

0:00:15.093086703 10535 0x56492dfef6a0 FIXME default gstutils.c:3980:gst_pad_create_stream_id_internal:<shmsrc3:src> Creating random stream-id, consider implementing a deterministic way of creating a stream-id
0:00:15.098204982 10535 0x56492e0329e0 WARN capsfilter gstcapsfilter.c:453:gst_capsfilter_prepare_buf:<capsfilter11> error: Filter caps do not completely specify the output format
0:00:15.098267305 10535 0x56492e0329e0 WARN capsfilter gstcapsfilter.c:453:gst_capsfilter_prepare_buf:<capsfilter11> error: Output caps are unfixed: audio/x-raw, rate=(int)48000, format=(string)S16LE, channels=(int)2, layout=(string){ interleaved, non-interleaved }
0:00:15.098379089 10535 0x56492e0329e0 WARN basetransform gstbasetransform.c:2167:default_generate_output:<capsfilter11> could not get buffer from pool: error
error: Filter caps do not completely specify the output format

Although I can hear it when I change audio. to autoaudiosink. Then it's going though my speakers but not into OBS.

I'm guessing I have to add some field to the caps filter, but I can't figure out what that would be...
 

Tuna

Member
Instead of a caps filter I would try to use "rawaudioparse" element.

But probably it wants to know whether the data is interleaved of not.
 

Noraa

New Member
Can anyone help me with building a Windows 32-bit version of this plugin? To make a very long story short, I have to use the 32-bit version of OBS for my current workflow. Obviously, the prebuilt 64-bit version won’t work for me :/

Any help would be greatly appreciated!
 

momentumv

New Member
Hi everyone, very helpful forum. I have a PTZoptics camera. My main injest into OBS is through an HDMI capture card, which is great, but I would like to add some other network video sources, and I'm testing out gstreamer with what I have.
SO FAR: I've installed the win10 minGW gstreamer added to path, and put the precompiled dll into the OBS plugin folder.
This gives me a gstreamer source option, and the default video source seems to work fine.
I've been able to run:
Code:
C:\gstreamer\1.0\mingw_x86_64\bin>gst-play-1.0 rtsp://192.168.1.65/1
Press 'k' to see a list of keyboard shortcuts.
Now playing rtsp://192.168.1.65/1
Pipeline is live.
Redistribute latency...
Redistribute latency...
Redistribute latency...
Prerolled.
which displays the feed in a Direct3D11 render window (with quite bad (~1s) latency).
However, if I try to use this pipeline (or lots of others) in the OBS source:
uridecodebin uri=rtsp://192.168.1.65/1 name=bin ! queue ! video.
OBS crashes after ~1 sec of windows busy cursor, and will crash on open until I remove obs-gstreamer.dll from the plugins folder.
My OBS log file doesn't give any clues.
I'm just not sure what I'm doing wrong...
 

Tuna

Member
Hi everyone, very helpful forum. I have a PTZoptics camera. My main injest into OBS is through an HDMI capture card, which is great, but I would like to add some other network video sources, and I'm testing out gstreamer with what I have.
SO FAR: I've installed the win10 minGW gstreamer added to path, and put the precompiled dll into the OBS plugin folder.
This gives me a gstreamer source option, and the default video source seems to work fine.
I've been able to run:
Code:
C:\gstreamer\1.0\mingw_x86_64\bin>gst-play-1.0 rtsp://192.168.1.65/1
Press 'k' to see a list of keyboard shortcuts.
Now playing rtsp://192.168.1.65/1
Pipeline is live.
Redistribute latency...
Redistribute latency...
Redistribute latency...
Prerolled.
which displays the feed in a Direct3D11 render window (with quite bad (~1s) latency).
However, if I try to use this pipeline (or lots of others) in the OBS source:
uridecodebin uri=rtsp://192.168.1.65/1 name=bin ! queue ! video.
OBS crashes after ~1 sec of windows busy cursor, and will crash on open until I remove obs-gstreamer.dll from the plugins folder.
My OBS log file doesn't give any clues.
I'm just not sure what I'm doing wrong...
Most likely the camera is not reachable via UDP at that time? Current release blocks at the first connection step, possible that this blocks all other OBS functionality in the meantime. On the latest development version this step is tried to move to another thread where this may improve on the issue.
 

momentumv

New Member
Thank you for the reply, but I don't understand why would the gst-play work still, if the UDP is not working?
Anyway, using portqryui.exe, I get the following:
Code:
=============================================

 Starting portqry.exe -n 192.168.1.65 -e 1259 -p UDP ...


Querying target system called:

 192.168.1.65

Attempting to resolve IP address to a name...

Failed to resolve IP address to name

querying...

UDP port 1259 (unknown service): LISTENING or FILTERED
portqry.exe -n 192.168.1.65 -e 1259 -p UDP exits with return code 0x00000002.
 

Tuna

Member
Don't know for sure, maybe gst-play can revert to fallback transmission like tcp. You could force TCP by using "rtspt://" protocol for uridecodebin for example. Then again you are on a local network. I really have no conclusive idea..
 

momentumv

New Member
Do you have any ideas for generating/testing a "known good" rtsp on my network to test against? Should I attempt to compile the binary for my self?
Any ideas about logs/crash dumps that could be helpful? I'd love to get this to work.
 

Tuna

Member
Do you have any ideas for generating/testing a "known good" rtsp on my network to test against? Should I attempt to compile the binary for my self?
Any ideas about logs/crash dumps that could be helpful? I'd love to get this to work.
As of writing the RTSP example in the README is working for me.
 

momentumv

New Member
On Win10? I'm getting the exact same crashing behavior with the example as with my local network source.
specifically: uridecodebin uri=rtsp://wowzaec2demo.streamlock.net/vod/mp4:BigBuckBunny_115k.mov name=bin ! queue ! video. bin. ! queue ! audio.
 

momentumv

New Member
Well, I did a test install on another machine and it works fine. :/ Wonder if it has something to do with nvenc or something. Will do more experimenting on the target machine (including a re-install) and see if I end up with a working system.
 

momentumv

New Member
after complete reinstallation etc, I kept having the same crashing problem with rtsp. This machine is due for a motherboard replacement anyway, so I think I'll just give up until it's a different machine...
 
Hi

I am using this plugin and it seems to do great - BUT, i cannot make it work with sound. Normal VLC source/Media source is working fine.

Working is:
uridecodebin uri=rtsp://192.168.xxxxx name=bin ! queue ! video.

Not working:
uridecodebin uri=rtsp://192.168.xxxxx name=bin ! queue ! video. bin. ! queue ! audio.

I feel like i have tried all kinds of combinations, can anyone point me in the right direction? :) The source is a Unifi Camera through the NVR.
 

dd_obs21

New Member
I build OBS from source on RPi 4B. I copied the obs-gstreamer.so file to /usr/lib/obs-plugins. But am getting this error, any idea?
Screenshot_20210812_020007.png
 
Top