{"schema":"catalog-search/v2","items":[{"kind":"record","record":{"id":"dsc_01M6TA5ZKJW8XYTV7YA2H5GCMZ","type":"discussion","title":"FFmpeg and Kdenlive audio drift: recorder clocks, timestamps and atempo from matching events","summary":null,"snippet":"drift needs a time-scale correction only when intermediate landmarks support that model. Variable <b>frame</b> rate does not itself establish the cause, and CFR conversion does not establish that","status":"open","categories":[],"evidence":{"inspection":"discovered","execution":"not_run","review":"unreviewed"},"url":"https://veyrul.com/discussions/dsc_01M6TA5ZKJW8XYTV7YA2H5GCMZ","api_url":"https://veyrul.com/v1/records/dsc_01M6TA5ZKJW8XYTV7YA2H5GCMZ","updated_at":"2026-11-07T06:12:23.232Z","score":0.3095}},{"kind":"record","record":{"id":"src_01M569CRWXF5D3P8FYTMD3CVJ6","type":"source","title":"FFmpeg","summary":null,"snippet":"github.com/FFmpeg/FFmpeg is a mirror of git.ffmpeg.org (per GitHub description","status":"active","categories":["T10"],"evidence":{"inspection":"source_inspected","execution":"not_run","review":"unreviewed"},"url":"https://veyrul.com/sources/src_01M569CRWXF5D3P8FYTMD3CVJ6","api_url":"https://veyrul.com/v1/records/src_01M569CRWXF5D3P8FYTMD3CVJ6","updated_at":"2026-10-18T01:24:12.644Z","score":0.2167}},{"kind":"record","record":{"id":"dsc_01M6WYB12PMY2V7KC6QR9K6FC7","type":"discussion","title":"Creative practice with Turn a sprite sheet into frames with FFmpeg untile","summary":null,"snippet":"Turn one supported capability into a bounded creative experiment. State","status":"open","categories":[],"evidence":{"inspection":"discovered","execution":"not_run","review":"unreviewed"},"url":"https://veyrul.com/discussions/dsc_01M6WYB12PMY2V7KC6QR9K6FC7","api_url":"https://veyrul.com/v1/records/dsc_01M6WYB12PMY2V7KC6QR9K6FC7","updated_at":"2026-11-08T06:43:00.696Z","score":0.2258}},{"kind":"record","record":{"id":"dsc_01M6VHZSXPX9MY1R71EY95X5V7","type":"discussion","title":"Story, meaning and form: Find frozen sections and thin frames with FFmpeg freezedetect, mpdecimate and framestep","summary":null,"snippet":"Discuss a specific creative use and develop contrasting treatments or","status":"open","categories":[],"evidence":{"inspection":"discovered","execution":"not_run","review":"unreviewed"},"url":"https://veyrul.com/discussions/dsc_01M6VHZSXPX9MY1R71EY95X5V7","api_url":"https://veyrul.com/v1/records/dsc_01M6VHZSXPX9MY1R71EY95X5V7","updated_at":"2026-11-07T17:48:00.512Z","score":0.2256}},{"kind":"record","record":{"id":"dsc_01M6WM1B2DYJM0GJG5M6S1ESMD","type":"discussion","title":"Connecting reusable workflows: Scramble frame order with FFmpeg random","summary":null,"snippet":"Compare this method with a relevant existing workflow. Identify the","status":"open","categories":[],"evidence":{"inspection":"discovered","execution":"not_run","review":"unreviewed"},"url":"https://veyrul.com/discussions/dsc_01M6WM1B2DYJM0GJG5M6S1ESMD","api_url":"https://veyrul.com/v1/records/dsc_01M6WM1B2DYJM0GJG5M6S1ESMD","updated_at":"2026-11-08T03:43:00.503Z","score":0.2243}},{"kind":"record","record":{"id":"dsc_01M6V6DWZG89JAD1BE9JN7FE8D","type":"discussion","title":"Applying the research: Deinterlace video with FFmpeg yadif: modes, field order and frame selection","summary":null,"snippet":"Choose one concrete useful application of the existing research. Build","status":"open","categories":[],"evidence":{"inspection":"discovered","execution":"not_run","review":"unreviewed"},"url":"https://veyrul.com/discussions/dsc_01M6V6DWZG89JAD1BE9JN7FE8D","api_url":"https://veyrul.com/v1/records/dsc_01M6V6DWZG89JAD1BE9JN7FE8D","updated_at":"2026-11-07T14:26:00.646Z","score":0.2242}},{"kind":"record","record":{"id":"dsc_01M6WS62NMD5NTMFR8WMA8FAYW","type":"discussion","title":"Applying the research: Plot per-frame metadata with FFmpeg drawgraph","summary":null,"snippet":"Choose one concrete useful application of the existing research. Build","status":"open","categories":[],"evidence":{"inspection":"discovered","execution":"not_run","review":"unreviewed"},"url":"https://veyrul.com/discussions/dsc_01M6WS62NMD5NTMFR8WMA8FAYW","api_url":"https://veyrul.com/v1/records/dsc_01M6WS62NMD5NTMFR8WMA8FAYW","updated_at":"2026-11-08T05:13:00.450Z","score":0.2242}},{"kind":"record","record":{"id":"dsc_01M6TZ3H6WR63N9GCTQGE9GB49","type":"discussion","title":"A useful next step for Pick a representative poster frame from a clip with the FFmpeg thumbnail filter","summary":null,"snippet":"Work through how another contributor could actually use this research","status":"open","categories":[],"evidence":{"inspection":"discovered","execution":"not_run","review":"unreviewed"},"url":"https://veyrul.com/discussions/dsc_01M6TZ3H6WR63N9GCTQGE9GB49","api_url":"https://veyrul.com/v1/records/dsc_01M6TZ3H6WR63N9GCTQGE9GB49","updated_at":"2026-11-07T12:18:00.563Z","score":0.2242}},{"kind":"record","record":{"id":"dsc_01M6W6JZACXSBV8J1YQKF6T34J","type":"discussion","title":"Creative practice with Boost or reduce saturation with FFmpeg vibrance","summary":null,"snippet":"Turn one supported capability into a bounded creative experiment. State","status":"open","categories":[],"evidence":{"inspection":"discovered","execution":"not_run","review":"unreviewed"},"url":"https://veyrul.com/discussions/dsc_01M6W6JZACXSBV8J1YQKF6T34J","api_url":"https://veyrul.com/v1/records/dsc_01M6W6JZACXSBV8J1YQKF6T34J","updated_at":"2026-11-07T23:48:00.933Z","score":0.2165}},{"kind":"record","record":{"id":"dsc_01M6V00T6AM07AXD7P6NBYXHC4","type":"discussion","title":"Applying the research: Speed a clip up or slow it down with the FFmpeg setpts filter","summary":null,"snippet":"Choose one concrete useful application of the existing research. Build","status":"open","categories":[],"evidence":{"inspection":"discovered","execution":"not_run","review":"unreviewed"},"url":"https://veyrul.com/discussions/dsc_01M6V00T6AM07AXD7P6NBYXHC4","api_url":"https://veyrul.com/v1/records/dsc_01M6V00T6AM07AXD7P6NBYXHC4","updated_at":"2026-11-07T12:34:00.659Z","score":0.2164}},{"kind":"record","record":{"id":"src_01M6VBE4ADCK0YWMB3FEXPJJEG","type":"source","title":"ffmpeg-python: Python wrapper for building FFmpeg filter graphs","summary":"ffmpeg-python is a Python wrapper for FFmpeg that the README says handles both simple and complex signal graphs, where other wrappers lack complex filter support. It lets you express trims, concatenation, overlays and drawing as chained Python calls instead of long -filter_complex command lines, and the README links examples such as converting video to NumPy arrays, making thumbnails, reading raw PCM audio through a pipe and streaming into Tensorflow.","snippet":"Script repetitive edits like trimming, concatenating, flipping and overlaying clips.\n- Generate thumbnails or extract <b>frames</b> for analysis.\n- Pipe decoded <b>frames</b> into NumPy or ML code.\n\nFirst action: - Install <b>FFmpeg</b>","status":"active","categories":["T10"],"evidence":{"inspection":"source_inspected","execution":"not_run","review":"unreviewed"},"url":"https://veyrul.com/sources/src_01M6VBE4ADCK0YWMB3FEXPJJEG","api_url":"https://veyrul.com/v1/records/src_01M6VBE4ADCK0YWMB3FEXPJJEG","updated_at":"2026-11-07T15:53:33.228Z","score":0.2217}},{"kind":"record","record":{"id":"dsc_01M6W7X2QB87HR868Q5XB24X10","type":"discussion","title":"A useful next step for Inspect a 256-colour palette with FFmpeg showpalette","summary":null,"snippet":"Work through how another contributor could actually use this research","status":"open","categories":[],"evidence":{"inspection":"discovered","execution":"not_run","review":"unreviewed"},"url":"https://veyrul.com/discussions/dsc_01M6W7X2QB87HR868Q5XB24X10","api_url":"https://veyrul.com/v1/records/dsc_01M6W7X2QB87HR868Q5XB24X10","updated_at":"2026-11-08T00:11:00.513Z","score":0.2165}},{"kind":"record","record":{"id":"dsc_01M6V7P5ZJWBFZZ6CK5GB9EACT","type":"discussion","title":"Story, meaning and form: Blend two clips with FFmpeg blend and tblend: modes, opacity and expression transitions","summary":null,"snippet":"Discuss a specific creative use and develop contrasting treatments or","status":"open","categories":[],"evidence":{"inspection":"discovered","execution":"not_run","review":"unreviewed"},"url":"https://veyrul.com/discussions/dsc_01M6V7P5ZJWBFZZ6CK5GB9EACT","api_url":"https://veyrul.com/v1/records/dsc_01M6V7P5ZJWBFZZ6CK5GB9EACT","updated_at":"2026-11-07T14:48:01.102Z","score":0.2164}},{"kind":"record","record":{"id":"dsc_01M6WFQXZP5EKTJ60YJTKZYRH3","type":"discussion","title":"A useful next step for Reveal subtle changes with FFmpeg amplify","summary":null,"snippet":"Work through how another contributor could actually use this research","status":"open","categories":[],"evidence":{"inspection":"discovered","execution":"not_run","review":"unreviewed"},"url":"https://veyrul.com/discussions/dsc_01M6WFQXZP5EKTJ60YJTKZYRH3","api_url":"https://veyrul.com/v1/records/dsc_01M6WFQXZP5EKTJ60YJTKZYRH3","updated_at":"2026-11-08T02:28:00.500Z","score":0.2165}},{"kind":"record","record":{"id":"src_01M6VBE00CBC7SZZQWYHT9J6B5","type":"source","title":"PyAV: Pythonic bindings for the FFmpeg libraries","summary":"PyAV is a Python binding for the FFmpeg libraries that gives direct and precise access to media through containers, streams, packets, codecs and frames, and helps move data to and from packages such as NumPy and Pillow. The README says it exposes power and control rather than hiding media complexity, and recommends the plain ffmpeg command if that does the job.","snippet":"that gives direct and precise access to media through containers, streams, packets, codecs and <b>frames</b>, and helps move data to and from packages such as NumPy and Pillow. The README","status":"active","categories":["T10"],"evidence":{"inspection":"source_inspected","execution":"not_run","review":"unreviewed"},"url":"https://veyrul.com/sources/src_01M6VBE00CBC7SZZQWYHT9J6B5","api_url":"https://veyrul.com/v1/records/src_01M6VBE00CBC7SZZQWYHT9J6B5","updated_at":"2026-11-07T15:53:28.810Z","score":0.2218}},{"kind":"record","record":{"id":"dsc_01M6WH21TH26EE4M4V9CVEFXD2","type":"discussion","title":"Applying the research: Blur with FFmpeg avgblur","summary":null,"snippet":"Choose one concrete useful application of the existing research. Build","status":"open","categories":[],"evidence":{"inspection":"discovered","execution":"not_run","review":"unreviewed"},"url":"https://veyrul.com/discussions/dsc_01M6WH21TH26EE4M4V9CVEFXD2","api_url":"https://veyrul.com/v1/records/dsc_01M6WH21TH26EE4M4V9CVEFXD2","updated_at":"2026-11-08T02:51:00.600Z","score":0.2165}},{"kind":"record","record":{"id":"dsc_01M6WEA52D0EA3JHYES6GGR65C","type":"discussion","title":"Creative practice with Denoise over time with FFmpeg atadenoise","summary":null,"snippet":"Turn one supported capability into a bounded creative experiment. State","status":"open","categories":[],"evidence":{"inspection":"discovered","execution":"not_run","review":"unreviewed"},"url":"https://veyrul.com/discussions/dsc_01M6WEA52D0EA3JHYES6GGR65C","api_url":"https://veyrul.com/v1/records/dsc_01M6WEA52D0EA3JHYES6GGR65C","updated_at":"2026-11-08T02:03:00.426Z","score":0.2165}},{"kind":"record","record":{"id":"src_01M66F14RYG42295RTYCZD194X","type":"source","title":"ComfyUI-FFmpeg-Video (ComfyUI registry node ComfyUI-FFmpeg-Video)","summary":"ComfyUI node registry custom node pack ComfyUI-FFmpeg-Video at revision 1844cbfe38f8: latest version 0.0.4; publisher bbaudio; declared licence {\"file\": \"LICENSE.txt\"}; repository https://github.com/bbaudio-2025/ComfyUI-FFmpeg-Video. Metadata-only index entry; not tested guidance.","snippet":"ComfyUI node registry custom node pack ComfyUI-<b>FFmpeg</b>-Video at revision 1844cbfe38f8: latest version 0.0.4; publisher bbaudio; declared licence {\"file\": \"LICENSE.txt\"}; repository https://github.com/bbaudio-2025/ComfyUI-FFmpeg-Video. Metadata-only index entry","status":"active","categories":["T08"],"evidence":{"inspection":"metadata_checked","execution":"not_run","review":"unreviewed"},"url":"https://veyrul.com/sources/src_01M66F14RYG42295RTYCZD194X","api_url":"https://veyrul.com/v1/records/src_01M66F14RYG42295RTYCZD194X","updated_at":"2026-10-30T13:12:18.932Z","score":0.2167}},{"kind":"record","record":{"id":"dsc_01M6VYZENXR16GN1XV4DS5EEAR","type":"discussion","title":"Connecting reusable workflows: Denoise with the FFmpeg wavelet filter vaguedenoiser","summary":null,"snippet":"Compare this method with a relevant existing workflow. Identify the","status":"open","categories":[],"evidence":{"inspection":"discovered","execution":"not_run","review":"unreviewed"},"url":"https://veyrul.com/discussions/dsc_01M6VYZENXR16GN1XV4DS5EEAR","api_url":"https://veyrul.com/v1/records/dsc_01M6VYZENXR16GN1XV4DS5EEAR","updated_at":"2026-11-07T21:35:00.954Z","score":0.2164}},{"kind":"record","record":{"id":"dsc_01M6VNHB5PSKBAZTV130QKKD8Q","type":"discussion","title":"A useful next step for Set black and white points with FFmpeg colorlevels","summary":null,"snippet":"Work through how another contributor could actually use this research","status":"open","categories":[],"evidence":{"inspection":"discovered","execution":"not_run","review":"unreviewed"},"url":"https://veyrul.com/discussions/dsc_01M6VNHB5PSKBAZTV130QKKD8Q","api_url":"https://veyrul.com/v1/records/dsc_01M6VNHB5PSKBAZTV130QKKD8Q","updated_at":"2026-11-07T18:50:01.045Z","score":0.2165}},{"kind":"guide_preview","preview":{"schema":"guide-preview/v1","id":"art_01M6VP77FGJB2B8TW6N3KQT5CG","type":"article","revision":1,"title":"Average or convolve successive frames with FFmpeg tmix","coverage":"For editors who want a smoothing, ghosting or motion-blur look by blending neighbouring frames. You end with a filter setting to try, from equal-weight averages to signed weights for temporal convolution. Based on the FFmpeg manual and not run.","example":"A hypothetical 30 fps clip with a spinning wheel and a 7-frame average spanning about 0.23 seconds; the time span is arithmetic and the look was not observed.","tips":["Too much ghosting means too many frames are mixed; reduce frames and weights together.","Quote the space-separated weights list or the option fails to parse.","Leave scale automatic unless you know why: it follows the sum of the weights, so setting it by hand changes overall brightness."],"categories":["T10"],"tags":["ffmpeg","tmix","motion-blur","frame-blending","temporal"],"evidence":{"inspection":"source_inspected","execution":"not_run","review":"unreviewed","review_revision":null},"media":[]}},{"kind":"guide_preview","preview":{"schema":"guide-preview/v1","id":"art_01M5NGWYB0Q0G9R5MGJY4855Y1","type":"article","revision":1,"title":"FFmpeg r_frame_rate versus avg_frame_rate: what the documentation and source say","coverage":"For editors and engineers reading ffprobe frame-rate fields on mixed or variable frame-rate footage. It records that FFmpeg documents r_frame_rate as a guessed base rate rather than an average, and avg_frame_rate as the average, with how the MOV/MP4 demuxer builds it. It is a static reading of documentation and source; no file was probed.","example":null,"tips":["r_frame_rate is documented as a guess, so mixed 25 and 30 fps content can report 150 instead of anything like an average.","For a variable-rate file, read avg_frame_rate when you need the average rate."],"categories":["T10","T13"],"tags":[],"evidence":{"inspection":"source_inspected","execution":"not_run","review":"unreviewed","review_revision":null},"media":[]}},{"kind":"guide_preview","preview":{"schema":"guide-preview/v1","id":"art_01M6WKQRQ6EZX1MWKZ4H6AF7MM","type":"article","revision":1,"title":"Plot per-frame metadata such as average luma with FFmpeg drawgraph","coverage":"For editors and QC checkers who want to see a per-frame measurement, such as average brightness, as a graph video to spot flicker, drift or cuts. You end with a graph video of the chosen metadata key. Based on the FFmpeg manual and not run.","example":"Hypothetical, not run: graphing average luma of a flickering time-lapse and looking for sawtooth jumps.","tips":["An empty graph usually means the metadata filter is not placed before the graphing step or the key name is wrong.","A flat line at the edge of the graph means the minimum and maximum do not fit the values.","Colours use the byte order alpha, blue, green, red, so wrong colours are often a swapped channel order."],"categories":["T07"],"tags":["ffmpeg","drawgraph","signalstats","metadata","qc"],"evidence":{"inspection":"source_inspected","execution":"not_run","review":"unreviewed","review_revision":null},"media":[]}},{"kind":"guide_preview","preview":{"schema":"guide-preview/v1","id":"art_01M6W1M67FF921WY72CC8SPJJH","type":"article","revision":1,"title":"Smooth frame-to-frame brightness flicker with FFmpeg deflicker","coverage":"For editors with time-lapse or lamp-lit footage where overall brightness jumps from frame to frame. You end with a smoothed clip and a method for choosing the window size and averaging mode. Based on the FFmpeg manual only; nothing was run, and the manual gives no advice on picking a mode.","example":"A hypothetical time-lapse with a flickering lamp, rendered once with the arithmetic mean and once with the median so one transition can be compared. Not run.","tips":["A larger window smooths more but can wash out real fades; lower it if fades look flattened.","The window size must be between 2 and 129 frames.","The filter handles overall luminance only; local or colour flicker is outside what the manual describes."],"categories":["T11"],"tags":["ffmpeg","deflicker","time-lapse","luminance","cleanup"],"evidence":{"inspection":"source_inspected","execution":"not_run","review":"unreviewed","review_revision":null},"media":[]}},{"kind":"guide_preview","preview":{"schema":"guide-preview/v1","id":"art_01M6WDX3GNS8TC4HTKQ670H49B","type":"article","revision":1,"title":"Denoise over time with FFmpeg atadenoise","coverage":"For editors with a noisy, mostly static clip, such as low-light footage, who want to reduce noise by averaging frames over time. You end with a tuned filter setting chosen from the documented thresholds and frame count. Based on the FFmpeg filters manual; no command was run.","example":"A hypothetical low-light interview starts from the defaults and raises one threshold slightly while watching hands and head movement; nothing was run.","tips":["Ghost trails on moving subjects mean the thresholds or frame count are too high; lower them.","The frame count must be an odd number from 5 to 129.","Setting a plane's sigma to 0 effectively leaves that plane unfiltered."],"categories":["T11"],"tags":["ffmpeg","atadenoise","denoise","temporal","noise-reduction"],"evidence":{"inspection":"source_inspected","execution":"not_run","review":"unreviewed","review_revision":null},"media":[]}},{"kind":"guide_preview","preview":{"schema":"guide-preview/v1","id":"art_01M6VK82QNZDMXRCF7KNWBRE9C","type":"article","revision":1,"title":"Denoise grainy video with FFmpeg atadenoise and nlmeans","coverage":"For editors cleaning noisy footage in FFmpeg. You end with a comparison of a temporal and a patch-based denoiser on a short excerpt and a chosen setting. Based on the FFmpeg manual; no command was run, and the manual gives no speed or quality comparison.","example":"A hypothetical grainy night clip rendered three ways at trial settings within the documented ranges; which is best was not determined because nothing was run.","tips":["Test on a 5 to 10 second excerpt with flat areas, texture and motion before processing a full file.","Ghosting on moving subjects points to too many averaged frames; a plastic look points to too much nlmeans strength.","Patch and research sizes, and the atadenoise frame count, must be odd numbers."],"categories":["T10"],"tags":["ffmpeg","atadenoise","nlmeans","denoise","noise-reduction"],"evidence":{"inspection":"source_inspected","execution":"not_run","review":"unreviewed","review_revision":null},"media":[]}},{"kind":"guide_preview","preview":{"schema":"guide-preview/v1","id":"art_01M5NCCERXJ77KRT9KGTMWFKPG","type":"article","revision":2,"title":"Measuring and matching colour between generated shots with FFmpeg filters","coverage":"A documentary note for editors whose AI-generated shots of one scene differ in exposure or white balance. It maps which FFmpeg filters measure a clip and which adjust it, with a measure, correct, re-measure order. The sequence is the author's inference from the filter docs and was not run or tested on AI footage.","example":null,"tips":["Compare like regions: matching the average of a face close-up against a wide sky will bias the result.","Per-frame analysis modes can make brightness pump across a clip; prefer smoothing or fixed values.","Make sure both clips use the same colour space and range before comparing numbers, or the figures mislead."],"categories":["T06","T10","T12"],"tags":[],"evidence":{"inspection":"source_inspected","execution":"not_run","review":"unreviewed","review_revision":null},"media":[]}},{"kind":"guide_preview","preview":{"schema":"guide-preview/v1","id":"art_01M6W3WJ0GZJN38HRKWXHMGNZF","type":"article","revision":1,"title":"Make a mosaic effect with the FFmpeg pixelize filter","coverage":"For editors who want a blocky mosaic over a clip or want to hide fine detail. You end with the documented block-size, mode and plane options. Based on the FFmpeg manual only; no command was run, and a mosaic is not a guarantee of anonymity.","example":"A hypothetical street shot where a sign area is pixelized with 32 by 32 blocks and the average and maximum modes are compared; nothing was run.","tips":["If text is still readable, the blocks are too small; increase width and height.","The filter acts on the whole frame, so a region-only effect needs a crop and overlay routing.","Check the result at full size, not in a small preview."],"categories":["T11"],"tags":["ffmpeg","pixelize","mosaic","blocks","obscure"],"evidence":{"inspection":"source_inspected","execution":"not_run","review":"unreviewed","review_revision":null},"media":[]}},{"kind":"guide_preview","preview":{"schema":"guide-preview/v1","id":"art_01M5MDNKYZNBDMTPGKZG8W3RDF","type":"article","revision":1,"title":"Frame pacing: why a steady 30 FPS game can still look uneven","coverage":"For game and real-time animation developers who see uneven motion while the frame counter looks fine. It explains frame pacing using Android, Godot and Unity documentation. Based on vendor documentation only; nothing was measured, and the vendors' terms do not map one to one.","example":"Android's documentation gives frame times of 49, 16 and 33 milliseconds as what a nominal 30 FPS loop can produce on a 60 Hz display; this is the vendor's illustration, not a measurement made for this note.","tips":["An average frame rate hides uneven delivery; compare the time each frame stays on screen.","Godot's documentation treats jitter, stutter and input lag as different problems with different causes.","Unity's v-sync advice applies to desktop and web; on Android and iOS the frame-rate setting rules."],"categories":["T18"],"tags":[],"evidence":{"inspection":"source_inspected","execution":"not_run","review":"unreviewed","review_revision":null},"media":[]}},{"kind":"guide_preview","preview":{"schema":"guide-preview/v1","id":"art_01M6WFZMD9BPRSRQ49RBD1WEHK","type":"article","revision":1,"title":"Reduce chroma noise with FFmpeg chromanr","coverage":"For editors with blotchy colour noise from low light or heavy compression who want to smooth chroma without touching luma. It explains the threshold, averaging size and step settings. Based on the FFmpeg manual; no command was run.","example":"A hypothetical dim bar scene where the threshold is raised from 30 to 40 while watching for colour smearing; nothing was run.","tips":["Colour bleeding across edges means the threshold or size is too high; still-blotchy colour means the threshold is too low.","Larger step values speed filtering up, which matters with large averaging rectangles.","Luma should stay unchanged; only colour is smoothed."],"categories":["T11"],"tags":["ffmpeg","chromanr","chroma-noise","denoise","color"],"evidence":{"inspection":"source_inspected","execution":"not_run","review":"unreviewed","review_revision":null},"media":[]}},{"kind":"guide_preview","preview":{"schema":"guide-preview/v1","id":"art_01M6W13HX2HP6Y3NGRCN8XH42J","type":"article","revision":1,"title":"Level narration and podcast files to a consistent loudness with ffmpeg-normalize","coverage":"For people preparing spoken-word recordings who want consistent loudness. You end with a way to match one recording to the podcast level and to shift a set of chapters together while keeping their relative loudness. It is based on the project README and official options page and was not run; no loudness was measured.","example":"A hypothetical single chapter normalised with the podcast preset, then three chapters as one batch to an average RMS target with a before-and-after table; not run.","tips":["Processing chapters as one batch keeps their relative loudness; normalising them one by one makes each file hit the target on its own.","Files already near the target can be left unchanged, and an option stops quiet files being made louder.","Use a recent ffmpeg and Python 3.10 or newer; from version 1.41.0 the output codec follows the container."],"categories":["T14","T13"],"tags":["ffmpeg-normalize","loudness","ebu-r128","podcast","normalization","batch-processing","audio"],"evidence":{"inspection":"source_inspected","execution":"not_run","review":"unreviewed","review_revision":null},"media":[]}},{"kind":"guide_preview","preview":{"schema":"guide-preview/v1","id":"art_01M6W77V5VYEW92SFVQMSKKS35","type":"article","revision":1,"title":"Remove passers-by from locked-off takes with FFmpeg xmedian","coverage":"For editors with several aligned takes of a locked-off shot who want a clean plate. You end with a per-pixel median composite of three or more inputs. Based on the FFmpeg manual only; no command was run, and the alignment advice is general practice.","example":"Hypothetical case: three takes from a fixed camera, one with a passer-by. The passer-by should vanish because of the median; this was reasoned, not observed.","tips":["xmedian needs at least three inputs; with an even count it averages the two middle values.","Ghosting usually means the inputs were not aligned; align them first.","Percentile 0 picks per-pixel minimum values and 1 picks maximum values; the default 0.5 picks the median."],"categories":["T11"],"tags":["ffmpeg","xmedian","median","clean-plate","compositing"],"evidence":{"inspection":"source_inspected","execution":"not_run","review":"unreviewed","review_revision":null},"media":[]}},{"kind":"guide_preview","preview":{"schema":"guide-preview/v1","id":"art_01M6WGWVXNKPZGYE6MDK0PPWKB","type":"article","revision":1,"title":"Blur with FFmpeg avgblur","coverage":"For editors who need a simple average blur on a clip or background plate, set by horizontal and vertical radius. You end with a softened copy of the clip. It follows the FFmpeg manual only and was not run, so the softness was not seen.","example":"A hypothetical background plate blurred with a horizontal radius of 10 and softness judged by eye; nothing was run.","tips":["A larger radius gives a softer picture; if you see no change, the radius is too small.","A vertical radius of zero makes the blur the same in both directions.","If colour looks smeared, limit the filter to the planes you want instead of blurring all of them."],"categories":["T11"],"tags":["ffmpeg","avgblur","blur","soften","effects"],"evidence":{"inspection":"source_inspected","execution":"not_run","review":"unreviewed","review_revision":null},"media":[]}},{"kind":"guide_preview","preview":{"schema":"guide-preview/v1","id":"art_01M5NP1SJNF7Y4JA9J6Y986A3T","type":"article","revision":1,"title":"How World Models' Last Exam in Physics scores video models by measurement","coverage":"Helps video-generation users and evaluators understand a physics benchmark that scores image-to-video models by measuring quantities in the output instead of asking a model judge. It reports the paper's version-1 scores for eight models. Limits: the project page has since added a ninth model, and all scores come from the benchmark authors.","example":null,"tips":["Scores are physical-consistency measures on 40 lab-style tasks, not general video quality or success rates.","A video that fails the consistency gate gets no physical score, so low numbers can reflect gating as well as physics errors.","Some tasks are near ceiling for every model while others score zero, so check the task, not just the average."],"categories":["T06","T15","T20"],"tags":[],"evidence":{"inspection":"metadata_checked","execution":"not_run","review":"unreviewed","review_revision":null},"media":[]}},{"kind":"guide_preview","preview":{"schema":"guide-preview/v1","id":"art_01M5NP7JA83Q3QHQW5PCTQSKYD","type":"article","revision":1,"title":"ITU-R BT.1359-1 audio-video sync thresholds: lead versus lag and the sign convention","coverage":"For editors, broadcast engineers and anyone checking lip-sync tolerances. It sets out the Recommendation's detectability and acceptability thresholds, its recommended tolerances and its sign convention. Based on the 1998 text, whose averages come from older NTSC and PAL tests; the idea that lag is less visible is the author's inference.","example":null,"tips":["In BT.1359 a positive value means sound is early, not delayed; state your sign convention in any report.","The acceptability figures are outer limits, not a quality target.","Film at 24 fps should stay within roughly half a frame, about 22 ms."],"categories":["T10","T13","T20"],"tags":[],"evidence":{"inspection":"source_inspected","execution":"not_run","review":"unreviewed","review_revision":null},"media":[]}},{"kind":"guide_preview","preview":{"schema":"guide-preview/v1","id":"art_01M6HV68P7E4KRS0WRH38F3JC8","type":"article","revision":1,"title":"ContextualStory: drawing all panels of a story together, with scene-change signal (paper note, not run)","coverage":"A source note on the ContextualStory paper for storyboard artists and writers who want to know how a model can give each panel context from the whole storyline. It lists what each panel is given and the results as the authors report them. Nothing was run, and the scores are unverified.","example":null,"tips":["The paper's own stated weak point is frames with many characters, so plan to repair those panels by hand.","At sampling time the paper uses an average scene-change value, so it does not show a way to set a cut or time jump for one panel.","Check generated panels for duplicated characters and background drift, the failure modes the authors describe."],"categories":["T05"],"tags":["contextualstory","story-visualization","story-continuation","storyline-contextualizer","storyflow","scene-change","temporal-attention","character-bible","paper","cc-by-4.0","documented-not-tested"],"evidence":{"inspection":"source_inspected","execution":"not_run","review":"unreviewed","review_revision":null},"media":[]}},{"kind":"guide_preview","preview":{"schema":"guide-preview/v1","id":"art_01M5MV72452XHKPWJCXMT4ZSCC","type":"article","revision":1,"title":"Openly readable shot count for Griffith's The Lonely Villa (1909) from Cinemetrics","coverage":"For film students and editors studying last-minute rescue cutting. It records one openly readable shot count and average shot length for the 1909 film from a user-submitted database, with the submitter and projection speed. There is no per-shot data, and the further leads it mentions were not read.","example":null,"tips":["One submitter, one print and one projection speed support only an average cutting rate, not the rhythm of the rescue sequence.","Sanity-check a count by dividing running time by shot count and comparing it with the stated average shot length."],"categories":["T01","T10"],"tags":[],"evidence":{"inspection":"source_inspected","execution":"not_run","review":"unreviewed","review_revision":null},"media":[]}},{"kind":"guide_preview","preview":{"schema":"guide-preview/v1","id":"art_01M5MS40XC2BHW9JTFMTQZGR4P","type":"article","revision":1,"title":"What LUFS, LKFS, LU, dBFS and dBTP mean and how they relate","coverage":"A short reference for editors, mixers and delivery staff who meet loudness units in specifications and meters. It explains which units are absolute or relative and how average loudness differs from true-peak level. It is based on the ITU and EBU documents; nothing was measured.","example":null,"tips":["LUFS and LKFS are the same unit under two names; LU describes a difference, so 1 LU equals 1 dB.","Loudness tells you how loud a programme feels on average; true peak tells you whether it may clip between samples. Check both.","EBU R 128 sets a production true-peak ceiling of -1 dBTP, but a distribution system may require a lower one."],"categories":["T13","T14"],"tags":[],"evidence":{"inspection":"source_inspected","execution":"not_run","review":"unreviewed","review_revision":null},"media":[]}},{"kind":"guide_preview","preview":{"schema":"guide-preview/v1","id":"art_01M61FNQJSX043MCH9C72NZR30","type":"article","revision":1,"title":"Qwen-Image-Bench scoring: ID matching, 0/60/100 mapping and active-pillar averages","coverage":"Source note for people comparing text-to-image models who want to know how this benchmark's README turns judge ratings into scores. It covers prompt-ID binding, treatment of not-applicable items and the Chinese-prompt leaderboard. Based on the README only; code, data rows and judge weights were not inspected or run.","example":null,"tips":["A not-applicable facet is left out of the average; it is not scored as a failure.","Compare models only on the same prompt IDs and the same judge setup, and keep the raw judge outputs.","The published leaderboard uses Chinese prompts; English results were listed as a future release."],"categories":["T05","T08"],"tags":["qwen-image-bench","image-evaluation","scoring","judge","reproducibility"],"evidence":{"inspection":"source_inspected","execution":"not_run","review":"unreviewed","review_revision":null},"media":[]}},{"kind":"guide_preview","preview":{"schema":"guide-preview/v1","id":"art_01M5MB461QWHYPAYNQMC8Z1H1K","type":"article","revision":1,"title":"Does Odyssey-3 Pro's 66.1 hold up as the top Physics-IQ Verified video-to-video score?","coverage":"For anyone weighing a vendor's benchmark claim for a video model. It compares the claim with the public leaderboard listing and sets out how the number was produced, including the selection method and prompts. Based on pages read on 2026-10-22; nothing was re-run.","example":null,"tips":["Check how a leaderboard score was produced (single run or averaged, best-of-N or not, which prompts) before comparing two rows.","A model can lead in one task type, such as video-to-video, and trail in another, such as image-to-video.","The benchmark repository asks for a four-run standard deviation to claim state of the art, so rows without one are weaker evidence."],"categories":["T06","T15","T20"],"tags":[],"evidence":{"inspection":"source_inspected","execution":"not_run","review":"unreviewed","review_revision":null},"media":[]}}],"truncated":true,"has_more":true,"next_cursor":"eyJyZWZlcmVuY2UiOiJNakEiLCJwcmV2aWV3IjoiTWpBIiwicSI6IkF2ZXJhZ2Ugb3IgY29udm9sdmUgc3VjY2Vzc2l2ZSBmcmFtZXMgd2l0aCBGRm1wZWcgdG1peCIsInR5cGVzIjpbXSwiY2F0ZWdvcmllcyI6W119","ordering":"bounded_reference_and_preview_lanes"}