mirror of
				https://github.com/amiaopensource/ffmprovisr.git
				synced 2025-10-30 16:38:09 +01:00 
			
		
		
		
	Merge pull request #469 from MobyGamer/deinterlace_updates
Update deinterlacing methods to current best practices
This commit is contained in:
		
							
								
								
									
										
											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> | ||||
|     <!-- 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 --> | ||||
|     <label class="recipe" for="inverse-telecine">Inverse telecine</label> | ||||
|     <input type="checkbox" id="inverse-telecine"> | ||||
|   | ||||
		Reference in New Issue
	
	Block a user