User-configurable video encoder quality options. More...
#include <MXWrite/mxwrite.hpp>
Classes | |
| struct | HdrInfo |
| HDR output options. More... | |
Public Attributes | |
| bool | block_when_full = false |
| Pace producers to encoder throughput instead of dropping frames. | |
| std::string | codec = "auto" |
| Encoder selection policy or exact FFmpeg encoder name. | |
| int | crf = 18 |
| Constant Rate Factor. | |
| std::string | ffmpeg_options |
| Additional FFmpeg-style video encoder options. | |
| struct EncodeOptions::HdrInfo | hdr |
| std::string | preset = "medium" |
| Encoder preset name. | |
| bool | realtime = false |
| Enable low-latency settings. | |
| std::string | tune = "" |
| Optional tuning mode. | |
User-configurable video encoder quality options.
preset: x264 preset name — ultrafast, superfast, veryfast, faster, fast, medium, slow, slower, veryslow. Mapped to NVENC p1..p7. tune: Software tune, or NVENC hq, uhq, ll, ull, or lossless. Empty uses the encoder default (NVENC hq). crf: Constant Rate Factor, 0 (lossless) .. 51 (worst). 18 is visually near-lossless; 23 is default for x264; 28 is typical "small file". For NVENC this is forwarded as cq. codec: "auto" (NVENC if available, else software), "software" (force software), "nvenc" (force resolution-selected NVENC), or any exact video encoder name registered by FFmpeg, such as "libx264", "libx265", "libsvtav1", "h264_qsv", or "hevc_vaapi". NVENC policy requests fall back to the matching software codec. ffmpeg_options: Additional FFmpeg-style video encoder options, for example "-preset p6 -tune lossless -profile:v rext -pix_fmt yuv444p". These options override the corresponding built-in settings. MXWrite uses libavcodec directly, so input/output filenames are not accepted. realtime: when true, applies low-latency defaults (tune=zerolatency for x264, tune=ll + zerolatency=1 for NVENC). Extra options may override them. block_when_full: when true, producer threads block if the encoder queue is full instead of dropping frames.
Definition at line 92 of file mxwrite.hpp.
| bool EncodeOptions::block_when_full = false |
Pace producers to encoder throughput instead of dropping frames.
Definition at line 99 of file mxwrite.hpp.
| std::string EncodeOptions::codec = "auto" |
Encoder selection policy or exact FFmpeg encoder name.
Definition at line 96 of file mxwrite.hpp.
| int EncodeOptions::crf = 18 |
Constant Rate Factor.
Definition at line 95 of file mxwrite.hpp.
| std::string EncodeOptions::ffmpeg_options |
Additional FFmpeg-style video encoder options.
Definition at line 97 of file mxwrite.hpp.
| struct EncodeOptions::HdrInfo EncodeOptions::hdr |
| std::string EncodeOptions::preset = "medium" |
Encoder preset name.
Definition at line 93 of file mxwrite.hpp.
| bool EncodeOptions::realtime = false |
Enable low-latency settings.
Definition at line 98 of file mxwrite.hpp.
| std::string EncodeOptions::tune = "" |
Optional tuning mode.
Definition at line 94 of file mxwrite.hpp.