OBS Studio - Free and open source software for live streaming and screen recording https://obsproject.com
  • C 53.3%
  • C++ 35.5%
  • CMake 3.5%
  • Swift 3%
  • Objective-C 2.7%
  • Other 1.8%
Find a file
Hoshino Lina 5533a277e4 linux-v4l2: Fix spurious fd closing
Make sure to use the invalid fd -1 when the output is not opened, and
only close valid fds. If fd 0 is closed, then this closes stdin. The
second time this happens, some other important fd will have become fd 0,
breaking something.

This causes random things to break (browser/CEF in reports, but really
it could be anything) as the wrong fds get closed.
2026-03-08 12:12:44 -04:00
.github CI: Add local exceptions to flatpak-builder-lint 2026-03-08 11:48:16 -04:00
additional_install_files Improve additional_install_files for debug/release 2014-07-18 22:41:11 -07:00
build-aux build-aux,CI: Update Flatpak to 2026-01-09 deps 2026-01-10 18:38:08 -05:00
cmake cmake: Make release builds more reproducible 2026-02-20 15:50:14 -05:00
deps cmake: Group blake2 targets under same directory for IDEs 2025-04-25 20:06:41 -04:00
docs/sphinx docs: Fix typo in obs_enum_canvases description 2026-02-17 14:33:14 -05:00
frontend frontend: Only send event when scene list changed 2026-03-04 15:48:03 -05:00
libobs libobs/util: Fix fd management in os_process_pipe_create 2026-03-08 12:12:44 -04:00
libobs-d3d11 libobs: Remove "using namespace std" from headers 2025-12-18 18:16:31 -05:00
libobs-metal libobs-metal: Fix typos 2026-01-14 13:47:30 -05:00
libobs-opengl libobs-opengl: Treat pixel format 0 in IOSurface as 32BGRA 2025-10-23 08:35:52 -04:00
libobs-winrt cmake: Specify NOMINMAX all the time on Windows 2025-02-07 14:52:24 -05:00
plugins linux-v4l2: Fix spurious fd closing 2026-03-08 12:12:44 -04:00
shared file-updater: Use exact types to avoid clang-19 errors 2026-02-05 16:54:16 -05:00
test clang-format: Increase column limit from 80 to 120 2024-10-04 18:19:27 -04:00
.cirrus.yml cmake: Use Extra CMake Modules on Linux 2025-04-28 13:30:26 -04:00
.clang-format clang-format: Enable skipping of macro definitions for clang-format 19 2025-04-17 18:16:33 +02:00
.editorconfig Add composable theme files spacing in editorconfig 2024-04-25 16:11:38 -04:00
.gersemirc cmake: Remove settings from gersemirc only supported via command-line 2025-08-01 19:02:04 +02:00
.git-blame-ignore-revs .git-blame-ignore-revs: Add change from column limit increase 2024-10-04 18:30:06 -04:00
.gitattributes CI: Add Crowdin Synchronization 2021-11-25 20:59:11 +11:00
.gitignore .gitignore: Remove UI exclusion 2025-01-27 17:06:18 -05:00
.gitmodules cmake: Update cross-platform build project management for Windows 2024-08-20 16:00:21 -04:00
.mailmap Update copyrights/names 2023-05-20 01:31:18 -07:00
.swift-format CI: Update swift-format configuration with more explicit rules 2025-09-04 17:58:27 -04:00
AUTHORS Update translations from Crowdin 2026-01-10 01:02:43 -05:00
CMakeLists.txt libobs-metal: Add Metal renderer 2025-09-04 17:58:27 -04:00
CMakePresets.json CI: Replace ccache with Xcode compile cache 2026-01-13 15:34:10 -05:00
COC.rst Revert "docs: Rename Code of Conduct to fix GitHub detection" 2021-08-07 20:40:29 +10:00
COMMITMENT Add GPL Cooperation Commitment to base directory 2019-01-24 02:02:49 -05:00
CONTRIBUTING.rst CONTRIBUTING.rst: Fix typo 2025-05-14 13:49:54 -04:00
COPYING COPYING: Use license file from gnu.org 2021-10-24 00:35:27 -07:00
INSTALL Update INSTALL 2018-07-14 08:21:00 +01:00
README.rst Update Code of Conduct instructions (#13164) 2026-02-25 13:42:15 -06:00

OBS Studio <https://obsproject.com>
===================================

.. image:: https://github.com/obsproject/obs-studio/actions/workflows/push.yaml/badge.svg?branch=master
   :alt: OBS Studio Build Status - GitHub Actions
   :target: https://github.com/obsproject/obs-studio/actions/workflows/push.yaml?query=branch%3Amaster

.. image:: https://badges.crowdin.net/obs-studio/localized.svg
   :alt: OBS Studio Translation Project Progress
   :target: https://crowdin.com/project/obs-studio

.. image:: https://img.shields.io/discord/348973006581923840.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2
   :alt: OBS Studio Discord Server
   :target: https://obsproject.com/discord

What is OBS Studio?
-------------------

OBS Studio is software designed for capturing, compositing, encoding,
recording, and streaming video content, efficiently.

It's distributed under the GNU General Public License v2 (or any later
version) - see the accompanying COPYING file for more details.

Quick Links
-----------

- Website: https://obsproject.com

- Help/Documentation/Guides: https://github.com/obsproject/obs-studio/wiki

- Forums: https://obsproject.com/forum/

- Build Instructions: https://github.com/obsproject/obs-studio/wiki/Install-Instructions

- Developer/API Documentation: https://obsproject.com/docs

- Donating/backing/sponsoring: https://obsproject.com/contribute

- Bug Tracker: https://github.com/obsproject/obs-studio/issues

Contributing
------------

- If you would like to help fund or sponsor the project, you can do so
  via `Patreon <https://www.patreon.com/obsproject>`_, `OpenCollective
  <https://opencollective.com/obsproject>`_, or `PayPal
  <https://www.paypal.me/obsproject>`_.  See our `contribute page
  <https://obsproject.com/contribute>`_ for more information.

- If you wish to contribute code to the project, please make sure to
  read the coding and commit guidelines:
  https://github.com/obsproject/obs-studio/blob/master/CONTRIBUTING.rst

- Developer/API documentation can be found here:
  https://obsproject.com/docs

- If you wish to contribute translations, do not submit pull requests.
  Instead, please use Crowdin.  For more information read this page:
  https://obsproject.com/wiki/How-To-Contribute-Translations-For-OBS

- Contributors to OBS Studio and related repositories are expected to
  follow our Code of Conduct, which can be read here:
  https://github.com/obsproject/obs-studio/blob/master/COC.rst

- Other ways to contribute are by helping people out with support on
  our forums or in our community chat.  Please limit support to topics
  you fully understand -- bad advice is worse than no advice.  When it
  comes to something that you don't fully know or understand, please
  defer to the official help or official channels.


SAST Tools
----------

`PVS-Studio <https://pvs-studio.com/pvs-studio/?utm_source=website&utm_medium=github&utm_campaign=open_source>`_ - static analyzer for C, C++, C#, and Java code.