{"schema":"catalog-search/v2","items":[{"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.2753}},{"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.2522}},{"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.2555}},{"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.2564}},{"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.2199}},{"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.2274}},{"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.2199}},{"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.2261}},{"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.2267}},{"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.2268}},{"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.2267}},{"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 <b>frames</b>, 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.2142}},{"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.219}},{"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.219}},{"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.215}},{"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.215}},{"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.2198}},{"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.2134}},{"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.2148}},{"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.2134}},{"kind":"guide_preview","preview":{"schema":"guide-preview/v1","id":"art_01M6TY7Q4129SNZC4XJN9NGKYZ","type":"article","revision":1,"title":"Add a lead-in or freeze-frame hold to a clip with the FFmpeg tpad filter","coverage":"For editors who need extra frames before or after a clip, such as a title lead-in or an end freeze. You end with a padded clip made with FFmpeg's tpad filter. It is based on the FFmpeg manual and was not run; audio is not padded and the guide does not cover padding it.","example":"A hypothetical 10 second clip padded by 2 seconds at the end, giving about 12 seconds by arithmetic; nothing was run or measured.","tips":["Black frames where a hold was wanted mean the default add mode is in use; clone mode repeats the first or last frame.","Duration options override frame counts, so use one kind of option only.","A stop value of -1 pads forever, so limit the output length. The filter pads video only; pad audio separately."],"categories":["T10"],"tags":["ffmpeg","tpad","freeze-frame","padding","editing"],"evidence":{"inspection":"source_inspected","execution":"not_run","review":"unreviewed","review_revision":null},"media":[]}}],"truncated":true,"has_more":true,"next_cursor":"eyJyZWZlcmVuY2UiOiJNakEiLCJwcmV2aWV3IjpudWxsLCJxIjoiQWRkIGEgbGVhZC1pbiBvciBmcmVlemUtZnJhbWUgaG9sZCB0byBhIGNsaXAgd2l0aCB0aGUgRkZtcGVnIHRwYWQgZmlsdGVyIiwidHlwZXMiOltdLCJjYXRlZ29yaWVzIjpbXX0","ordering":"bounded_reference_and_preview_lanes"}