Skip to content

Instantly share code, notes, and snippets.

  • Select an option

  • Save eladkarako/441cfd46093fc5672c3563c2ef039cfe to your computer and use it in GitHub Desktop.

Select an option

Save eladkarako/441cfd46093fc5672c3563c2ef039cfe to your computer and use it in GitHub Desktop.
interlaced video generating with ffmpeg, including intentionally wrongly marked meta-data, to make sure idet still gives correct derived information
# File naming concept (pattern) Video content type Base rate (progressive) Output cadence (fields) Interlace generation Field metadata (signaling)
1 ${W}x${H}_${fps}p_prog.mkv Progressive control 24/25/30/60 = fps none (progressive) not meaningful / interlaced=0
2 ${W}x${H}_${fps}p_to_${fps}i_genField0_meta_ok_metaField0}.mkv Interlaced 24/25/30/60 2*fps tinterlace field=0 meta_field=0 => -field_order bt
3 ${W}x${H}_${fps}p_to_${fps}i_genField0_meta_wrong_metaField1}.mkv Interlaced 24/25/30/60 2*fps tinterlace field=0 meta_field=1 => -field_order tt
4 ${W}x${H}_${fps}p_to_${fps}i_genField1_meta_ok_metaField1}.mkv Interlaced 24/25/30/60 2*fps tinterlace field=1 meta_field=1 => -field_order tt
5 ${W}x${H}_${fps}p_to_${fps}i_genField1_meta_wrong_metaField0}.mkv Interlaced 24/25/30/60 2*fps tinterlace field=1 meta_field=0 => -field_order bt
ffmpeg -i input.VOB -vf "yadif=mode=1:parity=auto" -c:v libx264 -crf 18 -preset medium -c:a copy output.mp4
# try Top field first
ffmpeg -i input.VOB -vf "yadif=mode=1:parity=1" -c:v libx264 -crf 18 -preset medium -c:a copy output.mp4
# try Bottom field first
ffmpeg -i input.VOB -vf "yadif=mode=1:parity=0" -c:v libx264 -crf 18 -preset medium -c:a copy output.mp4

#Use “TDeint” with bob/weave style and then filter lightly
ffmpeg -i input.VOB -vf "bwdif=mode=auto:parity=auto" -c:v libx264 -crf 18 -preset medium -c:a copy output.mp4
#If you want the “best quality” fix: separate fields then deinterlace
ffmpeg -i input.VOB -vf "field=1:interl=1,decimate,telecine=0" -an -f null -

#detect
ffmpeg -i input.VOB -vf idet -an -f null - 2>&1 | tee idet.log
ffmpeg -i input.VOB -vf "bwdif=mode=1:parity=auto" -c:v libx264 -crf 18 -preset medium -c:a copy output.mp4
#parity=0 (top field first) vs parity=1 (bottom field first)
#mode=0 (send weave-like behavior; faster but less robust)
#mode=1 (recommended default: more aggressive/quality-oriented)

#Example: make a 25 fps progressive test clip, then produce an interlaced 50i-style stream (fields at 50 Hz), then encode H.264:
ffmpeg -f lavfi -i testsrc2=rate=25:size=1280x720:duration=5 \
-vf "tinterlace=mode=merge:field=both" \
-c:v libx264 -preset medium -crf 18 \
-x264-params "nal-hrd=cbr:interlaced=1" \
-c:a aac -b:a 128k out_interlaced.mp4


