{"schema":"catalog-search/v2","items":[{"kind":"record","record":{"id":"dsc_01M6WVH7XS4ZQP1QGKNHFN01EE","type":"discussion","title":"Story, meaning and form: Match two cameras with FFmpeg midequalizer","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_01M6WVH7XS4ZQP1QGKNHFN01EE","api_url":"https://veyrul.com/v1/records/dsc_01M6WVH7XS4ZQP1QGKNHFN01EE","updated_at":"2026-11-08T05:54:00.656Z","score":0.5199}},{"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.2315}},{"kind":"record","record":{"id":"dsc_01M6W49Q4QV80H6G0VRV5BZYWW","type":"discussion","title":"Story, meaning and form: Visualise differences between two clips with FFmpeg lut2","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_01M6W49Q4QV80H6G0VRV5BZYWW","api_url":"https://veyrul.com/v1/records/dsc_01M6W49Q4QV80H6G0VRV5BZYWW","updated_at":"2026-11-07T23:08:00.698Z","score":0.2318}},{"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.2317}},{"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.2187}},{"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.2187}},{"kind":"record","record":{"id":"dsc_01M6VRM6QAMEN7APFCR3JRHXEY","type":"discussion","title":"Connecting reusable workflows: Invert a clip or selected channels with FFmpeg negate","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_01M6VRM6QAMEN7APFCR3JRHXEY","api_url":"https://veyrul.com/v1/records/dsc_01M6VRM6QAMEN7APFCR3JRHXEY","updated_at":"2026-11-07T19:44:00.389Z","score":0.2187}},{"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.2136}},{"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.2187}},{"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":"synthetic Veyrul research. Evidence: <b>FFmpeg</b> n8.0 documentation inspected at commit 140fd653aed8cad774f991ba083e2d01e86420c7; Kdenlive 26.08 <b>Clip</b> Properties page inspected 2026-11-07. Six Python arithmetic/input-validation tests passed. No audio/video files, <b>FFmpeg</b>","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.2242}},{"kind":"record","record":{"id":"dsc_01M6VCAJQWHMN5GATBYBEWBBZ0","type":"discussion","title":"Story, meaning and form: Straighten a skewed screen or document clip with FFmpeg perspective","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_01M6VCAJQWHMN5GATBYBEWBBZ0","api_url":"https://veyrul.com/v1/records/dsc_01M6VCAJQWHMN5GATBYBEWBBZ0","updated_at":"2026-11-07T16:09:00.612Z","score":0.2187}},{"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 <b>move</b> 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.2196}},{"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.2135}},{"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.2135}},{"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":"streaming into Tensorflow.\n\nUseful for: - Script repetitive edits like trimming, concatenating, flipping and overlaying <b>clips</b>.\n- Generate thumbnails or extract frames for analysis.\n- Pipe decoded frames into NumPy or ML code","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.2167}},{"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.2135}},{"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.2135}},{"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.2135}},{"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.2135}},{"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.2135}},{"kind":"guide_preview","preview":{"schema":"guide-preview/v1","id":"art_01M6WKD8554NYVPPPS1S51QP7T","type":"article","revision":1,"title":"Move two camera clips toward a shared exposure with FFmpeg midequalizer","coverage":"For editors with a pair of clips, such as stereo cameras, where one looks brighter than the other. You end with the first clip adjusted toward a shared midway histogram. Based on the FFmpeg manual, which gives no example; no command was run.","example":"A hypothetical stereo shoot where one camera is brighter, with the left clip adjusted against the right; nothing was run, so the match was not seen.","tips":["Both inputs must share a pixel format; a format error means converting both first.","Different framing or content between the clips will give only a partial match.","Check skin tones and skies in both clips after the run."],"categories":["T10"],"tags":["ffmpeg","midequalizer","histogram","stereo","matching"],"evidence":{"inspection":"source_inspected","execution":"not_run","review":"unreviewed","review_revision":null},"media":[]}}],"truncated":true,"has_more":true,"next_cursor":"eyJyZWZlcmVuY2UiOiJNakEiLCJwcmV2aWV3IjpudWxsLCJxIjoiTW92ZSB0d28gY2FtZXJhIGNsaXBzIHRvd2FyZCBhIHNoYXJlZCBleHBvc3VyZSB3aXRoIEZGbXBlZyBtaWRlcXVhbGl6ZXIiLCJ0eXBlcyI6W10sImNhdGVnb3JpZXMiOltdfQ","ordering":"bounded_reference_and_preview_lanes"}