Video recording tools: Difference between revisions

From Helpful
Jump to navigation Jump to search
mNo edit summary
mNo edit summary
Line 23: Line 23:
: flexible, but needs some initial learning and setup because of it
: flexible, but needs some initial learning and setup because of it
: made for streaming, but also quite useful for recording (from various sources)
: made for streaming, but also quite useful for recording (from various sources)
==OBS notes==
<!--
===Copying OBS setups to other users===
I use OBS in an academic setting, where I need to control the scenes for others (because you can't expect people to take a course in OBS first),
and I needed to reduce that
For reference
* %appdata%\obs-studio\global.ini
: refers to currently active profile
* %appdata%\obs-studio\basic\Profiles\''ProfileName''\basic.ini
: defines output dir, video settings, etc
: initial setup will  have a profile called Untitled
* %appdata%\obs-studio\basic\scenes\''SceneCollectionName''.json
: defines the actual scene (including inputs)
: initial setup will have a scene collection called Untitled
Note that this seems to be written on change and on OBS exit, so if you do have a "configure our lab's setup" in a protocol,
maybe add to do this while OBS is not running.
-->
===Diagnosing slow starts===
Start by looking at your logs, in:
%appdata%\obs-studio\logs\
Look for any large jumps in the timestamps.
<!--
(Also, loading fro ma network disk would probably just be slower)
-->
===Audio===
By default, audio goes only to the stream.
This primarily because
* if monitoring desktop audio, that would just be feedback
* if monitoring most things, it would probably go to what you are probably capturing as desktop audio. Which would double that input.
While you're setting up, though, you may want to set the levels.
You can do this in Advanced Audio Properties.
Consider using the Compressor filter on audio.
It makes clipping much less likely at louder levels (meaning shouts aren't as annoying),
(it also can help bring in quieter sounds, though this matters much less to streaming than e.g. to instrument recording)
===GPU encoding===
If you have plenty of CPU to spare, CPU encoding gives you a little more quality.
https://blog.mobcrush.com/boost-your-stream-quality-choose-the-right-encoder-243fb685d3b8
nVidia means you can use NVENC.
NVENC is basically dedicated silicon, meaning it will not affect game performance.
: H.264 (AVC) and  H.265 (HEVC)
AMD's equivalent is
: UVD Unified Video Decoder
: VCE (2011..2018, H.264) and VCN (2018..now, H264+H265)
: AMF, Advanced Media Framework[https://gpuopen.com/advanced-media-framework/], helps unify UVD, VCE, and VCN programming {{verify}}
Intel's iGPU equivalent is Quicksync
In general,
* CPU encoders do slightly better quality at the same bitrate
* GPU offloading leaves more CPU for everything
* NVENC seems to outperform VCE and quicksync
:: in terms of latency, which you may not hugely care about
https://github.com/obsproject/obs-amd-encoder/wiki/hardware-support
https://obsproject.com/wiki/General-Performance-and-Encoding-Issues
-->

Revision as of 17:07, 19 September 2023

This article/section is a stub — some half-sorted notes, not necessarily checked, not necessarily correct. Feel free to ignore, or tell me about it.


The first question is what you want to record:

video devices (webcam, video capture devices, or such)
specific monitor (or program)

...because a lot of tools choose just one, and things that can do both are usually more work to learn.


Win10: "Windows Camera" in the Microsoft store, "Camera" once installed

video-device recorder
one-click recording, yet basically no settings beyond resolution


Xbox game bar

screen recorder
comes with windows, but probably not installed at work


OBS

screen/videodevice/other
flexible, but needs some initial learning and setup because of it
made for streaming, but also quite useful for recording (from various sources)



OBS notes

Diagnosing slow starts

Start by looking at your logs, in:

%appdata%\obs-studio\logs\

Look for any large jumps in the timestamps.


Audio

By default, audio goes only to the stream.

This primarily because

  • if monitoring desktop audio, that would just be feedback
  • if monitoring most things, it would probably go to what you are probably capturing as desktop audio. Which would double that input.


While you're setting up, though, you may want to set the levels. You can do this in Advanced Audio Properties.


Consider using the Compressor filter on audio. It makes clipping much less likely at louder levels (meaning shouts aren't as annoying), (it also can help bring in quieter sounds, though this matters much less to streaming than e.g. to instrument recording)

GPU encoding

If you have plenty of CPU to spare, CPU encoding gives you a little more quality.

https://blog.mobcrush.com/boost-your-stream-quality-choose-the-right-encoder-243fb685d3b8



nVidia means you can use NVENC.

NVENC is basically dedicated silicon, meaning it will not affect game performance.

H.264 (AVC) and H.265 (HEVC)

AMD's equivalent is

UVD Unified Video Decoder
VCE (2011..2018, H.264) and VCN (2018..now, H264+H265)
AMF, Advanced Media Framework[1], helps unify UVD, VCE, and VCN programming (verify)



Intel's iGPU equivalent is Quicksync


In general,

  • CPU encoders do slightly better quality at the same bitrate
  • GPU offloading leaves more CPU for everything
  • NVENC seems to outperform VCE and quicksync
in terms of latency, which you may not hugely care about


https://github.com/obsproject/obs-amd-encoder/wiki/hardware-support

https://obsproject.com/wiki/General-Performance-and-Encoding-Issues

-->