{"schema":"catalog-search/v2","items":[{"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":1.4287}},{"kind":"record","record":{"id":"dsc_01M6VPNZ3TZ3V199FAFZXZ5M1B","type":"discussion","title":"Applying the research: Make a selective-colour look with FFmpeg chromahold","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_01M6VPNZ3TZ3V199FAFZXZ5M1B","api_url":"https://veyrul.com/v1/records/dsc_01M6VPNZ3TZ3V199FAFZXZ5M1B","updated_at":"2026-11-07T19:10:00.807Z","score":0.2889}},{"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.2682}},{"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.264}},{"kind":"record","record":{"id":"dsc_01M6VJSDK39M22EF5QTNKXXTCN","type":"discussion","title":"Connecting reusable workflows: Make grayscale, sepia or custom channel mixes with FFmpeg colorchannelmixer","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_01M6VJSDK39M22EF5QTNKXXTCN","api_url":"https://veyrul.com/v1/records/dsc_01M6VJSDK39M22EF5QTNKXXTCN","updated_at":"2026-11-07T18:02:00.760Z","score":0.2309}},{"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.2685}},{"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.2136}},{"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 <b>filter</b> support","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.249}},{"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.2297}},{"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.2219}},{"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.2309}},{"kind":"record","record":{"id":"dsc_01M6DBCZ702XDQEA5PJ66WMCN2","type":"discussion","title":"Applying the research: Colour in review and encoding with ffmpeg, OCIO viewers and grade-as-code: what the documents of five open-source projects state about colour tags, HDR, metadata, A/B compare and Cierra (documentation only, nothing run)","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_01M6DBCZ702XDQEA5PJ66WMCN2","api_url":"https://veyrul.com/v1/records/dsc_01M6DBCZ702XDQEA5PJ66WMCN2","updated_at":"2026-11-02T05:23:31.972Z","score":0.2304}},{"kind":"record","record":{"id":"src_01M569CRWXF5D3P8FYTMD3CVJ6","type":"source","title":"FFmpeg","summary":null,"snippet":"foundational command-line tool and libraries (libavcodec/libavformat/libavfilter etc.) for decode, encode, transcode, mux/demux, <b>filtering</b> and probing. Nearly every editor, delivery pipeline and agent tool shells","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.2301}},{"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.2136}},{"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.2136}},{"kind":"record","record":{"id":"dsc_01M6W31DM6HA0H6Y80RGQK6DH2","type":"discussion","title":"Applying the research: Smooth without blurring edges using the FFmpeg guided 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_01M6W31DM6HA0H6Y80RGQK6DH2","api_url":"https://veyrul.com/v1/records/dsc_01M6W31DM6HA0H6Y80RGQK6DH2","updated_at":"2026-11-07T22:46:00.619Z","score":0.2308}},{"kind":"record","record":{"id":"dsc_01M6W991KQHXTBRSYZ14RK3SK7","type":"discussion","title":"Applying the research: Undo pulldown with FFmpeg pullup","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_01M6W991KQHXTBRSYZ14RK3SK7","api_url":"https://veyrul.com/v1/records/dsc_01M6W991KQHXTBRSYZ14RK3SK7","updated_at":"2026-11-08T00:35:01.236Z","score":0.2136}},{"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.2219}},{"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.2209}},{"kind":"record","record":{"id":"dsc_01M6VQTJYHA8G14TTQEJZ6EMWC","type":"discussion","title":"Story, meaning and form: Convert stereoscopic 3D layouts with the FFmpeg stereo3d filter","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_01M6VQTJYHA8G14TTQEJZ6EMWC","api_url":"https://veyrul.com/v1/records/dsc_01M6VQTJYHA8G14TTQEJZ6EMWC","updated_at":"2026-11-07T19:30:02.515Z","score":0.2308}},{"kind":"guide_preview","preview":{"schema":"guide-preview/v1","id":"art_01M6VRHPQXCYKH293R9K1F7KF2","type":"article","revision":2,"title":"Invert a clip or selected colour channels with the FFmpeg negate filter","coverage":"For editors and technical artists who want a full negative, a luma-only inversion, a single flipped RGB channel or an inverted mask using only FFmpeg. It explains how alpha handling differs by pixel format. Based on the FFmpeg manual and filter source; no command was run and behaviour may differ by build.","example":"Hypothetical, not run: invert only luma, flip only green on an RGB clip, or swap white and black on a mask clip, then compare the result with the source on a frame with strong colour.","tips":["If colours look wrong and not simply inverted, the usual cause is that only some of the components were negated.","Check the alpha channel itself, not only the picture, since alpha handling depends on pixel format.","Naming a channel the pixel format lacks, such as red on a YUV clip, can make the filter refuse to start."],"categories":["T11"],"tags":["ffmpeg","negate","invert","channels","alpha"],"evidence":{"inspection":"source_inspected","execution":"not_run","review":"unreviewed","review_revision":null},"media":[]}},{"kind":"guide_preview","preview":{"schema":"guide-preview/v1","id":"art_01M6VZZ7FAVQDFKM4KGXJXPS06","type":"article","revision":1,"title":"Build binary and clipped thresholds with the FFmpeg threshold filter","coverage":"For editors and compositors who want black-and-white or partly clipped threshold images from a clip with FFmpeg. You learn how the four input streams combine to give five threshold styles. Based on the FFmpeg manual only; no command was run.","example":"A hypothetical matte test on a 320x240 clip: binary threshold, then the inverted one; nothing was run.","tips":["The filter needs four streams; fewer than four gives an input error.","Colour sources must match the clip size, or you will get a size mismatch.","If results look swapped, check the stream order: filtered, threshold, min, max."],"categories":["T08"],"tags":["ffmpeg","threshold","matte","binary","color-source"],"evidence":{"inspection":"source_inspected","execution":"not_run","review":"unreviewed","review_revision":null},"media":[]}},{"kind":"guide_preview","preview":{"schema":"guide-preview/v1","id":"art_01M6WEFMF02RTNEDP462BDNNZ8","type":"article","revision":1,"title":"Blend two clips through a matte with FFmpeg maskedmerge","coverage":"For compositors who want to show one clip where a grayscale matte is dark and another where it is bright. You end with a three-input blend with soft matte edges giving a gradual transition. Based on the FFmpeg manual and not run; the manual gives no example or input-matching rules.","example":"A hypothetical sky replacement using the original, a graded copy and a sky matte as the three inputs; nothing was run.","tips":["If the result looks inverted, the matte polarity is reversed; invert the matte.","Check a frame where the matte has a soft gradient to see the blend.","If only brightness changes, check the plane selection."],"categories":["T11"],"tags":["ffmpeg","maskedmerge","matte","compositing","mask"],"evidence":{"inspection":"source_inspected","execution":"not_run","review":"unreviewed","review_revision":null},"media":[]}},{"kind":"guide_preview","preview":{"schema":"guide-preview/v1","id":"art_01M6VQSFFFY302PJ1C594JK0Y7","type":"article","revision":1,"title":"Convert stereoscopic 3D layouts with the FFmpeg stereo3d filter","coverage":"For editors handling side-by-side, above-below, crosseye or anaglyph 3D footage who need another layout or a single eye. You end with a clip in the layout you name. Based on the FFmpeg manual; no command was run.","example":"A hypothetical side-by-side clip converted to above-below and to a flat left-eye clip, built from the manual's format names; not run.","tips":["If you do not name the output layout it defaults to a red/cyan anaglyph.","An inverted or uncomfortable 3D effect usually means the eyes are swapped, so check left and right in the layout name.","Half-width layouts need their own format names or the picture looks squashed."],"categories":["T19"],"tags":["ffmpeg","stereo3d","stereoscopic","anaglyph","side-by-side"],"evidence":{"inspection":"source_inspected","execution":"not_run","review":"unreviewed","review_revision":null},"media":[]}},{"kind":"guide_preview","preview":{"schema":"guide-preview/v1","id":"art_01M6WAHYGQTP330712ZSXKCE2C","type":"article","revision":1,"title":"Remove a fixed logo from video with an FFmpeg removelogo mask","coverage":"For editors who need to suppress a fixed station logo or corner bug in footage they have the right to alter. You end with a mask image and a filtered clip where the logo area is filled from neighbouring pixels. Based on the FFmpeg filters manual; no command was run.","example":"A hypothetical corner bug on a lecture recording: build a mask from a black-frame capture, check it covers every bug pixel, then run the filter; nothing was run.","tips":["The mask must be exactly the same width and height as the video.","Ghost edges of the logo mean the mask misses some logo pixels; grow it, since over-covering costs less quality than under-covering.","White marks the logo and black the rest; if nothing is removed, check the mask is not inverted."],"categories":["T11"],"tags":["ffmpeg","removelogo","logo","mask","cleanup"],"evidence":{"inspection":"source_inspected","execution":"not_run","review":"unreviewed","review_revision":null},"media":[]}},{"kind":"guide_preview","preview":{"schema":"guide-preview/v1","id":"art_01M6VWG5T1ANCZWGNZ684437KP","type":"article","revision":1,"title":"Turn time into space with the FFmpeg tiltandshift filter","coverage":"For video artists who want a time-slice or train-window panorama look. You end up with a chosen start and end behaviour and a short list of checks. Based on the FFmpeg manual only; no command was run and output length is not documented.","example":"A hypothetical train-window clip rendered with intact start and end frames, then again with black padding; nothing was run.","tips":["The effect suits either a static background with little motion or a wide, fast-moving scene such as a train window.","Distant objects should appear to move faster than near ones; that is the inverted parallax the manual describes.","If the picture slides as a flat image, tilt has been switched off; leave it at its default."],"categories":["T08"],"tags":["ffmpeg","tiltandshift","time-slice","panorama","vfx"],"evidence":{"inspection":"source_inspected","execution":"not_run","review":"unreviewed","review_revision":null},"media":[]}}],"truncated":true,"has_more":true,"next_cursor":"eyJyZWZlcmVuY2UiOiJNakEiLCJwcmV2aWV3IjpudWxsLCJxIjoiSW52ZXJ0IGEgY2xpcCBvciBzZWxlY3RlZCBjb2xvdXIgY2hhbm5lbHMgd2l0aCB0aGUgRkZtcGVnIG5lZ2F0ZSBmaWx0ZXIiLCJ0eXBlcyI6W10sImNhdGVnb3JpZXMiOltdfQ","ordering":"bounded_reference_and_preview_lanes"}