{"schema":"catalog-search/v2","items":[{"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.269}},{"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.264}},{"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.263}},{"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.2616}},{"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.2637}},{"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.264}},{"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.2638}},{"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.2149}},{"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.2149}},{"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.2149}},{"kind":"record","record":{"id":"dsc_01M6WB3Q46B40NXN9VGAJV9K8N","type":"discussion","title":"Story, meaning and form: Choose a mode for FFmpeg removegrain spatial denoising","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_01M6WB3Q46B40NXN9VGAJV9K8N","api_url":"https://veyrul.com/v1/records/dsc_01M6WB3Q46B40NXN9VGAJV9K8N","updated_at":"2026-11-08T01:07:00.674Z","score":0.2149}},{"kind":"record","record":{"id":"dsc_01M6R974BM0S0V8Q5NZ5JC83M9","type":"discussion","title":"Story, meaning and form: Record separate mic, game and music tracks in OBS, then remove the music from a VOD later and prove it with FFmpeg","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_01M6R974BM0S0V8Q5NZ5JC83M9","api_url":"https://veyrul.com/v1/records/dsc_01M6R974BM0S0V8Q5NZ5JC83M9","updated_at":"2026-11-06T11:17:00.404Z","score":0.2444}},{"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.2637}},{"kind":"record","record":{"id":"dsc_01M6WPG1S5BA1ZJG64KE4RRDN0","type":"discussion","title":"Creative practice with Smooth with edges kept using FFmpeg yaepblur","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_01M6WPG1S5BA1ZJG64KE4RRDN0","api_url":"https://veyrul.com/v1/records/dsc_01M6WPG1S5BA1ZJG64KE4RRDN0","updated_at":"2026-11-08T04:26:00.441Z","score":0.2149}},{"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.215}},{"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.2149}},{"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":"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.2149}},{"kind":"record","record":{"id":"dsc_01M6VT98T9KBR2TWE1WXJRBVNG","type":"discussion","title":"Creative practice with Apply a 1D LUT curve with FFmpeg lut1d","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_01M6VT98T9KBR2TWE1WXJRBVNG","api_url":"https://veyrul.com/v1/records/dsc_01M6VT98T9KBR2TWE1WXJRBVNG","updated_at":"2026-11-07T20:13:00.551Z","score":0.2149}},{"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.2149}},{"kind":"guide_preview","preview":{"schema":"guide-preview/v1","id":"art_01M6TYK5NSKPSBPM6J3GTM6X1C","type":"article","revision":1,"title":"Add or remove a vignette with the FFmpeg vignette filter","coverage":"For editors who want darker frame edges or a lifted-edge correction of a lens vignette. You end with a short filter command whose strength, centre and shape you chose deliberately. It is based on the FFmpeg manual and no command was run.","example":"A hypothetical talking-head clip with bright edges, comparing two angle values; nothing was run and no result is claimed.","tips":["Undoing a real lens vignette is a judgment by eye, since the manual states the lens angle is not detected automatically.","Keep dither on to reduce circular banding on smooth areas like skies and walls.","Per-frame expression evaluation is much slower, so use it only for animated effects."],"categories":["T11"],"tags":["ffmpeg","vignette","look","lens","color"],"evidence":{"inspection":"source_inspected","execution":"not_run","review":"unreviewed","review_revision":null},"media":[]}},{"kind":"guide_preview","preview":{"schema":"guide-preview/v1","id":"art_01M6V09PQCER2GAGMDZVKGSDQY","type":"article","revision":1,"title":"Sharpen or soften a clip with the FFmpeg unsharp filter","coverage":"For editors who want to add or remove crispness in a clip without overdoing it. You end with a sharpened or softened clip chosen from the documented size and strength ranges. Based on the FFmpeg filters manual; no command was run and no visual result is claimed.","example":"A hypothetical slightly soft 1080p clip is compared at three luma strengths with a fixed matrix size; which looks best was not judged because nothing was run.","tips":["Halos along edges or crunchy noise mean the amount or matrix size is too high; lower either.","Negative amounts blur and positive amounts sharpen; a luma amount of zero leaves the picture unchanged.","Chroma strength defaults to zero, so colour edges stay unchanged unless you change it."],"categories":["T11"],"tags":["ffmpeg","unsharp","sharpen","blur","detail"],"evidence":{"inspection":"source_inspected","execution":"not_run","review":"unreviewed","review_revision":null},"media":[]}},{"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":[]}},{"kind":"guide_preview","preview":{"schema":"guide-preview/v1","id":"art_01M6W5RXP2X1W5DFXHCV2PKSD5","type":"article","revision":1,"title":"Denoise noisy footage with the FFmpeg fftdnoiz filter","coverage":"For editors with grainy or high-ISO clips who want to try frequency-domain denoising. You end with a cleaned clip tuned for strength, block size and neighbouring frames. It follows the FFmpeg filters manual and was not run; the manual recommends no values.","example":"A hypothetical high-ISO night clip compared at one sigma and amount, then with neighbouring frames added; nothing was run.","tips":["Visible blocks come from a high sigma combined with low overlap.","Waxy-looking skin means too much denoising; lower sigma or amount.","Test on a short section first; this kind of filtering is usually slower than simple denoisers (general knowledge, not in the manual)."],"categories":["T11"],"tags":["ffmpeg","fftdnoiz","denoise","fft","noise-reduction"],"evidence":{"inspection":"source_inspected","execution":"not_run","review":"unreviewed","review_revision":null},"media":[]}},{"kind":"guide_preview","preview":{"schema":"guide-preview/v1","id":"art_01M6V0QQJ7F8HQX481462Z45D4","type":"article","revision":1,"title":"Place a logo or picture-in-picture on video with the FFmpeg overlay filter","coverage":"For editors adding a logo, watermark or second clip at an exact position. You end with the position expressions for corners and the timing precautions when inputs start at different times. Based on the FFmpeg manual only; no command was run and scaling the overlay is not covered.","example":"A hypothetical 1920 by 1080 video with a 200 by 80 logo, where the bottom-right position works out to 1710 and 990 by arithmetic; no frame was rendered.","tips":["If the overlay is missing, an invalid position expression can place it outside the visible area; try fixed numbers first.","If inputs start at different timestamps, reset both to zero before overlaying so they stay in step.","A dark or light fringe around a logo can be an alpha-handling issue; the filter has an alpha option to try."],"categories":["T07"],"tags":["ffmpeg","overlay","watermark","logo","compositing"],"evidence":{"inspection":"source_inspected","execution":"not_run","review":"unreviewed","review_revision":null},"media":[]}},{"kind":"guide_preview","preview":{"schema":"guide-preview/v1","id":"art_01M6W4RSA8A4KT4Q6V6SMRHE0H","type":"article","revision":1,"title":"Make an edge-strength image with FFmpeg prewitt","coverage":"For editors and analysts who want a quick edge-strength view of a frame or clip. You end with the filter's planes, scale and delta options and a way to lift faint edges. It is based on the FFmpeg manual and was not run, and the manual gives no ranges for scale or delta.","example":"A hypothetical foggy still processed with a scale of 2 and a small delta to see whether faint outlines appear; nothing was run.","tips":["An almost black result usually means faint edges, so raise scale before anything else.","A washed-out result can mean delta is too high, since delta is added to every filtered value.","The planes option controls which planes are processed; unprocessed planes are copied unchanged."],"categories":["T11"],"tags":["ffmpeg","prewitt","edge","gradient","analysis"],"evidence":{"inspection":"source_inspected","execution":"not_run","review":"unreviewed","review_revision":null},"media":[]}},{"kind":"guide_preview","preview":{"schema":"guide-preview/v1","id":"art_01M5MS3P378SCNHDKF0EX30DSQ","type":"article","revision":1,"title":"Opus R128 tags vs ReplayGain tags vs the output gain header: reference levels and player support","coverage":"A source note for audio editors and developers who tag or play Opus files. It compares the header output gain, the R128 tags and ReplayGain tags, and shows how mpv, MPD and FFmpeg treat them. It rests on the RFC and player source read on one date; no file was tagged or played.","example":null,"tips":["R128 tags use a different reference level from ReplayGain, so a player shifts the value; mpv and MPD both add 5 dB when converting.","If a tool changes the Opus header output gain, the R128 tags must be updated or removed, or the total applied gain will be wrong.","Do not assume every tool honours the Opus header gain; in the FFmpeg demuxer file read, that read is commented out."],"categories":["T10","T13"],"tags":[],"evidence":{"inspection":"source_inspected","execution":"not_run","review":"unreviewed","review_revision":null},"media":[]}},{"kind":"guide_preview","preview":{"schema":"guide-preview/v1","id":"art_01M5NP80W7KQ7BT6VFK2CBEJEX","type":"article","revision":1,"title":"Fixing a constant audio offset with FFmpeg: what -itsoffset, adelay and aresample async each change","coverage":"For editors whose separately generated or dubbed audio sits early or late against picture by a steady amount. It explains what three FFmpeg options each do, according to the official documentation, and how to separate a constant offset from drift. The workflow steps are the writer's inference and nothing was run.","example":null,"tips":["Measure the offset at the start and end first; a constant offset and drift need different fixes.","The delay filter only adds silence, so it cannot move audio earlier.","Re-measure on the exported file, since muxers and edit lists can reintroduce a start offset."],"categories":["T10","T13"],"tags":[],"evidence":{"inspection":"source_inspected","execution":"not_run","review":"unreviewed","review_revision":null},"media":[]}},{"kind":"guide_preview","preview":{"schema":"guide-preview/v1","id":"art_01M6VNF38KWQDSEYGE0CEH1DRN","type":"article","revision":1,"title":"Set black and white points in FFmpeg with the colorlevels filter","coverage":"For editors with washed-out or flat footage who want explicit control of black and white points. It maps the FFmpeg manual's four example looks (darker, lighter, more contrast, brighter) to the controls that produce them. Based on the manual only; no command was run.","example":"A hypothetical hazy clip starts from the manual's contrast values and then tries a slightly stronger pair; the second pair is untested and nothing was run.","tips":["Use the same value on red, green and blue; unequal channel values add a colour cast.","If highlights clip or shadows crush, the input points are too aggressive; move them back toward their defaults.","Input points and output points do different jobs; mixing them up gives the wrong look."],"categories":["T11"],"tags":["ffmpeg","colorlevels","levels","contrast","black-point"],"evidence":{"inspection":"source_inspected","execution":"not_run","review":"unreviewed","review_revision":null},"media":[]}},{"kind":"guide_preview","preview":{"schema":"guide-preview/v1","id":"art_01M6W8JY5MPAV79SP5DJ7F89ZW","type":"article","revision":1,"title":"Add a directional streak blur with FFmpeg dblur","coverage":"For editors who want a motion-streak look on a clip or still, set by angle and radius. You end with a blur in one chosen direction and a test routine to find which way an angle value points. Based on the FFmpeg manual only; nothing was run and the manual does not define the angle convention.","example":"A hypothetical speed-line effect on a title card, trying one angle and radius to see which way the streak runs. Not run.","tips":["Test the direction on an image with a clear edge before trusting an angle value you have not seen.","If the result is too soft, lower the radius; if the colour edges stay sharp, include all planes.","The default angle is 45 and the default radius is 5, so the filter without options already blurs diagonally."],"categories":["T11"],"tags":["ffmpeg","dblur","directional-blur","motion-blur","effects"],"evidence":{"inspection":"source_inspected","execution":"not_run","review":"unreviewed","review_revision":null},"media":[]}},{"kind":"guide_preview","preview":{"schema":"guide-preview/v1","id":"art_01M6W95VGW89J83N9D1VQP2TPQ","type":"article","revision":1,"title":"Undo pulldown with FFmpeg pullup","coverage":"For editors working with film-sourced video that was telecined to roughly 29.97 fps. You end with a plan for recovering progressive 24 fps frames using pullup and fps. It is based on the FFmpeg manual and was not run.","example":"A hypothetical NTSC film transfer processed with pullup and a 24000/1001 frame rate, where you would look for combing and dropped frames in action scenes; nothing was run.","tips":["Add the fps filter after pullup so the output has an even frame rate.","The strict breaks option set to 1 can drop too many frames in fast motion, while -1 may leave interlaced frames.","Step through a pan afterwards to check that no combed frames remain."],"categories":["T07"],"tags":["ffmpeg","pullup","inverse-telecine","ivtc","24p"],"evidence":{"inspection":"source_inspected","execution":"not_run","review":"unreviewed","review_revision":null},"media":[]}},{"kind":"guide_preview","preview":{"schema":"guide-preview/v1","id":"art_01M5MC6N8NNMVRXFPEESQ44V5P","type":"article","revision":1,"title":"Can Meta's AI label be removed or changed after posting? What one Threads help article says","coverage":"A source note for creators and agents who need to know whether Meta's AI label can be removed, edited or appealed once a post is live. It reports that archived captures of one Threads help article say nothing on those points, and that sibling Facebook and Instagram pages were not found. Documentary only; nothing was tested in the apps.","example":null,"tips":["Record whether a label was added by the creator or applied by Meta's systems, and mark removal as unverified rather than promising a client it can be done.","An empty or near-empty capture of a help page is not evidence that the page says nothing; some Meta pages only load their text through JavaScript.","Read the exact article and date: the help text and even the label name can change between captures."],"categories":["T06","T20"],"tags":[],"evidence":{"inspection":"source_inspected","execution":"not_run","review":"unreviewed","review_revision":null},"media":[]}},{"kind":"guide_preview","preview":{"schema":"guide-preview/v1","id":"art_01M5MSQF5C8FT6Q4FKPWBYF11X","type":"article","revision":1,"title":"Which licence an FFmpeg build carries and which configure options change it","coverage":"Explains how FFmpeg's licence depends on how a binary was built, for producers and tool makers who bundle or redistribute it. It covers the default, what the GPL, version 3 and nonfree options change, and a quick way to check a binary. It is based on the project's own texts and source, nothing was built, and it is not legal advice.","example":null,"tips":["A build made with the nonfree option is not legally redistributable, so check any bundled copy before shipping it.","Enabling GPL parts changes the licence of the whole build, not only of the added component.","FFmpeg's legal page gives a compliance checklist for LGPL use; it is not a substitute for legal advice."],"categories":["T10","T20"],"tags":[],"evidence":{"inspection":"source_inspected","execution":"not_run","review":"unreviewed","review_revision":null},"media":[]}},{"kind":"guide_preview","preview":{"schema":"guide-preview/v1","id":"art_01M6QEKH1BBRA1D9SPWE13DRM0","type":"article","revision":1,"title":"What the melt man page says about cuts, mixes, tracks and filters, and what it leaves unsaid","coverage":"A documentary reading of the melt command-line man page for people assembling video from the shell. It describes how the options group into cuts, mixes and transitions, tracks, filters and serialising, and notes that the page gives no example command or argument order. It was not run and says nothing about generated clips.","example":null,"tips":["The page gives no unit for the mix length and no argument order, so check both against a real run before relying on them.","Two options are both described as adding a transition and the page does not say how they differ.","The query options are how the page says to list available filters and transitions."],"categories":["T10"],"tags":["melt","mlt","command-line","documented-not-tested"],"evidence":{"inspection":"source_inspected","execution":"not_run","review":"unreviewed","review_revision":null},"media":[]}},{"kind":"guide_preview","preview":{"schema":"guide-preview/v1","id":"art_01M6VPZMNRFCGFEC7T9XWHDRVX","type":"article","revision":1,"title":"Stretch contrast automatically with FFmpeg normalize","coverage":"For editors with a flat or hazy clip who want to stretch its tonal range with FFmpeg and control flicker, colour shift and strength. Based on the FFmpeg manual and its examples; no command was run, so the look of results is unknown.","example":"A hypothetical hazy drone clip rendered three ways: full stretch, smoothed, then smoothed with linked channels; nothing was run.","tips":["If brightness pumps when objects enter or leave the frame, add temporal smoothing; too much causes slow drift.","Colour shifts come from independent channel normalization; the manual says linked normalization preserves hue.","Render a short excerpt for each variant and compare faces and skies before the full clip."],"categories":["T11"],"tags":["ffmpeg","normalize","auto-contrast","histogram-stretch","color-cast"],"evidence":{"inspection":"source_inspected","execution":"not_run","review":"unreviewed","review_revision":null},"media":[]}},{"kind":"guide_preview","preview":{"schema":"guide-preview/v1","id":"art_01M5M5ZBM0N9YC7W6WRBA2E5ED","type":"article","revision":1,"title":"What ComfyUI itself does and does not protect when its server is reachable from other machines","coverage":"A documentary note for people running ComfyUI from another machine, container, tunnel or reverse proxy. It lists what the server's own request filters cover and where authentication and network controls must come from outside. It reads a single pinned source commit and was not run.","example":null,"tips":["Passing the CORS option replaces the default origin-only request filter, so cross-site protection weakens when it is turned on.","Using the listen option with no value opens every network interface, not just loopback.","The project's own security policy treats anyone who can reach the URL as trusted, so add TLS, network limits and authentication yourself."],"categories":["T08","T09","T20"],"tags":[],"evidence":{"inspection":"source_inspected","execution":"not_run","review":"unreviewed","review_revision":null},"media":[]}},{"kind":"guide_preview","preview":{"schema":"guide-preview/v1","id":"art_01M6CQ0D711XXF9QTA7NVVMCJP","type":"article","revision":2,"title":"Colour in review media: what five open-source projects' docs say about ffmpeg, OCIO and grade-as-code","coverage":"For VFX, editorial and review-pipeline staff choosing which documents to read about keeping colour intact in review media. It summarises what the ASWF encoding guidelines, three OCIO review viewers and a grade-as-code language state about tags, HDR, metadata and A/B comparison. Documentation only; nothing was installed or run.","example":null,"tips":["Per the ASWF documents, colour tags only guide decoding, and browsers can treat the same tag differently, so check review files in the browsers your reviewers actually use.","Avid reportedly gives media with no timecode a 01:00:00:00 start, so ask editorial what start timecode they want before encoding.","The HDR page says mastering-display metadata cannot currently be added to VP9 with ffmpeg, so confirm what your target format can carry."],"categories":["T12"],"tags":["colour-management","ffmpeg","ycbcr","hdr","pq","hlg","ocio","review-player","ab-compare","dctl","lut","cdl","documented-not-tested"],"evidence":{"inspection":"source_inspected","execution":"not_run","review":"unreviewed","review_revision":null},"media":[]}},{"kind":"guide_preview","preview":{"schema":"guide-preview/v1","id":"art_01M5MC3PCJXJD3221JE7770YY8","type":"article","revision":2,"title":"How TikTok and Meta label AI-generated content, compared with YouTube's rules","coverage":"Compares what TikTok's Community Guidelines and a Meta newsroom post say about labelling realistic AI-generated video and audio, with a brief contrast to YouTube. It helps creators and marketers who post AI media on several platforms. It reflects policy text read at capture, enforcement was not observed, and Meta's source is an elections-focused post.","example":null,"tips":["Each platform's labelling rules centre on realistic-looking content, so check them separately instead of assuming one platform's rules apply to another.","TikTok says unlabeled realistic AI content can be removed or restricted, and labelling does not excuse misleading content.","TikTok's For You feed also excludes unoriginal reused material that adds nothing new."],"categories":["T04","T20"],"tags":[],"evidence":{"inspection":"source_inspected","execution":"not_run","review":"unreviewed","review_revision":null},"media":[]}},{"kind":"guide_preview","preview":{"schema":"guide-preview/v1","id":"art_01M5MSFEWKVESBP8SPAJZBGHSV","type":"article","revision":1,"title":"Making UI animation respect reduced-motion settings: what W3C and MDN say","coverage":"For designers and front-end developers adding motion to interfaces. It summarises how browsers expose the reduced-motion preference and which WCAG 2.2 criteria and technique relate to animation. It is a desk review of specs read on 2026-10-22; no interface was tested and Media Queries Level 5 is still a draft.","example":null,"tips":["Auto-starting motion that runs over five seconds beside other content needs a way to pause, stop or hide it (Level A).","The interaction-animation criterion is Level AAA, so treat it as a higher target, not the baseline.","The reduce setting means motion should be removed or replaced, not only shortened."],"categories":["T11","T17"],"tags":[],"evidence":{"inspection":"source_inspected","execution":"not_run","review":"unreviewed","review_revision":null},"media":[]}},{"kind":"guide_preview","preview":{"schema":"guide-preview/v1","id":"art_01M5MT61B81R5GFBVTSCWVQ3XB","type":"article","revision":1,"title":"Suno music in a film, game or ad: what the Terms say about ownership, plan tier and downloads","coverage":"For producers and agents weighing a Suno track for a film, game or ad. It sets out, from the Terms effective Sept 3, 2026, how ownership differs by plan, why a permitted download matters for commercial use, and what must stay intact on the file. Based on reading the Terms and help page; not legal advice and not tested.","example":null,"tips":["Record the plan you were on when the song was generated and whether you downloaded it through an approved channel.","Do not remove or alter any fingerprint, watermark or metadata that Suno adds to the output.","The help page and the Terms word ownership differently; note which text and date you relied on."],"categories":["T14","T20"],"tags":[],"evidence":{"inspection":"source_inspected","execution":"not_run","review":"unreviewed","review_revision":null},"media":[]}}],"truncated":true,"has_more":true,"next_cursor":"eyJyZWZlcmVuY2UiOiJNakEiLCJwcmV2aWV3IjoiTWpBIiwicSI6IkFkZCBvciByZW1vdmUgYSB2aWduZXR0ZSB3aXRoIHRoZSBGRm1wZWcgdmlnbmV0dGUgZmlsdGVyIiwidHlwZXMiOltdLCJjYXRlZ29yaWVzIjpbXX0","ordering":"bounded_reference_and_preview_lanes"}