Minor change of defaults, typos, etc

This commit is contained in:
Jafea7 2025-04-07 16:19:29 +10:00
parent 303ca2c9e5
commit 95fd03b3c9
6 changed files with 29 additions and 20 deletions

View File

@ -475,7 +475,9 @@ public class SettingsTab extends Tab implements TabSelectionListener {
splitOptions.add(new SplitAfterOption("10 min", 10 * 60));
splitOptions.add(new SplitAfterOption("15 min", 15 * 60));
splitOptions.add(new SplitAfterOption("20 min", 20 * 60));
splitOptions.add(new SplitAfterOption("25 min", 25 * 60));
splitOptions.add(new SplitAfterOption("30 min", 30 * 60));
splitOptions.add(new SplitAfterOption("45 min", 45 * 60));
splitOptions.add(new SplitAfterOption("60 min", 60 * 60));
return splitOptions;
}
@ -491,9 +493,13 @@ public class SettingsTab extends Tab implements TabSelectionListener {
splitOptions.add(new SplitBiggerThanOption("250 MiB", 250 * MiB));
splitOptions.add(new SplitBiggerThanOption("500 MiB", 500 * MiB));
splitOptions.add(new SplitBiggerThanOption("1 GiB", GiB));
splitOptions.add(new SplitBiggerThanOption("1.5 GiB", 1500 * MiB));
splitOptions.add(new SplitBiggerThanOption("2 GiB", 2 * GiB));
splitOptions.add(new SplitBiggerThanOption("2.5 GiB", 2500 * MiB));
splitOptions.add(new SplitBiggerThanOption("3 GiB", 3 * GiB));
splitOptions.add(new SplitBiggerThanOption("3.5 GiB", 3500 * MiB));
splitOptions.add(new SplitBiggerThanOption("4 GiB", 4 * GiB));
splitOptions.add(new SplitBiggerThanOption("4.5 GiB", 4500 * MiB));
splitOptions.add(new SplitBiggerThanOption("5 GiB", 5 * GiB));
splitOptions.add(new SplitBiggerThanOption("6 GiB", 6 * GiB));
splitOptions.add(new SplitBiggerThanOption("7 GiB", 7 * GiB));

View File

@ -62,7 +62,8 @@ public class Settings {
public String chaturbateBaseUrl = "https://chaturbate.com";
@Deprecated
public boolean chaturbateUseFlaresolverr = false;
public int chaturbateMsBetweenRequests = 1000;
public int chaturbateMsBetweenRequests = 3000;
public Set<String> chaturbateRegions = new HashSet<>();
public boolean chooseStreamQuality = false;
public String colorAccent = "#FFFFFF";
public String colorBase = "#FFFFFF";
@ -71,7 +72,7 @@ public class Settings {
public String contactsheetTimestampLook = "font=sans-serif:fontcolor=white:fontsize=60:box=1:boxcolor=black@0.5:boxborderw=5";
public String dateTimeFormat = "";
public int defaultPriority = 50;
public boolean deleteOrphanedRecordingMetadata = false;
public boolean deleteOrphanedRecordingMetadata = true;
public boolean determineResolution = false;
public List<String> disabledSites = new ArrayList<>();
public String downloadFilename = "$sanitize(${modelName})_$format(${localDateTime})";
@ -91,8 +92,8 @@ public class Settings {
public int httpSecurePort = 8443;
public String httpServer = "localhost";
public int httpTimeout = 10000;
public String httpUserAgent = "Mozilla/5.0 (X11; Linux x86_64; rv:105.0) Gecko/20100101 Firefox/105.0";
public String httpUserAgentMobile = "Mozilla/5.0 (Android 9.0; Mobile; rv:105.0) Gecko/20100101 Firefox/105.0";
public String httpUserAgent = "Mozilla/5.0 (X11; Linux i686; rv:137.0) Gecko/20100101 Firefox/137.0";
public String httpUserAgentMobile = "Mozilla/5.0 (Android 15; Mobile; rv:137.0) Gecko/137.0 Firefox/137.0";
public byte[] key = null;
public List<String> ignoredModels = new ArrayList<>();
public String lastDownloadDir = "";
@ -129,13 +130,13 @@ public class Settings {
public List<ModelDto> modelsIgnored = new ArrayList<>();
public boolean monitorClipboard = false;
public int onlineCheckIntervalInSecs = 60;
public boolean onlineCheckSkipsPausedModels = false;
public int overviewUpdateIntervalInSecs = 10;
public boolean onlineCheckSkipsPausedModels = true;
public int overviewUpdateIntervalInSecs = 15;
@Deprecated
public String password = "";
@Deprecated
public String postProcessing = "";
public int playlistRequestTimeout = 2000;
public int playlistRequestTimeout = 2500;
public int httpClientMaxRequests = 64;
public int httpClientMaxRequestsPerHost = 16;
public int postProcessingThreads = 2;
@ -163,7 +164,7 @@ public class Settings {
public String recordingsTableSortColumn = "";
public String recordingsTableSortType = "";
public String recordingsDir = System.getProperty("user.home") + File.separator + "ctbrec";
public DirectoryStructure recordingsDirStructure = DirectoryStructure.FLAT;
public DirectoryStructure recordingsDirStructure = DirectoryStructure.ONE_PER_MODEL;
public List<ModelDto> recordLater = new ArrayList<>();
public boolean recordSingleFile = false;
public long recordUntilDefaultDurationInMinutes = 24 * 60L;
@ -200,7 +201,7 @@ public class Settings {
public LocalTime timeoutRecordingEndingAt = LocalTime.of(0, 0);
public boolean totalModelCountInTitle = false;
public boolean transportLayerSecurity = true;
public int thumbWidth = 180;
public int thumbWidth = 160;
public boolean updateThumbnails = true;
public boolean useHlsdl = false;
@Deprecated
@ -215,11 +216,11 @@ public class Settings {
public String webinterfacePassword = "sucks";
public String xlovecamUsername = "";
public String xlovecamPassword = "";
public boolean stripchatVR = false;
public boolean stripchatVR = true;
public boolean streamrayRecordGoalShows = false;
public boolean checkForUpdates = true;
public int thumbCacheSize = 16;
public boolean dreamcamVR = false;
public boolean dreamcamVR = true;
public String filterBlacklist = "";
public String filterWhitelist = "";
public boolean checkResolutionByMinSide = false;

View File

@ -43,7 +43,7 @@ ignored. This is a collection of the most interesting values:
- **httpUserAgent** - The user agent, which is used in the HTTP header, when ctbrec connects to a camsite. This is used to disguise, that it actually is a
recording software :)
- **httpUserAgentMobile** - Same as *httpUserAgent*, but in same cases we have to pretend to be a mobile phone :)
- **httpUserAgentMobile** - Same as *httpUserAgent*, but in some cases we have to pretend to be a mobile phone :)
- **key** - Key for the HMAC based authentication. If this is set in server config and contains values, the HMAC authentication is automatically active.
@ -77,8 +77,8 @@ ignored. This is a collection of the most interesting values:
- **recordingsDir** - Where ctbrec saves the recordings.
- **recordingsDirStructure** (server only) - [`FLAT`, `ONE_PER_MODEL`, `ONE_PER_RECORDING`] How recordings are stored in the file system. `FLAT` - all
recordings in one directory; `ONE_PER_MODEL` - one directory per model; `ONE_PER_RECORDING` - each recordings ends up in its own directory. Change this only,
- **recordingsDirStructure** (server only) - [`FLAT`, `ONE_PER_MODEL`, `ONE_PER_GROUP`, `ONE_PER_RECORDING`] How recordings are stored in the file system. `FLAT` - all
recordings in one directory; `ONE_PER_MODEL` - one directory per model; `ONE_PER_GROUP` - one directory per model group; `ONE_PER_RECORDING` - each recordings ends up in its own directory. Change this only,
if you have `recordSingleFile` set to `true`
- **recordSingleFile** (server only) - [`true`,`false`] - How recordings are stored in the file system. `true` means, each recording is saved in one large

View File

@ -8,7 +8,7 @@ them, but you have to figure it out yourself.
To convert the files to another format, you have to remux them. You don't have to reencode them, since the
files (usually, have not seen an exception yet) already contain H.264 video and AAC audio. You can remux the
files manually with tools like [Avidemux](Avidemux.md), [MKVToolNix](MKVToolNix.md) or
[FFmpeg](FFmpeg.md) or use one of the [post-processing](PostProcessing.md) scripts.
[FFmpeg](FFmpeg.md) or use the `remux/transcode` step in [post-processing](PostProcessing.md).
#### Streams are not getting recorded even though the model is online
@ -24,6 +24,8 @@ Use one of the following players:
- [mpv](https://mpv.io/installation/)
- [VLC](https://www.videolan.org/vlc/)
Enable hardware acceleration in your player otherwise playback may lag.
#### How can I playback the server recordings?
Use one of the following players:
@ -47,7 +49,7 @@ exists.
#### It takes a long time until a recording starts for a model
You probably have a lot of models in the "Recording" list. CTB Recorder checks the models one after the other. This is done on
purpose to not fire too many requests in a short amount of time, because this can cause blocks by the camsites.
purpose to not fire too many requests in a short amount of time because this can cause blocks by the camsites.
#### Can I run several instances of CTB Recorder

View File

@ -7,11 +7,11 @@ If you expose the server to the internet, I highly recommend enabling authentica
The archive you downloaded contains a `server.bat` or `server.sh`, which can be used to start the server. On the first start, the server uses a default configuration. Once you terminate the server by pressing <kbd>ctrl</kbd> + <kbd>c</kbd>, the config is stored in your user home.
On Windows that is `C:\Users\{your user name}\AppData\Roaming\ctbrec\server.json`
On Windows that is `C:\Users\{your user name}\AppData\Roaming\ctbrec\<version>\server.json`
On Linux it is `~/.config/ctbrec/server.json`
On Linux it is `~/.config/ctbrec/<version>/server.json`
On macOS it is `/Users/{your user name}/Library/Preferences/ctbrec`
On macOS it is `/Users/{your user name}/Library/Preferences/ctbrec/<version>/server.json`
You can open this file in a text editor and change it to your likings. You probably only want to change `httpPort` and `recordingsDir`. Most of the other stuff is irrelevant since the server and CTB Recorder use the same config file format. When the server is running, you can connect to it with CTB Recorder by changing the setting "Record location" to "Remote".

View File

@ -47,7 +47,7 @@
<body id="page-top">
<!-- Navigation -->
<nav class="navbar navbar-expand-lg bg-secondary fixed-top text-uppercase" id="mainNav" style="padding-pottom: 3rem">
<nav class="navbar navbar-expand-lg bg-secondary fixed-top text-uppercase" id="mainNav" style="padding-bottom: 3rem">
<div class="container">
<a class="navbar-brand js-scroll-trigger" href="@{/docs/index.md}"><img src="@{/static/icon64.png}" alt="Logo"/>CTB Recorder</a>
<button class="navbar-toggler navbar-toggler-right text-uppercase bg-primary text-white rounded" type="button" data-toggle="collapse"