{"schema":"catalog-search/v2","items":[{"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":2.8794}},{"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.2143}},{"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.2141}},{"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.2142}},{"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.2141}},{"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.2141}},{"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.2142}},{"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.2141}},{"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.2141}},{"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.2139}},{"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.2141}},{"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":"recorder audio drift. For a candidate steady-rate correction, tempo = matching audio interval / matching <b>video</b> interval. Constant offset needs a shift; rate drift needs a time-scale correction only","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.2139}},{"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.214}},{"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.2133}},{"kind":"record","record":{"id":"src_01M6SAX7KG4XF3N22DW1KY4B53","type":"source","title":"pycaps video caption tool","summary":"A Python library and CLI that renders animated CSS-styled subtitles onto videos.","snippet":"onto <b>videos</b>.\n\nUseful for: creators: <b>Burn</b> animated, CSS-styled word-by-word <b>captions</b> into short vertical <b>videos</b>, transcribing the audio or reusing a supported timed transcript (whisper","status":"active","categories":["T10"],"evidence":{"inspection":"source_inspected","execution":"not_run","review":"unreviewed"},"url":"https://veyrul.com/sources/src_01M6SAX7KG4XF3N22DW1KY4B53","api_url":"https://veyrul.com/v1/records/src_01M6SAX7KG4XF3N22DW1KY4B53","updated_at":"2026-11-06T21:05:50.660Z","score":0.0659}},{"kind":"record","record":{"id":"src_01M64VBSRR3GN41KNXXCBZRA69","type":"source","title":"bada.coffee (33 s vertical): a shop sign, a presenter and a robot-arm espresso routine with burned-in captions","summary":"Source-linked shot and technique analysis of a 33-second bada.coffee spot; no media, frames or audio are hosted.","snippet":"badge in the corner and a channel address across the foot.\n1.47 s: A <b>caption</b> names the shop.\n3.06 s: A man to camera in a grey shirt; a <b>caption</b>","status":"active","categories":["T02","T10"],"evidence":{"inspection":"source_inspected","execution":"not_run","review":"unreviewed"},"url":"https://veyrul.com/sources/src_01M64VBSRR3GN41KNXXCBZRA69","api_url":"https://veyrul.com/v1/records/src_01M64VBSRR3GN41KNXXCBZRA69","updated_at":"2026-10-29T22:09:22.164Z","score":0.1595}},{"kind":"record","record":{"id":"src_01M569EHP0RDXM2P6QVER8CCBP","type":"source","title":"MusicCaps (text-music captions dataset)","summary":null,"snippet":"second AudioSet music clips with English aspect lists and free-text <b>captions</b> written by musicians, introduced with MusicLM; distributed as YouTube IDs and timestamps only (no audio), under","status":"active","categories":["T14"],"evidence":{"inspection":"source_inspected","execution":"not_run","review":"unreviewed"},"url":"https://veyrul.com/sources/src_01M569EHP0RDXM2P6QVER8CCBP","api_url":"https://veyrul.com/v1/records/src_01M569EHP0RDXM2P6QVER8CCBP","updated_at":"2026-10-18T01:19:04.884Z","score":0.0083}},{"kind":"record","record":{"id":"exp_01M64V4442PWJ88NXVANCY8CG9","type":"experiment","title":"Seedance 2.5 style test: phalanx on a shore before a burning walled city (20 s)","summary":"Bronze-and-sea epic: a burning fortress on a headland, a front-rank helmeted soldier, ranks of shields along the shoreline, a walled city with a siege engine and a gate with a fireball.","snippet":"Bronze-and-sea epic: a <b>burning</b> fortress on a headland, a front-rank helmeted soldier, ranks of shields along the shoreline, a walled city with a siege engine","status":"completed","categories":["T06","T02"],"evidence":{"inspection":"source_inspected","execution":"reported_by_source","review":"unreviewed"},"url":"https://veyrul.com/experiments/exp_01M64V4442PWJ88NXVANCY8CG9","api_url":"https://veyrul.com/v1/records/exp_01M64V4442PWJ88NXVANCY8CG9","updated_at":"2026-10-29T22:19:41.736Z","score":0.0455}},{"kind":"record","record":{"id":"dsc_01M569J7FGXN9H7QKM0DSGWB29","type":"discussion","title":"Can design tokens (DTCG) describe a production's visual identity (palette, type scale, motion timing) across graphics, titles and generated assets?","summary":null,"snippet":"DTCG defines color, typography and duration/cubic-bezier tokens. Could one token file drive Lottie/Remotion themes, <b>caption</b> styling and prompt style guides, and does the draft's color module cover wide-gamut","status":"open","categories":["T17","T16","T12"],"evidence":{"inspection":"discovered","execution":"not_run","review":"unreviewed"},"url":"https://veyrul.com/discussions/dsc_01M569J7FGXN9H7QKM0DSGWB29","api_url":"https://veyrul.com/v1/records/dsc_01M569J7FGXN9H7QKM0DSGWB29","updated_at":"2026-10-18T01:21:05.510Z","score":0.0162}},{"kind":"record","record":{"id":"exp_01M64VE29SAAMZ49X58NXKG5JW","type":"experiment","title":"Seedance 2.5 look test with one linked video: 20 s white-winged figure, a burning craft and a pale red-eyed man","summary":"A white-winged figure and a burning white craft against a dark rock wall: a red-haired armoured figure walking in, a black gauntlet on white feathers, a misty valley with a small fire, a red-haired close-up and a pale long-haired man with red eyes.","snippet":"white-winged figure and a <b>burning</b> white craft against a dark rock wall: a red-haired armoured figure walking in, a black gauntlet on white feathers, a misty valley","status":"completed","categories":["T06","T02"],"evidence":{"inspection":"source_inspected","execution":"reported_by_source","review":"unreviewed"},"url":"https://veyrul.com/experiments/exp_01M64VE29SAAMZ49X58NXKG5JW","api_url":"https://veyrul.com/v1/records/exp_01M64VE29SAAMZ49X58NXKG5JW","updated_at":"2026-10-29T22:44:40.153Z","score":0.0453}},{"kind":"guide_preview","preview":{"schema":"guide-preview/v1","id":"art_01M6V6Y1W89GFEMP1VAF0HBY5M","type":"article","revision":1,"title":"Burn titles and captions into video with FFmpeg drawtext","coverage":"For editors who need a title, label or short caption burned into a clip with FFmpeg. You end with a drawtext setting with a named font, size, backing box, position and optional timing. Based on the FFmpeg manual only; no command was run.","example":"A hypothetical 1920 by 1080 caption near the bottom edge with text sized to a thirtieth of the picture height. Its 36-pixel size is arithmetic, and nothing was rendered.","tips":["Without fontconfig support the font file path is mandatory, and it must include the path.","Text must be UTF-8, and for long or awkward text a text file avoids most escaping trouble.","Commas and colons inside expressions need escaping, or the filter fails with a parse error."],"categories":["T12"],"tags":["ffmpeg","drawtext","captions","titles","burned-in"],"evidence":{"inspection":"source_inspected","execution":"not_run","review":"unreviewed","review_revision":null},"media":[]}}],"truncated":true,"has_more":true,"next_cursor":"eyJyZWZlcmVuY2UiOiJNakEiLCJwcmV2aWV3IjpudWxsLCJxIjoiQnVybiB0aXRsZXMgYW5kIGNhcHRpb25zIGludG8gdmlkZW8gd2l0aCBGRm1wZWcgZHJhd3RleHQiLCJ0eXBlcyI6W10sImNhdGVnb3JpZXMiOltdfQ","ordering":"bounded_reference_and_preview_lanes"}