# generate-interlace-matrix-commands.txt
# Paste-and-run: replace OUTDIR/ffmpeg path if needed.
# Generates 5-second clips for each (W,H) in:
# 1920x1080, 1280x720, 720x480, 720x576
# For each fps in: 24, 25, 30, 60
# For each mode:
# progressive control
# interlaced with gen_field=0/1 and meta_ok/meta_wrong.
# Common constants:
# - DUR=5
# - testsrc2 pattern: "testsrc2=duration=5:size=${W}x${H}:rate=${fps}"
# - Progressive encode: libx264 crf 18 preset medium yuv420p -r fps nal-hrd interlaced=0
# - Interlaced encode:
# -vf "tinterlace=mode=merge:field=${gen_field},format=yuv420p"
# -r (2*fps)
# -x264-params "nal-hrd=cbr:interlaced=1"
# -field_order: meta_field=1 => tt, meta_field=0 => bt
# -----------------------
# Helper mapping:
# gen_field=0 => BFF content (in tinterlace)
# gen_field=1 => TFF content
# meta_ok: meta_field = gen_field
# meta_wrong: meta_field = 1-gen_field
# field_order string:
# meta_field=0 => bt
# meta_field=1 => tt
# -----------------------
# === Replace this line if ffmpeg is not in PATH ===
set "ffmpeg=ffmpeg"
# === START COMMANDS ===
# ---------- 1920x1080 ----------
# fps=24
%ffmpeg% -y -hide_banner -f lavfi -i "testsrc2=duration=5:size=1920x1080:rate=24" -vf "format=yuv420p" -c:v libx264 -crf 18 -preset medium -pix_fmt yuv420p -r 24 -x264-params "nal-hrd=cbr:interlaced=0" -an "interlace_matrix\1920x1080_24p_prog.mkv"
%ffmpeg% -y -hide_banner -f lavfi -i "testsrc2=duration=5:size=1920x1080:rate=24" -vf "tinterlace=mode=merge:field=0,format=yuv420p" -c:v libx264 -crf 18 -preset medium -pix_fmt yuv420p -r 48 -x264-params "nal-hrd=cbr:interlaced=1" -field_order bt -an "interlace_matrix\1920x1080_24p_to_24i_genField0_meta_ok_metaField0.mkv"
%ffmpeg% -y -hide_banner -f lavfi -i "testsrc2=duration=5:size=1920x1080:rate=24" -vf "tinterlace=mode=merge:field=0,format=yuv420p" -c:v libx264 -crf 18 -preset medium -pix_fmt yuv420p -r 48 -x264-params "nal-hrd=cbr:interlaced=1" -field_order tt -an "interlace_matrix\1920x1080_24p_to_24i_genField0_meta_wrong_metaField1.mkv"
%ffmpeg% -y -hide_banner -f lavfi -i "testsrc2=duration=5:size=1920x1080:rate=24" -vf "tinterlace=mode=merge:field=1,format=yuv420p" -c:v libx264 -crf 18 -preset medium -pix_fmt yuv420p -r 48 -x264-params "nal-hrd=cbr:interlaced=1" -field_order tt -an "interlace_matrix\1920x1080_24p_to_24i_genField1_meta_ok_metaField1.mkv"
%ffmpeg% -y -hide_banner -f lavfi -i "testsrc2=duration=5:size=1920x1080:rate=24" -vf "tinterlace=mode=merge:field=1,format=yuv420p" -c:v libx264 -crf 18 -preset medium -pix_fmt yuv420p -r 48 -x264-params "nal-hrd=cbr:interlaced=1" -field_order bt -an "interlace_matrix\1920x1080_24p_to_24i_genField1_meta_wrong_metaField0.mkv"
# fps=25
%ffmpeg% -y -hide_banner -f lavfi -i "testsrc2=duration=5:size=1920x1080:rate=25" -vf "format=yuv420p" -c:v libx264 -crf 18 -preset medium -pix_fmt yuv420p -r 25 -x264-params "nal-hrd=cbr:interlaced=0" -an "interlace_matrix\1920x1080_25p_prog.mkv"
%ffmpeg% -y -hide_banner -f lavfi -i "testsrc2=duration=5:size=1920x1080:rate=25" -vf "tinterlace=mode=merge:field=0,format=yuv420p" -c:v libx264 -crf 18 -preset medium -pix_fmt yuv420p -r 50 -x264-params "nal-hrd=cbr:interlaced=1" -field_order bt -an "interlace_matrix\1920x1080_25p_to_25i_genField0_meta_ok_metaField0.mkv"
%ffmpeg% -y -hide_banner -f lavfi -i "testsrc2=duration=5:size=1920x1080:rate=25" -vf "tinterlace=mode=merge:field=0,format=yuv420p" -c:v libx264 -crf 18 -preset medium -pix_fmt yuv420p -r 50 -x264-params "nal-hrd=cbr:interlaced=1" -field_order tt -an "interlace_matrix\1920x1080_25p_to_25i_genField0_meta_wrong_metaField1.mkv"
%ffmpeg% -y -hide_banner -f lavfi -i "testsrc2=duration=5:size=1920x1080:rate=25" -vf "tinterlace=mode=merge:field=1,format=yuv420p" -c:v libx264 -crf 18 -preset medium -pix_fmt yuv420p -r 50 -x264-params "nal-hrd=cbr:interlaced=1" -field_order tt -an "interlace_matrix\1920x1080_25p_to_25i_genField1_meta_ok_metaField1.mkv"
%ffmpeg% -y -hide_banner -f lavfi -i "testsrc2=duration=5:size=1920x1080:rate=25" -vf "tinterlace=mode=merge:field=1,format=yuv420p" -c:v libx264 -crf 18 -preset medium -pix_fmt yuv420p -r 50 -x264-params "nal-hrd=cbr:interlaced=1" -field_order bt -an "interlace_matrix\1920x1080_25p_to_25i_genField1_meta_wrong_metaField0.mkv"
# fps=30
%ffmpeg% -y -hide_banner -f lavfi -i "testsrc2=duration=5:size=1920x1080:rate=30" -vf "format=yuv420p" -c:v libx264 -crf 18 -preset medium -pix_fmt yuv420p -r 30 -x264-params "nal-hrd=cbr:interlaced=0" -an "interlace_matrix\1920x1080_30p_prog.mkv"
%ffmpeg% -y -hide_banner -f lavfi -i "testsrc2=duration=5:size=1920x1080:rate=30" -vf "tinterlace=mode=merge:field=0,format=yuv420p" -c:v libx264 -crf 18 -preset medium -pix_fmt yuv420p -r 60 -x264-params "nal-hrd=cbr:interlaced=1" -field_order bt -an "interlace_matrix\1920x1080_30p_to_30i_genField0_meta_ok_metaField0.mkv"
%ffmpeg% -y -hide_banner -f lavfi -i "testsrc2=duration=5:size=1920x1080:rate=30" -vf "tinterlace=mode=merge:field=0,format=yuv420p" -c:v libx264 -crf 18 -preset medium -pix_fmt yuv420p -r 60 -x264-params "nal-hrd=cbr:interlaced=1" -field_order tt -an "interlace_matrix\1920x1080_30p_to_30i_genField0_meta_wrong_metaField1.mkv"
%ffmpeg% -y -hide_banner -f lavfi -i "testsrc2=duration=5:size=1920x1080:rate=30" -vf "tinterlace=mode=merge:field=1,format=yuv420p" -c:v libx264 -crf 18 -preset medium -pix_fmt yuv420p -r 60 -x264-params "nal-hrd=cbr:interlaced=1" -field_order tt -an "interlace_matrix\1920x1080_30p_to_30i_genField1_meta_ok_metaField1.mkv"
%ffmpeg% -y -hide_banner -f lavfi -i "testsrc2=duration=5:size=1920x1080:rate=30" -vf "tinterlace=mode=merge:field=1,format=yuv420p" -c:v libx264 -crf 18 -preset medium -pix_fmt yuv420p -r 60 -x264-params "nal-hrd=cbr:interlaced=1" -field_order bt -an "interlace_matrix\1920x1080_30p_to_30i_genField1_meta_wrong_metaField0.mkv"
# fps=60
%ffmpeg% -y -hide_banner -f lavfi -i "testsrc2=duration=5:size=1920x1080:rate=60" -vf "format=yuv420p" -c:v libx264 -crf 18 -preset medium -pix_fmt yuv420p -r 60 -x264-params "nal-hrd=cbr:interlaced=0" -an "interlace_matrix\1920x1080_60p_prog.mkv"
%ffmpeg% -y -hide_banner -f lavfi -i "testsrc2=duration=5:size=1920x1080:rate=60" -vf "tinterlace=mode=merge:field=0,format=yuv420p" -c:v libx264 -crf 18 -preset medium -pix_fmt yuv420p -r 120 -x264-params "nal-hrd=cbr:interlaced=1" -field_order bt -an "interlace_matrix\1920x1080_60p_to_60i_genField0_meta_ok_metaField0.mkv"
%ffmpeg% -y -hide_banner -f lavfi -i "testsrc2=duration=5:size=1920x1080:rate=60" -vf "tinterlace=mode=merge:field=0,format=yuv420p" -c:v libx264 -crf 18 -preset medium -pix_fmt yuv420p -r 120 -x264-params "nal-hrd=cbr:interlaced=1" -field_order tt -an "interlace_matrix\1920x1080_60p_to_60i_genField0_meta_wrong_metaField1.mkv"
%ffmpeg% -y -hide_banner -f lavfi -i "testsrc2=duration=5:size=1920x1080:rate=60" -vf "tinterlace=mode=merge:field=1,format=yuv420p" -c:v libx264 -crf 18 -preset medium -pix_fmt yuv420p -r 120 -x264-params "nal-hrd=cbr:interlaced=1" -field_order tt -an "interlace_matrix\1920x1080_60p_to_60i_genField1_meta_ok_metaField1.mkv"
%ffmpeg% -y -hide_banner -f lavfi -i "testsrc2=duration=5:size=1920x1080:rate=60" -vf "tinterlace=mode=merge:field=1,format=yuv420p" -c:v libx264 -crf 18 -preset medium -pix_fmt yuv420p -r 120 -x264-params "nal-hrd=cbr:interlaced=1" -field_order bt -an "interlace_matrix\1920x1080_60p_to_60i_genField1_meta_wrong_metaField0.mkv"
# ---------- 1280x720 ----------
# fps=24
%ffmpeg% -y -hide_banner -f lavfi -i "testsrc2=duration=5:size=1280x720:rate=24" -vf "format=yuv420p" -c:v libx264 -crf 18 -preset medium -pix_fmt yuv420p -r 24 -x264-params "nal-hrd=cbr:interlaced=0" -an "interlace_matrix\1280x720_24p_prog.mkv"
%ffmpeg% -y -hide_banner -f lavfi -i "testsrc2=duration=5:size=1280x720:rate=24" -vf "tinterlace=mode=merge:field=0,format=yuv420p" -c:v libx264 -crf 18 -preset medium -pix_fmt yuv420p -r 48 -x264-params "nal-hrd=cbr:interlaced=1" -field_order bt -an "interlace_matrix\1280x720_24p_to_24i_genField0_meta_ok_metaField0.mkv"
%ffmpeg% -y -hide_banner -f lavfi -i "testsrc2=duration=5:size=1280x720:rate=24" -vf "tinterlace=mode=merge:field=0,format=yuv420p" -c:v libx264 -crf 18 -preset medium -pix_fmt yuv420p -r 48 -x264-params "nal-hrd=cbr:interlaced=1" -field_order tt -an "interlace_matrix\1280x720_24p_to_24i_genField0_meta_wrong_metaField1.mkv"
%ffmpeg% -y -hide_banner -f lavfi -i "testsrc2=duration=5:size=1280x720:rate=24" -vf "tinterlace=mode=merge:field=1,format=yuv420p" -c:v libx264 -crf 18 -preset medium -pix_fmt yuv420p -r 48 -x264-params "nal-hrd=cbr:interlaced=1" -field_order tt -an "interlace_matrix\1280x720_24p_to_24i_genField1_meta_ok_metaField1.mkv"
%ffmpeg% -y -hide_banner -f lavfi -i "testsrc2=duration=5:size=1280x720:rate=24" -vf "tinterlace=mode=merge:field=1,format=yuv420p" -c:v libx264 -crf 18 -preset medium -pix_fmt yuv420p -r 48 -x264-params "nal-hrd=cbr:interlaced=1" -field_order bt -an "interlace_matrix\1280x720_24p_to_24i_genField1_meta_wrong_metaField0.mkv"
# fps=25
%ffmpeg% -y -hide_banner -f lavfi -i "testsrc2=duration=5:size=1280x720:rate=25" -vf "format=yuv420p" -c:v libx264 -crf 18 -preset medium -pix_fmt yuv420p -r 25 -x264-params "nal-hrd=cbr:interlaced=0" -an "interlace_matrix\1280x720_25p_prog.mkv"
%ffmpeg% -y -hide_banner -f lavfi -i "testsrc2=duration=5:size=1280x720:rate=25" -vf "tinterlace=mode=merge:field=0,format=yuv420p" -c:v libx264 -crf 18 -preset medium -pix_fmt yuv420p -r 50 -x264-params "nal-hrd=cbr:interlaced=1" -field_order bt -an "interlace_matrix\1280x720_25p_to_25i_genField0_meta_ok_metaField0.mkv"
%ffmpeg% -y -hide_banner -f lavfi -i "testsrc2=duration=5:size=1280x720:rate=25" -vf "tinterlace=mode=merge:field=0,format=yuv420p" -c:v libx264 -crf 18 -preset medium -pix_fmt yuv420p -r 50 -x264-params "nal-hrd=cbr:interlaced=1" -field_order tt -an "interlace_matrix\1280x720_25p_to_25i_genField0_meta_wrong_metaField1.mkv"
%ffmpeg% -y -hide_banner -f lavfi -i "testsrc2=duration=5:size=1280x720:rate=25" -vf "tinterlace=mode=merge:field=1,format=yuv420p" -c:v libx264 -crf 18 -preset medium -pix_fmt yuv420p -r 50 -x264-params "nal-hrd=cbr:interlaced=1" -field_order tt -an "interlace_matrix\1280x720_25p_to_25i_genField1_meta_ok_metaField1.mkv"
%ffmpeg% -y -hide_banner -f lavfi -i "testsrc2=duration=5:size=1280x720:rate=25" -vf "tinterlace=mode=merge:field=1,format=yuv420p" -c:v libx264 -crf 18 -preset medium -pix_fmt yuv420p -r 50 -x264-params "nal-hrd=cbr:interlaced=1" -field_order bt -an "interlace_matrix\1280x720_25p_to_25i_genField1_meta_wrong_metaField0.mkv"
# fps=30
%ffmpeg% -y -hide_banner -f lavfi -i "testsrc2=duration=5:size=1280x720:rate=30" -vf "format=yuv420p" -c:v libx264 -crf 18 -preset medium -pix_fmt yuv420p -r 30 -x264-params "nal-hrd=cbr:interlaced=0" -an "interlace_matrix\1280x720_30p_prog.mkv"
%ffmpeg% -y -hide_banner -f lavfi -i "testsrc2=duration=5:size=1280x720:rate=30" -vf "tinterlace=mode=merge:field=0,format=yuv420p" -c:v libx264 -crf 18 -preset medium -pix_fmt yuv420p -r 60 -x264-params "nal-hrd=cbr:interlaced=1" -field_order bt -an "interlace_matrix\1280x720_30p_to_30i_genField0_meta_ok_metaField0.mkv"
%ffmpeg% -y -hide_banner -f lavfi -i "testsrc2=duration=5:size=1280x720:rate=30" -vf "tinterlace=mode=merge:field=0,format=yuv420p" -c:v libx264 -crf 18 -preset medium -pix_fmt yuv420p -r 60 -x264-params "nal-hrd=cbr:interlaced=1" -field_order tt -an "interlace_matrix\1280x720_30p_to_30i_genField0_meta_wrong_metaField1.mkv"
%ffmpeg% -y -hide_banner -f lavfi -i "testsrc2=duration=5:size=1280x720:rate=30" -vf "tinterlace=mode=merge:field=1,format=yuv420p" -c:v libx264 -crf 18 -preset medium -pix_fmt yuv420p -r 60 -x264-params "nal-hrd=cbr:interlaced=1" -field_order tt -an "interlace_matrix\1280x720_30p_to_30i_genField1_meta_ok_metaField1.mkv"
%ffmpeg% -y -hide_banner -f lavfi -i "testsrc2=duration=5:size=1280x720:rate=30" -vf "tinterlace=mode=merge:field=1,format=yuv420p" -c:v libx264 -crf 18 -preset medium -pix_fmt yuv420p -r 60 -x264-params "nal-hrd=cbr:interlaced=1" -field_order bt -an "interlace_matrix\1280x720_30p_to_30i_genField1_meta_wrong_metaField0.mkv"
# fps=60
%ffmpeg% -y -hide_banner -f lavfi -i "testsrc2=duration=5:size=1280x720:rate=60" -vf "format=yuv420p" -c:v libx264 -crf 18 -preset medium -pix_fmt yuv420p -r 60 -x264-params "nal-hrd=cbr:interlaced=0" -an "interlace_matrix\1280x720_60p_prog.mkv"
%ffmpeg% -y -hide_banner -f lavfi -i "testsrc2=duration=5:size=1280x720:rate=60" -vf "tinterlace=mode=merge:field=0,format=yuv420p" -c:v libx264 -crf 18 -preset medium -pix_fmt yuv420p -r 120 -x264-params "nal-hrd=cbr:interlaced=1" -field_order bt -an "interlace_matrix\1280x720_60p_to_60i_genField0_meta_ok_metaField0.mkv"
%ffmpeg% -y -hide_banner -f lavfi -i "testsrc2=duration=5:size=1280x720:rate=60" -vf "tinterlace=mode=merge:field=0,format=yuv420p" -c:v libx264 -crf 18 -preset medium -pix_fmt yuv420p -r 120 -x264-params "nal-hrd=cbr:interlaced=1" -field_order tt -an "interlace_matrix\1280x720_60p_to_60i_genField0_meta_wrong_metaField1.mkv"
%ffmpeg% -y -hide_banner -f lavfi -i "testsrc2=duration=5:size=1280x720:rate=60" -vf "tinterlace=mode=merge:field=1,format=yuv420p" -c:v libx264 -crf 18 -preset medium -pix_fmt yuv420p -r 120 -x264-params "nal-hrd=cbr:interlaced=1" -field_order tt -an "interlace_matrix\1280x720_60p_to_60i_genField1_meta_ok_metaField1.mkv"
%ffmpeg% -y -hide_banner -f lavfi -i "testsrc2=duration=5:size=1280x720:rate=60" -vf "tinterlace=mode=merge:field=1,format=yuv420p" -c:v libx264 -crf 18 -preset medium -pix_fmt yuv420p -r 120 -x264-params "nal-hrd=cbr:interlaced=1" -field_order bt -an "interlace_matrix\1280x720_60p_to_60i_genField1_meta_wrong_metaField0.mkv"
# ---------- 720x480 ----------
# fps=24
%ffmpeg% -y -hide_banner -f lavfi -i "testsrc2=duration=5:size=720x480:rate=24" -vf "format=yuv420p" -c:v libx264 -crf 18 -preset medium -pix_fmt yuv420p -r 24 -x264-params "nal-hrd=cbr:interlaced=0" -an "interlace_matrix\720x480_24p_prog.mkv"
%ffmpeg% -y -hide_banner -f lavfi -i "testsrc2=duration=5:size=720x480:rate=24" -vf "tinterlace=mode=merge:field=0,format=yuv420p" -c:v libx264 -crf 18 -preset medium -pix_fmt yuv420p -r 48 -x264-params "nal-hrd=cbr:interlaced=1" -field_order bt -an "interlace_matrix\720x480_24p_to_24i_genField0_meta_ok_metaField0.mkv"
%ffmpeg% -y -hide_banner -f lavfi -i "testsrc2=duration=5:size=720x480:rate=24" -vf "tinterlace=mode=merge:field=0,format=yuv420p" -c:v libx264 -crf 18 -preset medium -pix_fmt yuv420p -r 48 -x264-params "nal-hrd=cbr:interlaced=1" -field_order tt -an "interlace_matrix\720x480_24p_to_24i_genField0_meta_wrong_metaField1.mkv"
%ffmpeg% -y -hide_banner -f lavfi -i "testsrc2=duration=5:size=720x480:rate=24" -vf "tinterlace=mode=merge:field=1,format=yuv420p" -c:v libx264 -crf 18 -preset medium -pix_fmt yuv420p -r 48 -x264-params "nal-hrd=cbr:interlaced=1" -field_order tt -an "interlace_matrix\720x480_24p_to_24i_genField1_meta_ok_metaField1.mkv"
%ffmpeg% -y -hide_banner -f lavfi -i "testsrc2=duration=5:size=720x480:rate=24" -vf "tinterlace=mode=merge:field=1,format=yuv420p" -c:v libx264 -crf 18 -preset medium -pix_fmt yuv420p -r 48 -x264-params "nal-hrd=cbr:interlaced=1" -field_order bt -an "interlace_matrix\720x480_24p_to_24i_genField1_meta_wrong_metaField0.mkv"
# fps=25
%ffmpeg% -y -hide_banner -f lavfi -i "testsrc2=duration=5:size=720x480:rate=25" -vf "format=yuv420p" -c:v libx264 -crf 18 -preset medium -pix_fmt yuv420p -r 25 -x264-params "nal-hrd=cbr:interlaced=0" -an "interlace_matrix\720x480_25p_prog.mkv"
%ffmpeg% -y -hide_banner -f lavfi -i "testsrc2=duration=5:size=720x480:rate=25" -vf "tinterlace=mode=merge:field=0,format=yuv420p" -c:v libx264 -crf 18 -preset medium -pix_fmt yuv420p -r 50 -x264-params "nal-hrd=cbr:interlaced=1" -field_order bt -an "interlace_matrix\720x480_25p_to_25i_genField0_meta_ok_metaField0.mkv"
%ffmpeg% -y -hide_banner -f lavfi -i "testsrc2=duration=5:size=720x480:rate=25" -vf "tinterlace=mode=merge:field=0,format=yuv420p" -c:v libx264 -crf 18 -preset medium -pix_fmt yuv420p -r 50 -x264-params "nal-hrd=cbr:interlaced=1" -field_order tt -an "interlace_matrix\720x480_25p_to_25i_genField0_meta_wrong_metaField1.mkv"
%ffmpeg% -y -hide_banner -f lavfi -i "testsrc2=duration=5:size=720x480:rate=25" -vf "tinterlace=mode=merge:field=1,format=yuv420p" -c:v libx264 -crf 18 -preset medium -pix_fmt yuv420p -r 50 -x264-params "nal-hrd=cbr:interlaced=1" -field_order tt -an "interlace_matrix\720x480_25p_to_25i_genField1_meta_ok_metaField1.mkv"
%ffmpeg% -y -hide_banner -f lavfi -i "testsrc2=duration=5:size=720x480:rate=25" -vf "tinterlace=mode=merge:field=1,format=yuv420p" -c:v libx264 -crf 18 -preset medium -pix_fmt yuv420p -r 50 -x264-params "nal-hrd=cbr:interlaced=1" -field_order bt -an "interlace_matrix\720x480_25p_to_25i_genField1_meta_wrong_metaField0.mkv"
# fps=30
%ffmpeg% -y -hide_banner -f lavfi -i "testsrc2=duration=5:size=720x480:rate=30" -vf "format=yuv420p" -c:v libx264 -crf 18 -preset medium -pix_fmt yuv420p -r 30 -x264-params "nal-hrd=cbr:interlaced=0" -an "interlace_matrix\720x480_30p_prog.mkv"
%ffmpeg% -y -hide_banner -f lavfi -i "testsrc2=duration=5:size=720x480:rate=30" -vf "tinterlace=mode=merge:field=0,format=yuv420p" -c:v libx264 -crf 18 -preset medium -pix_fmt yuv420p -r 60 -x264-params "nal-hrd=cbr:interlaced=1" -field_order bt -an "interlace_matrix\720x480_30p_to_30i_genField0_meta_ok_metaField0.mkv"
%ffmpeg% -y -hide_banner -f lavfi -i "testsrc2=duration=5:size=720x480:rate=30" -vf "tinterlace=mode=merge:field=0,format=yuv420p" -c:v libx264 -crf 18 -preset medium -pix_fmt yuv420p -r 60 -x264-params "nal-hrd=cbr:interlaced=1" -field_order tt -an "interlace_matrix\720x480_30p_to_30i_genField0_meta_wrong_metaField1.mkv"
%ffmpeg% -y -hide_banner -f lavfi -i "testsrc2=duration=5:size=720x480:rate=30" -vf "tinterlace=mode=merge:field=1,format=yuv420p" -c:v libx264 -crf 18 -preset medium -pix_fmt yuv420p -r 60 -x264-params "nal-hrd=cbr:interlaced=1" -field_order tt -an "interlace_matrix\720x480_30p_to_30i_genField1_meta_ok_metaField1.mkv"
%ffmpeg% -y -hide_banner -f lavfi -i "testsrc2=duration=5:size=720x480:rate=30" -vf "tinterlace=mode=merge:field=1,format=yuv420p" -c:v libx264 -crf 18 -preset medium -pix_fmt yuv420p -r 60 -x264-params "nal-hrd=cbr:interlaced=1" -field_order bt -an "interlace_matrix\720x480_30p_to_30i_genField1_meta_wrong_metaField0.mkv"
# fps=60
%ffmpeg% -y -hide_banner -f lavfi -i "testsrc2=duration=5:size=720x480:rate=60" -vf "format=yuv420p" -c:v libx264 -crf 18 -preset medium -pix_fmt yuv420p -r 60 -x264-params "nal-hrd=cbr:interlaced=0" -an "interlace_matrix\720x480_60p_prog.mkv"
%ffmpeg% -y -hide_banner -f lavfi -i "testsrc2=duration=5:size=720x480:rate=60" -vf "tinterlace=mode=merge:field=0,format=yuv420p" -c:v libx264 -crf 18 -preset medium -pix_fmt yuv420p -r 120 -x264-params "nal-hrd=cbr:interlaced=1" -field_order bt -an "interlace_matrix\720x480_60p_to_60i_genField0_meta_ok_metaField0.mkv"
%ffmpeg% -y -hide_banner -f lavfi -i "testsrc2=duration=5:size=720x480:rate=60" -vf "tinterlace=mode=merge:field=0,format=yuv420p" -c:v libx264 -crf 18 -preset medium -pix_fmt yuv420p -r 120 -x264-params "nal-hrd=cbr:interlaced=1" -field_order tt -an "interlace_matrix\720x480_60p_to_60i_genField0_meta_wrong_metaField1.mkv"
%ffmpeg% -y -hide_banner -f lavfi -i "testsrc2=duration=5:size=720x480:rate=60" -vf "tinterlace=mode=merge:field=1,format=yuv420p" -c:v libx264 -crf 18 -preset medium -pix_fmt yuv420p -r 120 -x264-params "nal-hrd=cbr:interlaced=1" -field_order tt -an "interlace_matrix\720x480_60p_to_60i_genField1_meta_ok_metaField1.mkv"
%ffmpeg% -y -hide_banner -f lavfi -i "testsrc2=duration=5:size=720x480:rate=60" -vf "tinterlace=mode=merge:field=1,format=yuv420p" -c:v libx264 -crf 18 -preset medium -pix_fmt yuv420p -r 120 -x264-params "nal-hrd=cbr:interlaced=1" -field_order bt -an "interlace_matrix\720x480_60p_to_60i_genField1_meta_wrong_metaField0.mkv"
# ---------- 720x576 ----------
# fps=24
%ffmpeg% -y -hide_banner -f lavfi -i "testsrc2=duration=5:size=720x576:rate=24" -vf "format=yuv420p" -c:v libx264 -crf 18 -preset medium -pix_fmt yuv420p -r 24 -x264-params "nal-hrd=cbr:interlaced=0" -an "interlace_matrix\720x576_24p_prog.mkv"
%ffmpeg% -y -hide_banner -f lavfi -i "testsrc2=duration=5:size=720x576:rate=24" -vf "tinterlace=mode=merge:field=0,format=yuv420p" -c:v libx264 -crf 18 -preset medium -pix_fmt yuv420p -r 48 -x264-params "nal-hrd=cbr:interlaced=1" -field_order bt -an "interlace_matrix\720x576_24p_to_24i_genField0_meta_ok_metaField0.mkv"
%ffmpeg% -y -hide_banner -f lavfi -i "testsrc2=duration=5:size=720x576:rate=24" -vf "tinterlace=mode=merge:field=0,format=yuv420p" -c:v libx264 -crf 18 -preset medium -pix_fmt yuv420p -r 48 -x264-params "nal-hrd=cbr:interlaced=1" -field_order tt -an "interlace_matrix\720x576_24p_to_24i_genField0_meta_wrong_metaField1.mkv"
%ffmpeg% -y -hide_banner -f lavfi -i "testsrc2=duration=5:size=720x576:rate=24" -vf "tinterlace=mode=merge:field=1,format=yuv420p" -c:v libx264 -crf 18 -preset medium -pix_fmt yuv420p -r 48 -x264-params "nal-hrd=cbr:interlaced=1" -field_order tt -an "interlace_matrix\720x576_24p_to_24i_genField1_meta_ok_metaField1.mkv"
%ffmpeg% -y -hide_banner -f lavfi -i "testsrc2=duration=5:size=720x576:rate=24" -vf "tinterlace=mode=merge:field=1,format=yuv420p" -c:v libx264 -crf 18 -preset medium -pix_fmt yuv420p -r 48 -x264-params "nal-hrd=cbr:interlaced=1" -field_order bt -an "interlace_matrix\720x576_24p_to_24i_genField1_meta_wrong_metaField0.mkv"
# fps=25
%ffmpeg% -y -hide_banner -f lavfi -i "testsrc2=duration=5:size=720x576:rate=25" -vf "format=yuv420p" -c:v libx264 -crf 18 -preset medium -pix_fmt yuv420p -r 25 -x264-params "nal-hrd=cbr:interlaced=0" -an "interlace_matrix\720x576_25p_prog.mkv"
%ffmpeg% -y -hide_banner -f lavfi -i "testsrc2=duration=5:size=720x576:rate=25" -vf "tinterlace=mode=merge:field=0,format=yuv420p" -c:v libx264 -crf 18 -preset medium -pix_fmt yuv420p -r 50 -x264-params "nal-hrd=cbr:interlaced=1" -field_order bt -an "interlace_matrix\720x576_25p_to_25i_genField0_meta_ok_metaField0.mkv"
%ffmpeg% -y -hide_banner -f lavfi -i "testsrc2=duration=5:size=720x576:rate=25" -vf "tinterlace=mode=merge:field=0,format=yuv420p" -c:v libx264 -crf 18 -preset medium -pix_fmt yuv420p -r 50 -x264-params "nal-hrd=cbr:interlaced=1" -field_order tt -an "interlace_matrix\720x576_25p_to_25i_genField0_meta_wrong_metaField1.mkv"
%ffmpeg% -y -hide_banner -f lavfi -i "testsrc2=duration=5:size=720x576:rate=25" -vf "tinterlace=mode=merge:field=1,format=yuv420p" -c:v libx264 -crf 18 -preset medium -pix_fmt yuv420p -r 50 -x264-params "nal-hrd=cbr:interlaced=1" -field_order tt -an "interlace_matrix\720x576_25p_to_25i_genField1_meta_ok_metaField1.mkv"
%ffmpeg% -y -hide_banner -f lavfi -i "testsrc2=duration=5:size=720x576:rate=25" -vf "tinterlace=mode=merge:field=1,format=yuv420p" -c:v libx264 -crf 18 -preset medium -pix_fmt yuv420p -r 50 -x264-params "nal-hrd=cbr:interlaced=1" -field_order bt -an "interlace_matrix\720x576_25p_to_25i_genField1_meta_wrong_metaField0.mkv"
# fps=30
%ffmpeg% -y -hide_banner -f lavfi -i "testsrc2=duration=5:size=720x576:rate=30" -vf "format=yuv420p" -c:v libx264 -crf 18 -preset medium -pix_fmt yuv420p -r 30 -x264-params "nal-hrd=cbr:interlaced=0" -an "interlace_matrix\720x576_30p_prog.mkv"
%ffmpeg% -y -hide_banner -f lavfi -i "testsrc2=duration=5:size=720x576:rate=30" -vf "tinterlace=mode=merge:field=0,format=yuv420p" -c:v libx264 -crf 18 -preset medium -pix_fmt yuv420p -r 60 -x264-params "nal-hrd=cbr:interlaced=1" -field_order bt -an "interlace_matrix\720x576_30p_to_30i_genField0_meta_ok_metaField0.mkv"
%ffmpeg% -y -hide_banner -f lavfi -i "testsrc2=duration=5:size=720x576:rate=30" -vf "tinterlace=mode=merge:field=0,format=yuv420p" -c:v libx264 -crf 18 -preset medium -pix_fmt yuv420p -r 60 -x264-params "nal-hrd=cbr:interlaced=1" -field_order tt -an "interlace_matrix\720x576_30p_to_30i_genField0_meta_wrong_metaField1.mkv"
%ffmpeg% -y -hide_banner -f lavfi -i "testsrc2=duration=5:size=720x576:rate=30" -vf "tinterlace=mode=merge:field=1,format=yuv420p" -c:v libx264 -crf 18 -preset medium -pix_fmt yuv420p -r 60 -x264-params "nal-hrd=cbr:interlaced=1" -field_order tt -an "interlace_matrix\720x576_30p_to_30i_genField1_meta_ok_metaField1.mkv"
%ffmpeg% -y -hide_banner -f lavfi -i "testsrc2=duration=5:size=720x576:rate=30" -vf "tinterlace=mode=merge:field=1,format=yuv420p" -c:v libx264 -crf 18 -preset medium -pix_fmt yuv420p -r 60 -x264-params "nal-hrd=cbr:interlaced=1" -field_order bt -an "interlace_matrix\720x576_30p_to_30i_genField1_meta_wrong_metaField0.mkv"
# fps=60
%ffmpeg% -y -hide_banner -f lavfi -i "testsrc2=duration=5:size=720x576:rate=60" -vf "format=yuv420p" -c:v libx264 -crf 18 -preset medium -pix_fmt yuv420p -r 60 -x264-params "nal-hrd=cbr:interlaced=0" -an "interlace_matrix\720x576_60p_prog.mkv"
%ffmpeg% -y -hide_banner -f lavfi -i "testsrc2=duration=5:size=720x576:rate=60" -vf "tinterlace=mode=merge:field=0,format=yuv420p" -c:v libx264 -crf 18 -preset medium -pix_fmt yuv420p -r 120 -x264-params "nal-hrd=cbr:interlaced=1" -field_order bt -an "interlace_matrix\720x576_60p_to_60i_genField0_meta_ok_metaField0.mkv"
%ffmpeg% -y -hide_banner -f lavfi -i "testsrc2=duration=5:size=720x576:rate=60" -vf "tinterlace=mode=merge:field=0,format=yuv420p" -c:v libx264 -crf 18 -preset medium -pix_fmt yuv420p -r 120 -x264-params "nal-hrd=cbr:interlaced=1" -field_order tt -an "interlace_matrix\720x576_60p_to_60i_genField0_meta_wrong_metaField1.mkv"
%ffmpeg% -y -hide_banner -f lavfi -i "testsrc2=duration=5:size=720x576:rate=60" -vf "tinterlace=mode=merge:field=1,format=yuv420p" -c:v libx264 -crf 18 -preset medium -pix_fmt yuv420p -r 120 -x264-params "nal-hrd=cbr:interlaced=1" -field_order tt -an "interlace_matrix\720x576_60p_to_60i_genField1_meta_ok_metaField1.mkv"
%ffmpeg% -y -hide_banner -f lavfi -i "testsrc2=duration=5:size=720x576:rate=60" -vf "tinterlace=mode=merge:field=1,format=yuv420p" -c:v libx264 -crf 18 -preset medium -pix_fmt yuv420p -r 120 -x264-params "nal-hrd=cbr:interlaced=1" -field_order bt -an "interlace_matrix\720x576_60p_to_60i_genField1_meta_wrong_metaField0.mkv"
# === END COMMANDS ===
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment