OBS Studio
OBS Studio is a free and open-source app for screencasting and live streaming. Written in C/C++ and built with Qt, OBS Studio provides real-time capture, scene composition, recording, encoding, and broadcasting via Real-Time Messaging Protocol (RTMP), HLS, SRT, RIST or WebRTC. It can stream videos to any RTMP-supporting destination, including YouTube, Twitch, Instagram and Facebook.
For video encoding, OBS Studio can use the x264 transcoder, Intel Quick Sync Video, Nvidia NVENC and the AMD Video Coding Engine to encode video streams into the H.264/MPEG-4 AVC or H.265/HEVC formats. It can encode multiple tracks of audio in the AAC format. More experienced users can choose any codecs and containers available in libavcodec and libavformat, or output the stream to a custom FFmpeg URL.
OBS Studio also supports plug-ins to extend its functionality.