Files
videobeaux/docs/_site/programs/utilities/qwikchop.html
2025-12-07 22:04:44 -05:00

183 lines
8.4 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html>
<html lang="en-US">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- Begin Jekyll SEO tag v2.8.0 -->
<title>qwikchop</title>
<meta name="generator" content="Jekyll v3.10.0" />
<meta property="og:title" content="qwikchop" />
<meta property="og:locale" content="en_US" />
<meta name="description" content="The friendly multilateral video toolkit built for artists by artists." />
<meta property="og:description" content="The friendly multilateral video toolkit built for artists by artists." />
<link rel="canonical" href="http://localhost:4000/videobeaux/programs/utilities/qwikchop.html" />
<meta property="og:url" content="http://localhost:4000/videobeaux/programs/utilities/qwikchop.html" />
<meta property="og:type" content="website" />
<meta name="twitter:card" content="summary" />
<meta property="twitter:title" content="qwikchop" />
<script type="application/ld+json">
{"@context":"https://schema.org","@type":"WebPage","description":"The friendly multilateral video toolkit built for artists by artists.","headline":"qwikchop","publisher":{"@type":"Organization","logo":{"@type":"ImageObject","url":"http://localhost:4000/videobeaux/assets/img/videobeaux.png"}},"url":"http://localhost:4000/videobeaux/programs/utilities/qwikchop.html"}</script>
<!-- End Jekyll SEO tag -->
<link rel="stylesheet" href="/videobeaux/assets/css/style.css?v=5e23701ed3967d38bab12937d79f95fae74b2a53">
<!--[if lt IE 9]>
<script src="https://cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv.min.js"></script>
<![endif]-->
<!-- start custom head snippets, customize with your own _includes/head-custom.html file -->
<!-- Setup Google Analytics -->
<!-- You can set your favicon here -->
<!-- link rel="shortcut icon" type="image/x-icon" href="/videobeaux/favicon.ico" -->
<!-- end custom head snippets -->
</head>
<body>
<div class="wrapper">
<header>
<h1><a href="http://localhost:4000/videobeaux/">videobeaux</a></h1>
<img src="/videobeaux/assets/img/videobeaux.png" alt="Logo" />
<p>The friendly multilateral video toolkit built for artists by artists.</p>
<p class="view"><a href="https://github.com/schwwaaa/videobeaux">View the Project on GitHub <small>schwwaaa/videobeaux</small></a></p>
</header>
<section>
<h1 id="qwikchop">qwikchop</h1>
<h2 id="description">Description</h2>
<p>Rapidly slices videos into precise segments based on timecodes or cut lists, optimized for speed and batch operations.</p>
<h2 id="purpose">Purpose</h2>
<p><code class="language-plaintext highlighter-rouge">qwikchop</code> is built for extremely fast segment extraction, allowing you to cut a video into many pieces without re-encoding.<br />
It supports:</p>
<ul>
<li>cut lists,</li>
<li>recursive directory processing,</li>
<li>black-frame trimming,</li>
<li>segment cleanup rules,<br />
making it ideal for large workflows like commercial removal, archive splitting, and automated editing pipelines.</li>
</ul>
<h2 id="how-it-works">How It Works</h2>
<ol>
<li><strong>Piece Definition</strong><br />
The <code class="language-plaintext highlighter-rouge">pieces</code> argument defines cut points—either explicit timecodes or references to external lists.</li>
<li><strong>Recursive Mode</strong><br />
If <code class="language-plaintext highlighter-rouge">recurse</code> is enabled, the tool processes all media files inside a directory tree.</li>
<li><strong>Black Frame Detection</strong>
<ul>
<li><code class="language-plaintext highlighter-rouge">trim_black_front</code> removes silent/black leader.</li>
<li><code class="language-plaintext highlighter-rouge">black_scan</code>, <code class="language-plaintext highlighter-rouge">black_thresh</code>, and <code class="language-plaintext highlighter-rouge">black_pict</code> tune detection sensitivity.</li>
</ul>
</li>
<li><strong>Padding Controls</strong>
<ul>
<li><code class="language-plaintext highlighter-rouge">edge_pad_pre</code> and <code class="language-plaintext highlighter-rouge">edge_pad_post</code> adjust segment timing to avoid cutting too close to transitions.</li>
</ul>
</li>
<li><strong>Minimum Edit Length</strong><br />
<code class="language-plaintext highlighter-rouge">min_edit</code> prevents creation of fragment edits that are too short to be meaningful.</li>
<li><strong>Output</strong><br />
Segments are exported into the destination directory with predictable sequential naming.</li>
</ol>
<h2 id="program-template">Program Template</h2>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>videobeaux -P qwikchop \
-i input.mp4 \
-o output.mp4 \
--pieces VALUE \
--recurse VALUE \
--keep_temp VALUE \
--trim_black_front VALUE \
--black_scan VALUE \
--black_thresh VALUE \
--black_pict VALUE \
--edge_pad_pre VALUE \
--edge_pad_post VALUE \
--min_edit VALUE
</code></pre></div></div>
<h2 id="arguments">Arguments</h2>
<ul>
<li><strong>pieces</strong> — Defines segment boundaries; may be timecodes or an external list.</li>
<li><strong>recurse</strong> — Enables directory recursion for batch processing.</li>
<li><strong>keep_temp</strong> — When true, preserves intermediate working files.</li>
<li><strong>trim_black_front</strong> — Removes black/silent leader at beginning.</li>
<li><strong>black_scan</strong> — Duration scanned for determining black-frame presence.</li>
<li><strong>black_thresh</strong> — Threshold used to classify frames as black.</li>
<li><strong>black_pict</strong> — Pictorial threshold for more advanced black-frame evaluation.</li>
<li><strong>edge_pad_pre</strong> — Time (seconds) added before segment boundaries.</li>
<li><strong>edge_pad_post</strong> — Time (seconds) added after segment boundaries.</li>
<li><strong>min_edit</strong> — Minimum allowed edit duration; prevents overly short segments.</li>
</ul>
<h2 id="real-world-example">Real World Example</h2>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>videobeaux -P qwikchop \
-i myvideo.mp4 \
-o qwikchop_styled.mp4 \
--pieces EXAMPLE \
--recurse false \
--keep_temp false \
--trim_black_front true \
--black_scan 0.5 \
--black_thresh 0.10 \
--black_pict 0.10 \
--edge_pad_pre 0.25 \
--edge_pad_post 0.25 \
--min_edit 1.0
</code></pre></div></div>
<h2 id="technical-notes">Technical Notes</h2>
<ul>
<li>Segmenting is performed without re-encoding, making it extremely fast.</li>
<li>Black trimming uses FFmpegs blackdetect logic; thresholds may require tuning based on source material.</li>
<li><code class="language-plaintext highlighter-rouge">edge_pad_pre</code> and <code class="language-plaintext highlighter-rouge">edge_pad_post</code> are helpful for avoiding letterboxing artifacts or abrupt audio cuts.</li>
<li>Very small values for <code class="language-plaintext highlighter-rouge">min_edit</code> may create unusable micro-clips.</li>
</ul>
<h2 id="recommended-usage">Recommended Usage</h2>
<ul>
<li>Cutting commercials or interstitials from broadcast recordings.</li>
<li>Building structured archives from long-form footage.</li>
<li>Automatically splitting lecture or surveillance videos into events.</li>
<li>Preparing clips for machine-learning datasets.</li>
</ul>
<h2 id="quality-tips">Quality Tips</h2>
<ul>
<li>Increase <code class="language-plaintext highlighter-rouge">edge_pad_pre/post</code> slightly to avoid accidental content clipping.</li>
<li>Adjust <code class="language-plaintext highlighter-rouge">black_thresh</code> based on the luminance characteristics of your footage.</li>
<li>Use recursive mode (<code class="language-plaintext highlighter-rouge">recurse=true</code>) when processing large folder trees.</li>
<li>Keep <code class="language-plaintext highlighter-rouge">min_edit</code> above 0.51.0 seconds for stable outputs.</li>
</ul>
</section>
<footer>
<p>This project is maintained by <a href="https://github.com/schwwaaa">schwwaaa</a></p>
<p><small>Hosted on GitHub Pages &mdash; Theme by <a href="https://github.com/orderedlist">orderedlist</a></small></p>
</footer>
</div>
<script src="/videobeaux/assets/js/scale.fix.js"></script>
</body>
</html>