<i>Shorts Videos to scan to find new items for the <b>Rescan subscriptions</b> task, max recommended 50.</i><br>
{{ app_form.subscriptions_shorts_channel_size }}
</div>
<divclass="settings-item">
<p>Auto start download from your subscriptions: <spanclass="settings-current">{{ config.subscriptions.auto_start}}</span></p>
<i>Enable this will automatically start and prioritize videos from your subscriptions.</i><br>
{{ app_form.subscriptions_auto_start }}
</div>
</div>
<divclass="settings-group">
<h2id="downloads">Downloads</h2>
<divclass="settings-item">
<p>Current download speed limit in KB/s: <spanclass="settings-current">{{ config.downloads.limit_speed }}</span></p>
<i>Limit download speed. 0 (zero) to deactivate, e.g. 1000 (1MB/s). Speeds are in KB/s. Setting takes effect on new download jobs or application restart.</i><br>
{{ app_form.downloads_limit_speed }}
</div>
<divclass="settings-item">
<p>Current throttled rate limit in KB/s: <spanclass="settings-current">{{ config.downloads.throttledratelimit }}</span></p>
<i>Download will restart if speeds drop below specified amount. 0 (zero) to deactivate, e.g. 100. Speeds are in KB/s.</i><br>
<i>Seconds to sleep between calls to YouTube. Might be necessary to avoid throttling. Recommended 3.</i><br>
{{ app_form.downloads_sleep_interval }}
</div>
<divclass="settings-item">
<p><spanclass="danger-zone">Danger Zone</span>: Current auto delete watched videos: <spanclass="settings-current">{{ config.downloads.autodelete_days }}</span></p>
<i>Auto delete watched videos after x days, 0 (zero) to deactivate:</i><br>
{{ app_form.downloads_autodelete_days }}
</div>
</div>
<divclass="settings-group">
<h2id="format">Download Format</h2>
<divclass="settings-item">
<p>Limit video and audio quality format for yt-dlp.<br>
<li><spanclass="settings-current">bestvideo[height<=720]+bestaudio/best[height<=720]</span>: best audio and max video height of 720p.</li>
<li><spanclass="settings-current">bestvideo[height<=1080]+bestaudio/best[height<=1080]</span>: best audio and max video height of 1080p.</li>
<li><spanclass="settings-current">bestvideo[height<=1080][vcodec*=avc1]+bestaudio[acodec*=mp4a]/mp4</span>: Max 1080p video height with iOS compatible video and audio codecs.</li>
<li><spanclass="settings-current">0</span>: deactivate and download the best quality possible as decided by yt-dlp.</li>
</ul>
<i>Make sure your custom format gets merged into a single file. Check out the <ahref="https://github.com/yt-dlp/yt-dlp#format-selection"target="_blank">documentation</a> for valid configurations.</i><br>
{{ app_form.downloads_format }}
<br>
</div>
<divclass="settings-item">
<p>Force sort order to have precedence over all yt-dlp fields.<br>
<li><spanclass="settings-current">res,codec:av1</span>: prefer AV1 over all other video codecs.</li>
<li><spanclass="settings-current">0</span>: deactivate and keep the default as decided by yt-dlp.</li>
</ul>
<i>Not all codecs are supported by all browsers. The default value ensures best compatibility. Check out the <ahref="https://github.com/yt-dlp/yt-dlp#sorting-formats"target="_blank">documentation</a> for valid configurations.</i><br>
<i>This will change the language this video gets indexed as. That will only be available if the uploader provides translations. Add as two letter ISO language code, check the <ahref="https://github.com/yt-dlp/yt-dlp#youtube"target="_blank">documentation</a> which languages are available.</i><br>
<i>For manual cookie import, place your cookie file named <spanclass="settings-current">cookies.google.txt</span> in <spanclass="settings-current">cache/import</span> before enabling. Instructions in the <ahref="https://docs.tubearchivist.com/settings/application/#cookie"target="_blank">Wiki.</a></i><br>
<p>Integrate with <ahref="https://returnyoutubedislike.com/"target="_blank">returnyoutubedislike.com</a> to get dislikes and average ratings back: <spanclass="settings-current">{{ config.downloads.integrate_ryd }}</span></p>
<i>Before activating that, make sure you have a scraping sleep interval of at least 3 secs set to avoid ratelimiting issues.</i><br>
{{ app_form.downloads_integrate_ryd }}
</div>
<divclass="settings-item">
<p>Integrate with <ahref="https://sponsor.ajay.app/"target="_blank">SponsorBlock</a> to get sponsored timestamps: <spanclass="settings-current">{{ config.downloads.integrate_sponsorblock }}</span></p>
<i>Before activating that, make sure you have a scraping sleep interval of at least 3 secs set to avoid ratelimiting issues.</i><br>
{{ app_form.downloads_integrate_sponsorblock }}
</div>
</div>
<divclass="settings-group">
<h2id="snapshots">Snapshots</h2>
<divclass="settings-item">
<p>Current system snapshot: <spanclass="settings-current">{{ config.application.enable_snapshot }}</span></p>
<i>Automatically create daily deduplicated snapshots of the index, stored in Elasticsearch. Read first before activating: <atarget="_blank"href="https://docs.tubearchivist.com/settings/application/#snapshots">Wiki</a>.</i><br>
<p>Create next snapshot: <spanclass="settings-current">{{ snapshots.next_exec_str }}</span>, snapshots expire after <spanclass="settings-current">{{ snapshots.expire_after }}</span>. <buttononclick="createSnapshot()"id="createButton">Create snapshot now</button></p>
<br>
{% for snapshot in snapshots.snapshots %}
<p><buttonid="{{ snapshot.id }}"onclick="restoreSnapshot(id)">Restore</button> Snapshot created on: <spanclass="settings-current">{{ snapshot.start_date }}</span>, took <spanclass="settings-current">{{ snapshot.duration_s }}s</span> to create. State: <i>{{ snapshot.state }}</i></p>