mirror of
https://github.com/amiaopensource/ffmprovisr.git
synced 2024-11-10 07:27:23 +01:00
Merge pull request #469 from MobyGamer/deinterlace_updates
Update deinterlacing methods to current best practices
This commit is contained in:
commit
8290b25fe5
BIN
img/deinterlaced_video_frames.png
Normal file
BIN
img/deinterlaced_video_frames.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 741 KiB |
BIN
img/interlaced_video_fields.png
Normal file
BIN
img/interlaced_video_fields.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 422 KiB |
37
index.html
37
index.html
@ -1409,6 +1409,43 @@
|
|||||||
</div>
|
</div>
|
||||||
<!-- ends Deinterlace video -->
|
<!-- ends Deinterlace video -->
|
||||||
|
|
||||||
|
<!-- Deinterlace video fields -->
|
||||||
|
<label class="recipe" for="deinterlace_fields">Deinterlace video fields to frames</label>
|
||||||
|
<input type="checkbox" id="deinterlace_fields">
|
||||||
|
<div class="hiding">
|
||||||
|
<h5>Deinterlace video fields to frames</h5>
|
||||||
|
<p><code>ffmpeg -i <em>input_file</em> -c:v libx264 -vf "idet,bwdif,format=yuv420p" <em>output_file</em></code></p>
|
||||||
|
<p>This command takes an interlaced input file and outputs a deinterlaced H.264 MP4, with each field separated into its own frame. This is preferred for interlaced video that contains a lot of motion, as the double-rate output preserves the visual cadence of the source material.</p>
|
||||||
|
<dl>
|
||||||
|
<dt>ffmpeg</dt><dd>starts the command</dd>
|
||||||
|
<dt>-i <em>input file</em></dt><dd>path, name and extension of the input file</dd>
|
||||||
|
<dt>-c:v libx264</dt><dd>tells FFmpeg to encode the video stream as H.264</dd>
|
||||||
|
<dt>-vf</dt><dd>video filtering will be used (<code>-vf</code> is an alias of <code>-filter:v</code>)</dd>
|
||||||
|
<dt>"</dt><dd>start of filtergraph (see below)</dd>
|
||||||
|
<dt>idet</dt><dd>detect interlaced video field order<br>
|
||||||
|
<a href="https://ffmpeg.org/ffmpeg-filters.html#idet" target="_blank">idet</a> will try to detect if the video is interlaced, and if so, what the order of the fields are (top-field-first, or bottom-field-first). This is done to ensure the output of the deinterlacing filter is correct.</dd>
|
||||||
|
<dt>bwdif</dt><dd>deinterlacing filter (‘Bob Weaver Deinterlacing Filter’)<br>
|
||||||
|
By default, <a href="https://ffmpeg.org/ffmpeg-filters.html#bwdif-1" target="_blank">bwdif</a> will output one frame for each field, matching the visual cadence of interlaced video. </dd>
|
||||||
|
<dt>,</dt><dd>separates filters</dd>
|
||||||
|
<dt>format=yuv420p</dt><dd>chroma subsampling set to 4:2:0<br>
|
||||||
|
By default, <code>libx264</code> will use a chroma subsampling scheme that is the closest match to that of the input. This can result in Y′C<sub>B</sub>C<sub>R</sub> 4:2:0, 4:2:2, or 4:4:4 chroma subsampling. QuickTime and most other non-FFmpeg based players can’t decode H.264 files that are not 4:2:0, therefore it’s advisable to specify 4:2:0 chroma subsampling.</dd>
|
||||||
|
<dt>"</dt><dd>end of filtergraph</dd>
|
||||||
|
<dt><em>output file</em></dt><dd>path, name and extension of the output file</dd>
|
||||||
|
</dl>
|
||||||
|
<p><code>"idet,bwdif,format=yuv420p"</code> is an FFmpeg <a href="https://trac.ffmpeg.org/wiki/FilteringGuide#FiltergraphChainFilterrelationship" target="_blank">filtergraph</a>. Here the filtergraph is made up of one filter chain, which is itself made up of the three filters (separated by the comma).<br>
|
||||||
|
The enclosing quote marks are necessary when you use spaces within the filtergraph, e.g. <code>-vf "idet, bwdif, format=yuv420p"</code>, and are included above as an example of good practice.</p>
|
||||||
|
<p><strong>Note:</strong> bwdif also supports the older method of outputting one frame for each frame (thereby halving the number of output frames per second) with the syntax <code>bwdif=mode=send_frame</code>. This can be used when the presentation device is not capable of reproducing 50 (PAL) or 60 (NTSC) frames per second.</p>
|
||||||
|
<p>For more H.264 encoding options, see the latter section of the <a href="#transcode_h264">encode H.264 command</a>.</p>
|
||||||
|
<div class="sample-image">
|
||||||
|
<h2>Example</h2>
|
||||||
|
<p>Before and after deinterlacing with bwdif:</p>
|
||||||
|
<img src="img/interlaced_video_fields.png" alt="VLC screenshot of original interlaced video">
|
||||||
|
<img src="img/deinterlaced_video_frames.png" alt="VLC screenshot of deinterlaced video">
|
||||||
|
</div>
|
||||||
|
<p class="link"></p>
|
||||||
|
</div>
|
||||||
|
<!-- ends Deinterlace video fields -->
|
||||||
|
|
||||||
<!-- Inverse telecine -->
|
<!-- Inverse telecine -->
|
||||||
<label class="recipe" for="inverse-telecine">Inverse telecine</label>
|
<label class="recipe" for="inverse-telecine">Inverse telecine</label>
|
||||||
<input type="checkbox" id="inverse-telecine">
|
<input type="checkbox" id="inverse-telecine">
|
||||||
|
Loading…
Reference in New Issue
Block a user