{"schema":"catalog-search/v2","items":[{"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.3353}},{"kind":"record","record":{"id":"dsc_01M6RX4BCM6CZT31M6M36F6N74","type":"discussion","title":"Connecting reusable workflows: What do the FFmpeg n7.1 filter docs say about joining two clips with xfade and acrossfade, and what do freezedetect and blackdetect report?","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_01M6RX4BCM6CZT31M6M36F6N74","api_url":"https://veyrul.com/v1/records/dsc_01M6RX4BCM6CZT31M6M36F6N74","updated_at":"2026-11-06T17:05:00.821Z","score":0.2822}},{"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":"diagnose external-recorder audio drift. For a candidate steady-rate correction, tempo = matching audio <b>interval</b> / matching <b>video</b> <b>interval</b>. Constant offset needs a shift; rate drift needs a time-scale","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.3216}},{"kind":"record","record":{"id":"src_01M6V7ER38QHBHPS41WV009Z2B","type":"source","title":"Shotcut: free, open-source, cross-platform video editor","summary":"Shotcut is a free, open-source, cross-platform video editor. The README links the feature list and roadmap on the website, says binaries are built regularly and available from the download page, lists its direct dependencies (MLT, Qt 6 with 6.4 minimum, FFTW, FFmpeg, Frei0r and SDL) and gives CMake build steps.","snippet":"Shotcut is a free, open-source, cross-platform <b>video</b> editor. The README links the feature list and roadmap on the website, says binaries are built regularly and available from","status":"active","categories":["T10"],"evidence":{"inspection":"source_inspected","execution":"not_run","review":"unreviewed"},"url":"https://veyrul.com/sources/src_01M6V7ER38QHBHPS41WV009Z2B","api_url":"https://veyrul.com/v1/records/src_01M6V7ER38QHBHPS41WV009Z2B","updated_at":"2026-11-07T14:43:59.176Z","score":0.2393}},{"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.2231}},{"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>-<b>Video</b> 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","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.2193}},{"kind":"record","record":{"id":"dsc_01M6RSBHG9572CWPE8RX2A37FA","type":"discussion","title":"A useful next step for Pick and cut a 15 to 30 second music teaser from a finished track with FFmpeg: measured loudness scan, fades and a level target for short video","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_01M6RSBHG9572CWPE8RX2A37FA","api_url":"https://veyrul.com/v1/records/dsc_01M6RSBHG9572CWPE8RX2A37FA","updated_at":"2026-11-06T15:59:00.669Z","score":0.2188}},{"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.2189}},{"kind":"record","record":{"id":"dsc_01M6TXQJY4XXPQW1MKX3VHAHFZ","type":"discussion","title":"Creative practice with Make a better GIF from a video clip with FFmpeg palettegen and paletteuse","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_01M6TXQJY4XXPQW1MKX3VHAHFZ","api_url":"https://veyrul.com/v1/records/dsc_01M6TXQJY4XXPQW1MKX3VHAHFZ","updated_at":"2026-11-07T11:54:00.377Z","score":0.219}},{"kind":"record","record":{"id":"src_01M66F14TJAFVR17KA98F5BCBG","type":"source","title":"ComfyUI-FFmpeg (ComfyUI registry node ComfyUI-FFmpeg)","summary":"ComfyUI node registry custom node pack ComfyUI-FFmpeg at revision b38c981aa98d: publisher admin-11338bd3-f081-43cf-b3f9-295c829826f7; declared licence {}; repository https://github.com/MoonHugo/ComfyUI-FFmpeg. Metadata-only index entry; not tested guidance.","snippet":"ComfyUI node registry custom node pack ComfyUI-<b>FFmpeg</b> at revision b38c981aa98d: publisher admin-11338bd3-f081-43cf-b3f9-295c829826f7; declared licence {}; repository https://github.com/MoonHugo/ComfyUI-FFmpeg. Metadata-only index entry","status":"active","categories":["T08"],"evidence":{"inspection":"metadata_checked","execution":"not_run","review":"unreviewed"},"url":"https://veyrul.com/sources/src_01M66F14TJAFVR17KA98F5BCBG","api_url":"https://veyrul.com/v1/records/src_01M66F14TJAFVR17KA98F5BCBG","updated_at":"2026-10-30T13:12:18.987Z","score":0.2193}},{"kind":"record","record":{"id":"dsc_01M6VAKM1CR0E2NAGRD1X7YEZP","type":"discussion","title":"A useful next step for Burn titles and captions into video with FFmpeg drawtext","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_01M6VAKM1CR0E2NAGRD1X7YEZP","api_url":"https://veyrul.com/v1/records/dsc_01M6VAKM1CR0E2NAGRD1X7YEZP","updated_at":"2026-11-07T15:39:00.647Z","score":0.219}},{"kind":"record","record":{"id":"dsc_01M6VM919KRVKSFGFKFWTFJ5RC","type":"discussion","title":"Creative practice with Apply a 3D LUT (.cube and others) to video with FFmpeg lut3d","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_01M6VM919KRVKSFGFKFWTFJ5RC","api_url":"https://veyrul.com/v1/records/dsc_01M6VM919KRVKSFGFKFWTFJ5RC","updated_at":"2026-11-07T18:28:00.421Z","score":0.219}},{"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":"<b>ffmpeg</b>-python is a Python wrapper for <b>FFmpeg</b> that the README says handles both simple and complex signal graphs, where other wrappers lack complex filter support. It lets","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.2185}},{"kind":"record","record":{"id":"dsc_01M6VY0BJJP05TT6Q9AD1Y175X","type":"discussion","title":"Story, meaning and form: Convert 360 video projections with FFmpeg v360","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_01M6VY0BJJP05TT6Q9AD1Y175X","api_url":"https://veyrul.com/v1/records/dsc_01M6VY0BJJP05TT6Q9AD1Y175X","updated_at":"2026-11-07T21:18:00.526Z","score":0.219}},{"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":"PyAV is a Python binding for the <b>FFmpeg</b> libraries that gives direct and precise access to media through containers, streams, packets, codecs and frames, and helps move data","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.218}},{"kind":"record","record":{"id":"src_01M6VBE1RF3GBRP01FD4BQ1N3H","type":"source","title":"ffmpeg.wasm: FFmpeg compiled to WebAssembly for in-browser media processing","summary":"ffmpeg.wasm is a pure WebAssembly and JavaScript port of FFmpeg that the README says enables video and audio recording, conversion and streaming right inside browsers. The README itself is a short pointer to documentation pages: introduction, getting started, API, FAQ and contribution.","snippet":"ffmpeg.wasm is a pure WebAssembly and JavaScript port of <b>FFmpeg</b> that the README says enables <b>video</b> and audio recording, conversion and streaming right inside browsers. The README itself","status":"active","categories":["T10"],"evidence":{"inspection":"source_inspected","execution":"not_run","review":"unreviewed"},"url":"https://veyrul.com/sources/src_01M6VBE1RF3GBRP01FD4BQ1N3H","api_url":"https://veyrul.com/v1/records/src_01M6VBE1RF3GBRP01FD4BQ1N3H","updated_at":"2026-11-07T15:53:30.605Z","score":0.2181}},{"kind":"record","record":{"id":"exp_01M64GNFAX4WWQ415WMTM3XN9J","type":"experiment","title":"Seedance 2.5 neon boxing round, version 1: ten-shot prompt, two-fighter palette, black tail (20 s)","summary":"Cyan-versus-red energy-glove boxing round with afterimage fist trails; fade-in from black, a flat grey frame at 19.35 s and a black tail from 19.5 s.","snippet":"Cyan-versus-red energy-glove boxing round with afterimage fist trails; fade-in from <b>black</b>, a flat grey frame at 19.35 s and a <b>black</b> tail from","status":"completed","categories":["T06","T02"],"evidence":{"inspection":"source_inspected","execution":"reported_by_source","review":"unreviewed"},"url":"https://veyrul.com/experiments/exp_01M64GNFAX4WWQ415WMTM3XN9J","api_url":"https://veyrul.com/v1/records/exp_01M64GNFAX4WWQ415WMTM3XN9J","updated_at":"2026-10-29T22:13:31.050Z","score":0.1507}},{"kind":"record","record":{"id":"exp_01M64GQB7EKH66WK369JJKVA0H","type":"experiment","title":"Seedance 2.5 dark red-lit hall opening and sword close-up: 'black' is just low-key (20 s)","summary":"Low-key sequence: a faint figure between red light beams, a silhouetted profile with a gliding blade, armour and sword close-ups; blackdetect flags 5.5 s and 2.7 s that are actually dark picture.","snippet":"light beams, a silhouetted profile with a gliding blade, armour and sword close-ups; <b>blackdetect</b> flags 5.5 s and 2.7 s that are actually dark picture. Dark gothic hall","status":"completed","categories":["T06","T02"],"evidence":{"inspection":"source_inspected","execution":"reported_by_source","review":"unreviewed"},"url":"https://veyrul.com/experiments/exp_01M64GQB7EKH66WK369JJKVA0H","api_url":"https://veyrul.com/v1/records/exp_01M64GQB7EKH66WK369JJKVA0H","updated_at":"2026-10-29T22:14:05.390Z","score":0.0697}},{"kind":"record","record":{"id":"exp_01M64GNAEH2RHBRDHS7G5JEFF4","type":"experiment","title":"Seedance 2.5 conjurer in teal light shaft, low-key card handling (20 s)","summary":"Low-key anamorphic study of a hooded conjurer with a fan of matte cards in a single cold shaft of light; fades in from black and ends in silhouette.","snippet":"matte cards in a single cold shaft of light; fades in from <b>black</b> and ends in silhouette. A bowed conjurer with damp hair and <b>black</b>-lacquered nails","status":"completed","categories":["T06","T02"],"evidence":{"inspection":"source_inspected","execution":"reported_by_source","review":"unreviewed"},"url":"https://veyrul.com/experiments/exp_01M64GNAEH2RHBRDHS7G5JEFF4","api_url":"https://veyrul.com/v1/records/exp_01M64GNAEH2RHBRDHS7G5JEFF4","updated_at":"2026-10-29T22:13:45.180Z","score":0.0502}},{"kind":"record","record":{"id":"exp_01M64GQDPPDXXN38VK2YJGTVZQ","type":"experiment","title":"Seedance 2.5 red-curtain corridor, torches ignite and the hero closes in (20 s)","summary":"A near-dark corridor of red curtains where a figure walks in, torches flare, the hero is shown in close frontal shots and a long corridor wide ends the clip.","snippet":"A near-dark corridor of red curtains where a figure","status":"completed","categories":["T06","T02"],"evidence":{"inspection":"source_inspected","execution":"reported_by_source","review":"unreviewed"},"url":"https://veyrul.com/experiments/exp_01M64GQDPPDXXN38VK2YJGTVZQ","api_url":"https://veyrul.com/v1/records/exp_01M64GQDPPDXXN38VK2YJGTVZQ","updated_at":"2026-10-29T22:14:07.531Z","score":0.0492}},{"kind":"guide_preview","preview":{"schema":"guide-preview/v1","id":"art_01M6W1A395C925BSWFJ027SGNF","type":"article","revision":1,"title":"Find black intervals in a video with FFmpeg blackdetect","coverage":"For editors and archivists who want a list of black stretches, such as chapter breaks, ad gaps or dropouts, without watching a whole file. You end up with start, end and duration times from FFmpeg's log. Based on the FFmpeg manual and not run.","example":"A hypothetical recording with ad breaks separated by black: the manual's filter string is run and the logged start and end times noted; nothing was run, so no times were seen.","tips":["If nothing is reported, the minimum duration may be longer than the real gaps or the thresholds too strict.","If dark scenes are reported as black, make the pixel threshold lower or the picture ratio higher.","The interval lines print at info log level, so a very quiet log level hides them."],"categories":["T11"],"tags":["ffmpeg","blackdetect","qc","black-frames","analysis"],"evidence":{"inspection":"source_inspected","execution":"not_run","review":"unreviewed","review_revision":null},"media":[]}}],"truncated":true,"has_more":true,"next_cursor":"eyJyZWZlcmVuY2UiOiJNakEiLCJwcmV2aWV3IjpudWxsLCJxIjoiRmluZCBibGFjayBpbnRlcnZhbHMgaW4gYSB2aWRlbyB3aXRoIEZGbXBlZyBibGFja2RldGVjdCIsInR5cGVzIjpbXSwiY2F0ZWdvcmllcyI6W119","ordering":"bounded_reference_and_preview_lanes"}