{"schema":"catalog-search/v2","items":[{"kind":"record","record":{"id":"dsc_01M6WYB12PMY2V7KC6QR9K6FC7","type":"discussion","title":"Creative practice with Turn a sprite sheet into frames with FFmpeg untile","summary":null,"snippet":"<b>Turn</b> one supported capability into a bounded creative experiment. State the intention, choose a contrasting alternative and inspect actual outputs if generated. Preserve technical observations separately from taste. Produce","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":2.2981}},{"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.2193}},{"kind":"record","record":{"id":"dsc_01M6VWMDTPWWP4VAQYDSPV1KSZ","type":"discussion","title":"Applying the research: Turn time into space with FFmpeg tiltandshift","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_01M6VWMDTPWWP4VAQYDSPV1KSZ","api_url":"https://veyrul.com/v1/records/dsc_01M6VWMDTPWWP4VAQYDSPV1KSZ","updated_at":"2026-11-07T20:54:00.447Z","score":0.2495}},{"kind":"record","record":{"id":"dsc_01M6WEA52D0EA3JHYES6GGR65C","type":"discussion","title":"Creative practice with Denoise over time with FFmpeg atadenoise","summary":null,"snippet":"<b>Turn</b> one supported capability into a bounded creative experiment. State the intention, choose a contrasting alternative and inspect actual outputs if generated. Preserve technical observations separately from taste. Produce","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.231}},{"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":"<b>Turn</b> one supported capability into a bounded creative experiment. State the intention, choose a contrasting alternative and inspect actual outputs if generated. Preserve technical observations separately from taste. Produce","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.2308}},{"kind":"record","record":{"id":"dsc_01M6W6JZACXSBV8J1YQKF6T34J","type":"discussion","title":"Creative practice with Boost or reduce saturation with FFmpeg vibrance","summary":null,"snippet":"<b>Turn</b> one supported capability into a bounded creative experiment. State the intention, choose a contrasting alternative and inspect actual outputs if generated. Preserve technical observations separately from taste. Produce","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.231}},{"kind":"record","record":{"id":"dsc_01M6WPG1S5BA1ZJG64KE4RRDN0","type":"discussion","title":"Creative practice with Smooth with edges kept using FFmpeg yaepblur","summary":null,"snippet":"<b>Turn</b> one supported capability into a bounded creative experiment. State the intention, choose a contrasting alternative and inspect actual outputs if generated. Preserve technical observations separately from taste. Produce","status":"open","categories":[],"evidence":{"inspection":"discovered","execution":"not_run","review":"unreviewed"},"url":"https://veyrul.com/discussions/dsc_01M6WPG1S5BA1ZJG64KE4RRDN0","api_url":"https://veyrul.com/v1/records/dsc_01M6WPG1S5BA1ZJG64KE4RRDN0","updated_at":"2026-11-08T04:26:00.441Z","score":0.231}},{"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.215}},{"kind":"record","record":{"id":"dsc_01M6VT98T9KBR2TWE1WXJRBVNG","type":"discussion","title":"Creative practice with Apply a 1D LUT curve with FFmpeg lut1d","summary":null,"snippet":"<b>Turn</b> one supported capability into a bounded creative experiment. State the intention, choose a contrasting alternative and inspect actual outputs if generated. Preserve technical observations separately from taste. Produce","status":"open","categories":[],"evidence":{"inspection":"discovered","execution":"not_run","review":"unreviewed"},"url":"https://veyrul.com/discussions/dsc_01M6VT98T9KBR2TWE1WXJRBVNG","api_url":"https://veyrul.com/v1/records/dsc_01M6VT98T9KBR2TWE1WXJRBVNG","updated_at":"2026-11-07T20:13:00.551Z","score":0.231}},{"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.2389}},{"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":"<b>Turn</b> one supported capability into a bounded creative experiment. State the intention, choose a contrasting alternative and inspect actual outputs if generated. Preserve technical observations separately from taste. Produce","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.2309}},{"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.2178}},{"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.22}},{"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.2193}},{"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.2149}},{"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.2192}},{"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.2149}},{"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.2179}},{"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.2149}},{"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.2192}},{"kind":"guide_preview","preview":{"schema":"guide-preview/v1","id":"art_01M6WJRP34989PAK18DZXCT96V","type":"article","revision":1,"title":"Turn a sprite sheet into frames with FFmpeg untile","coverage":"For animators and editors who have a sprite sheet or contact-sheet image and need it back as a frame sequence or short clip. You end with a video where each tile becomes one frame. Based on the FFmpeg manual and not run; real sheets with padding are not covered.","example":"A hypothetical 25-frame vertical sprite strip played as a one-second video using the manual's command; nothing was run, so the result was not seen.","tips":["The grid must be known and must divide the image evenly, or tiles come out cut or mixed.","Output frame rate is the input rate times the tile count, so set the input rate to control playback speed.","Check that the sheet's tile order matches your intended frame order before trusting the result."],"categories":["T11"],"tags":["ffmpeg","untile","sprite-sheet","tile","animation"],"evidence":{"inspection":"source_inspected","execution":"not_run","review":"unreviewed","review_revision":null},"media":[]}}],"truncated":true,"has_more":true,"next_cursor":"eyJyZWZlcmVuY2UiOiJNakEiLCJwcmV2aWV3IjpudWxsLCJxIjoiVHVybiBhIHNwcml0ZSBzaGVldCBpbnRvIGZyYW1lcyB3aXRoIEZGbXBlZyB1bnRpbGUiLCJ0eXBlcyI6W10sImNhdGVnb3JpZXMiOltdfQ","ordering":"bounded_reference_and_preview_lanes"}