{"id":13560996,"url":"https://github.com/fzwoch/obs-gstreamer","last_synced_at":"2025-04-03T16:31:48.927Z","repository":{"id":43642603,"uuid":"139570461","full_name":"fzwoch/obs-gstreamer","owner":"fzwoch","description":"GStreamer OBS Studio plugin","archived":false,"fork":false,"pushed_at":"2025-03-30T11:13:49.000Z","size":503,"stargazers_count":370,"open_issues_count":1,"forks_count":34,"subscribers_count":19,"default_branch":"master","last_synced_at":"2025-03-30T12:23:18.405Z","etag":null,"topics":["audio","encoder","filter","gstreamer","obs","obs-studio","obs-studio-plugin","plugin","streaming","studio","video"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fzwoch.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["fzwoch"]}},"created_at":"2018-07-03T10:59:16.000Z","updated_at":"2025-03-28T22:20:12.000Z","dependencies_parsed_at":"2024-01-11T00:04:06.217Z","dependency_job_id":"8ce1b94d-928b-40e3-b275-3f1864d5764f","html_url":"https://github.com/fzwoch/obs-gstreamer","commit_stats":null,"previous_names":[],"tags_count":18,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fzwoch%2Fobs-gstreamer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fzwoch%2Fobs-gstreamer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fzwoch%2Fobs-gstreamer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fzwoch%2Fobs-gstreamer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fzwoch","download_url":"https://codeload.github.com/fzwoch/obs-gstreamer/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247037044,"owners_count":20873085,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["audio","encoder","filter","gstreamer","obs","obs-studio","obs-studio-plugin","plugin","streaming","studio","video"],"created_at":"2024-08-01T13:00:51.484Z","updated_at":"2025-04-03T16:31:43.919Z","avatar_url":"https://github.com/fzwoch.png","language":"C","funding_links":["https://github.com/sponsors/fzwoch"],"categories":["C","Setting up OBS Studio"],"sub_categories":["Useful OBS Studio 3rd party plugins and themes."],"readme":"GStreamer OBS Studio plugin\n===\n\n1. An OBS Studio source plugin to feed GStreamer launch pipelines into [OBS\nStudio].\n\nThis plugin has interesting use cases but may be difficult to understand and is\nclunky use if you are _not_ familiar with GStreamer.\n\nThis may be interesting for people trying to run OBS Studio to different platforms like the RaspberryPi or NVIDIA Tegra.\n\n2. An OBS Studio video filter plugin to use GStreamer pipelines as video filters in [OBS Studio].\n\nThis may be handy to quickly get some simple filters in but also complex pipelines are possible as long as no rate or dimension changes are done.\n\n3. An OBS Studio audio filter plugin to use GStreamer pipelines as audio filters in [OBS Studio].\n\nThis may be handy to quickly get some simple filters in but also complex pipelines are possible as long as no rate or dimension changes are done.\n\nPrebuilt\n---\n\nExperimental prebuilt 64-bit Windows plugin is available. You still require the\nofficial [GStreamer run-time] (MinGW version) to be installed. Make sure the\nrun-time `bin` path is added to Windows's `PATH` environment.\n\nExperimental prebuilt macOS plugin available. You still require the GStreamer\nrun-time installed via [Macports] (not Homebrew).\n\nExperimental prebuilt Linux plugin is available. You still require the GStreamer\nrun-time installed via your Linux ditribution's package manager.\n\nLinux plugins can be installed in locations that follow this scheme:\n```\n~/.config/obs-studio/plugins/\u003cpluginname\u003e/bin/64bit/\u003cpluginname\u003e.so\n```\n\n[OBS Studio]: https://obsproject.com/\n[GStreamer run-time]: https://gstreamer.freedesktop.org/data/pkg/windows/\n[Macports]: https://www.macports.org/\n\nUsage\n---\n\nThe source plugin makes use of the GStreamer launch pipeline descriptions. Please\nrefer to the GStreamer documentation to understand what this means:\n\nhttps://gstreamer.freedesktop.org/documentation/tools/gst-launch.html\n\nThis plugins provides two media sinks named `video` and `audio`. These are the\nmedia sinks that hand over data to OBS Studio. So your pipeline should connect\nto these sinks.\n\nAn example pipeline:\n\n    videotestsrc is-live=true ! video/x-raw, framerate=30/1, width=960, height=540 ! video. audiotestsrc wave=ticks is-live=true ! audio/x-raw, channels=2, rate=44100 ! audio.\n\nRTMP example:\n\n    uridecodebin uri=rtmp://wowzaec2demo.streamlock.net/vod/mp4:bigbuckbunny_1500.mp4 name=bin ! queue ! video. bin. ! queue ! audio.\n\nRTSP example:\n\n    uridecodebin uri=rtsp://wowzaec2demo.streamlock.net/vod/mp4:BigBuckBunny_115k.mov name=bin ! queue ! video. bin. ! queue ! audio.\n\nRTSP example with h265 decoding via Nvidia GPU and MP2L2 audio extraction:\n\n    rtspsrc location=rtspt://admin:*****@*****.ath.cx:555/Streaming/Channels/101 name=bin ! queue ! rtph265depay ! nvdec ! gldownload ! watchdog timeout=10000 ! video. bin. ! queue ! rtpmpadepay ! mpegaudioparse ! mpg123audiodec ! audio.\n\nRTSP H264 TS source with NTP sync and Nvidia GPU decoder example:\n\n    rtspsrc location=rtsp://h264-encoder.local/main1 rfc7273-sync=true buffer-mode=4 latency=40 ! rtmp2tdepay ! tsdemux latency=0 ! h264parse ! nvh264dec ! video.\n\nHLS example:\n\n    uridecodebin uri=http://wowzaec2demo.streamlock.net:1935/vod/mp4:sample.mp4/playlist.m3u8 name=bin ! queue ! video. bin. ! queue ! audio.\n\nLinux webcam example:\n\n    v4l2src ! decodebin ! video.\n\nLinux webcam example with watchdog (automatically restarts the pipeline if the webcam stream crashes for some reason):\n\n    v4l2src ! watchdog ! decodebin ! video.\n\n\n\nIf you don't understand what is happening in these lines please check the\nGStreamer documentation as mentioned above!\n\n\nBuild\n---\n\n```shell\n$ meson --buildtype=release build\n$ ninja -C build\n\n# optional for installing the plugin\n$ sudo ninja -C build install\n```\n\nBy default it will install in the plugin directory of the user's home directory. (Linux only!)\n\nFor system wide installs or other platforms you will need to pass additional options for the install location.\n\nE.g.\n```shell\nmeson setup build --buildtype=release --prefix=/usr --libdir=lib/obs-plugins\n```\nwill install at `/usr/lib/obs-plugins`.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffzwoch%2Fobs-gstreamer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffzwoch%2Fobs-gstreamer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffzwoch%2Fobs-gstreamer/lists"}