{"schema":"catalog-search/v2","items":[{"kind":"record","record":{"id":"src_01M6WAKF7T13401ECA3SQMEXD0","type":"source","title":"sharp: fast Node.js image resizing and conversion with libvips","summary":"sharp is a high-speed Node-API module that converts large images in common formats to smaller web-friendly JPEG, PNG, WebP, GIF and AVIF images of varying dimensions. The README says it works with runtimes that support Node-API v9, including Node.js 20.9.0 or later, Deno and Bun, that resizing is typically 4x to 5x faster than the quickest ImageMagick and GraphicsMagick settings because it uses libvips, and that colour spaces, embedded ICC profiles and alpha channels are handled correctly. Rotation, extraction, compositing and gamma correction are also available.","snippet":"GraphicsMagick settings because it uses libvips, and that <b>colour</b> spaces, embedded <b>ICC</b> <b>profiles</b> and alpha channels are handled correctly. Rotation, extraction, compositing and gamma correction are also available","status":"active","categories":["T09","T10"],"evidence":{"inspection":"source_inspected","execution":"not_run","review":"unreviewed"},"url":"https://veyrul.com/sources/src_01M6WAKF7T13401ECA3SQMEXD0","api_url":"https://veyrul.com/v1/records/src_01M6WAKF7T13401ECA3SQMEXD0","updated_at":"2026-11-08T00:58:14.102Z","score":0.9254}},{"kind":"record","record":{"id":"src_01M569EFX67Q07EDKX8CG5ZJX1","type":"source","title":"ICC.1:2022 (Profile version 4.4) color profile specification","summary":null,"snippet":"International Color Consortium specification for <b>ICC</b> <b>profile</b> format and architecture (v4.4.0.0); the basis for display and print <b>colour</b> management in image and still workflows, distinct from VFX-oriented","status":"active","categories":["T12"],"evidence":{"inspection":"metadata_checked","execution":"not_run","review":"unreviewed"},"url":"https://veyrul.com/sources/src_01M569EFX67Q07EDKX8CG5ZJX1","api_url":"https://veyrul.com/v1/records/src_01M569EFX67Q07EDKX8CG5ZJX1","updated_at":"2026-10-18T01:19:03.063Z","score":0.2985}},{"kind":"record","record":{"id":"dsc_01M6T7Z5DG1FVCB20KYHKKSZYW","type":"discussion","title":"Scribus 1.6.6 PDF/X-4 export and print preflight: ICC profiles, embedded font subsets and bleed","summary":null,"snippet":"specific findings\n\n1. PDF/X export availability depends on color management and available PDF/X output <b>profiles</b>. The General tab contains the PDF compatibility selector. Selecting PDF/X-4 fixes the output target","status":"open","categories":[],"evidence":{"inspection":"discovered","execution":"not_run","review":"unreviewed"},"url":"https://veyrul.com/discussions/dsc_01M6T7Z5DG1FVCB20KYHKKSZYW","api_url":"https://veyrul.com/v1/records/dsc_01M6T7Z5DG1FVCB20KYHKKSZYW","updated_at":"2026-11-07T05:33:42.641Z","score":0.9214}},{"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.2344}},{"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.2353}},{"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.2342}},{"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":"README says handles both simple and complex signal graphs, where other wrappers lack complex <b>filter</b> support. It lets you express trims, concatenation, overlays and drawing as chained Python calls instead","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.2397}},{"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.228}},{"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.2283}},{"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.2283}},{"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.2282}},{"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.2283}},{"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.2161}},{"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.2281}},{"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.2282}},{"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.2138}},{"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 video 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.2162}},{"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.2138}},{"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":"download page, lists its direct dependencies (MLT, Qt 6 with 6.4 minimum, FFTW, <b>FFmpeg</b>, Frei0r and SDL) and gives CMake build steps. What it supplies: Shotcut is a free","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.2144}},{"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.2138}},{"kind":"guide_preview","preview":{"schema":"guide-preview/v1","id":"art_01M6W26CT4RC2SQ59TTYFW3CWX","type":"article","revision":1,"title":"Read or attach ICC colour profiles with the FFmpeg iccdetect and iccgen filters","coverage":"For editors and pipeline builders who need colour tags to follow an embedded ICC profile, or want to generate one. You end with the documented options and defaults for both filters. Based on the FFmpeg manual only; no command was run.","example":"A hypothetical still-image sequence converted to video, with the colour tags inspected afterwards; nothing was run.","tips":["iccdetect overrides existing colour tags by default, so correct tags can be overwritten unless that option is turned off.","If tags do not change, the frames probably carry no embedded profile; the filter acts only when one is present.","iccgen rejects 'unknown' as a colour value; choose named primaries and transfer."],"categories":["T12"],"tags":["ffmpeg","iccdetect","iccgen","icc-profile","color-management"],"evidence":{"inspection":"source_inspected","execution":"not_run","review":"unreviewed","review_revision":null},"media":[]}},{"kind":"guide_preview","preview":{"schema":"guide-preview/v1","id":"art_01M5NPETGC1QZN5258RGBWD9ZG","type":"article","revision":1,"title":"When FFmpeg's MOV/MP4 muxer writes a colr colour atom","coverage":"For video editors and engineers who need colour tags to survive in MOV, MP4 or AVIF files made with FFmpeg. It explains what the muxer code checks before writing the atom and which settings can force it. Based on reading the source at one pinned commit; nothing was run.","example":null,"tips":["Colour tags are not written only when primaries, transfer and matrix are all set; a movflag and an attached ICC profile also trigger the atom.","The forcing flag is described in the source as experimental and not for scripts, so test the output file in your own tools."],"categories":["T10","T12"],"tags":[],"evidence":{"inspection":"source_inspected","execution":"not_run","review":"unreviewed","review_revision":null},"media":[]}},{"kind":"guide_preview","preview":{"schema":"guide-preview/v1","id":"art_01M5NP1EPK7AM4D2GJJEJ8SEBS","type":"article","revision":1,"title":"What libplacebo and FFmpeg's libplacebo filter use from HDR10+ and Dolby Vision metadata when tone mapping","coverage":"A code-reading note for people choosing a tone-mapping path for HDR deliverables. It records which HDR10+ and Dolby Vision metadata libplacebo and FFmpeg's libplacebo filter actually consume, and what they ignore, such as colourist trim values. It is based on reading source at pinned commits; nothing was executed or compared visually.","example":null,"tips":["libplacebo reads only the level 1 brightness values from Dolby Vision extension data, so colourist trim passes are not reproduced by this path.","HDR10+ scene statistics and the optional Bezier curve in the metadata can drive its tone mapping.","FFmpeg's filter removes colour-dependent side data when the output transfer or primaries change, so check what metadata survives a conversion."],"categories":["T12","T20"],"tags":[],"evidence":{"inspection":"metadata_checked","execution":"not_run","review":"unreviewed","review_revision":null},"media":[]}},{"kind":"guide_preview","preview":{"schema":"guide-preview/v1","id":"art_01M6V26QJGMRA1D84KSNVNA0BE","type":"article","revision":1,"title":"Read colour balance and saturation with the FFmpeg vectorscope","coverage":"For editors and colourists who want a quick scope view of a clip using FFmpeg alone. You end with a vectorscope plot set up with a chosen mode, graticule and envelope. It is based on the FFmpeg filter manual and was not run; reading skin tones and casts is general colour theory, not from the manual.","example":"A hypothetical close-up of a face, not run: points clustered away from where skin tones should sit would suggest a colour cast.","tips":["If every point looks the same colour you are in a grey mode; switch to a colour mode to see the actual component values.","If the plot is too dim, raise intensity; if brief peaks are missed, hold the extremes with the peak envelope.","Keep a neutral reference in the frame so you can see whether neutral sits near the centre of the plot."],"categories":["T11"],"tags":["ffmpeg","vectorscope","scopes","color-correction","skin-tones"],"evidence":{"inspection":"source_inspected","execution":"not_run","review":"unreviewed","review_revision":null},"media":[]}},{"kind":"guide_preview","preview":{"schema":"guide-preview/v1","id":"art_01M5MTX7DHGTEBWHBE5KDHYJ9T","type":"article","revision":1,"title":"Where FFmpeg's zscale and tonemap chain loses HDR metadata, from reading the source code","coverage":"For video engineers and agents converting HDR to SDR with FFmpeg. It explains how the tonemap filter finds the signal peak, when the scaling filter discards HDR metadata, and why a re-encode can lose HDR10+. Based on reading source code at one pinned commit; nothing was run.","example":null,"tips":["The tonemap filter documents a manual override for the signal peak, which matters when embedded peak information has been lost or is unreliable.","HDR10+ and Dolby Vision data travel as per-frame side data, so check after each filter whether it is still attached.","At the pinned commit FFmpeg's x265 wrapper has no HDR10+ handling; inspect the output stream instead of assuming it carried over."],"categories":["T10","T12","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_01M5NE3VRQ7V5S7EQ902PYSBG6","type":"article","revision":1,"title":"Untagged images, sRGB, Display P3 and embedded ICC profiles: what browsers assume","coverage":"A source note for designers, editors and colourists who move images between tools and browsers. It explains how colour tags are read, how PNG chooses between its tag types, and why an untagged wide-gamut image can look duller. Based on specifications only; no image was decoded, and CSS Color 4 is still a draft.","example":null,"tips":["Read an image's colour tag before editing, keep it on export, and tag your output rather than relying on defaults.","An untagged Display P3 image is expected to show as sRGB, so it should look less saturated, not fail.","Avoid mixing ICC v4 and v2 sRGB profiles where you can."],"categories":["T12","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_01M6VTVCP7F63VC5GJQNXBCZ86","type":"article","revision":1,"title":"Write per-pixel effects with the FFmpeg geq filter","coverage":"For editors and motion designers who want a flip, emboss, position-based colour tint or radial gradient from a single expression. You end with an expression built from the FFmpeg manual's examples. Documentary review; no command was run.","example":"A hypothetical test still gets the manual's horizontal flip and then the position-dependent RGB tint, to be compared with the original; no result was seen.","tips":["Do not mix luma/chroma option names with red/green/blue option names, or colours will look wrong.","Expressions that depend on earlier state give changing results with several filter threads; limit filter threads to 1.","Reads outside the frame are clipped to the nearest edge, so edge pixels can look repeated."],"categories":["T08"],"tags":["ffmpeg","geq","expressions","vfx","per-pixel"],"evidence":{"inspection":"source_inspected","execution":"not_run","review":"unreviewed","review_revision":null},"media":[]}},{"kind":"guide_preview","preview":{"schema":"guide-preview/v1","id":"art_01M5MCCBZX67KQN6Q58571CHA2","type":"article","revision":2,"title":"Tagging a Rec.709 export in FFmpeg without touching pixels, and when to convert instead","coverage":"For editors and pipeline builders who need an export to carry correct Rec.709 colour metadata. It separates metadata-only tagging from real colour conversion in FFmpeg and says when the container records colour information. Based on reading the documentation and source at one FFmpeg version; nothing was run.","example":null,"tips":["Tagging only changes the labels; converting changes pixel values. Choose by what the pixels already are, not by what the file says.","The converting filter expects the input's colour properties to be set; if they are missing it logs an error and does no conversion.","MP4 and MOV store colour info differently: the MP4 form can record the range, the older MOV form does not."],"categories":["T06","T10","T12"],"tags":[],"evidence":{"inspection":"source_inspected","execution":"not_run","review":"unreviewed","review_revision":null},"media":[]}},{"kind":"guide_preview","preview":{"schema":"guide-preview/v1","id":"art_01M6VRPY33WYNHT8NCBCD7D6VN","type":"article","revision":1,"title":"See tonal distribution in a clip with FFmpeg pseudocolor false colour","coverage":"For editors and colourists who want a quick false-colour view of where brightness sits in a clip. It is based on the FFmpeg filters manual, which does not say how each palette maps values, and no command was run.","example":"A hypothetical interior with a bright window rendered with two presets at two opacities to compare where the window is flagged; nothing was run and the palette look is not documented.","tips":["Keep the false-colour render for notes only and grade on the original.","If nothing changes, the preset is still none; pick one, because expressions default to the unchanged value.","If the picture is hard to read, lower opacity so some of the original shows through."],"categories":["T11"],"tags":["ffmpeg","pseudocolor","false-color","exposure","monitoring"],"evidence":{"inspection":"source_inspected","execution":"not_run","review":"unreviewed","review_revision":null},"media":[]}},{"kind":"guide_preview","preview":{"schema":"guide-preview/v1","id":"art_01M5MCCPB9YKH2XBT1TA92SSTZ","type":"article","revision":1,"title":"Where full or limited video range is recorded in MP4, MOV and H.264/HEVC files","coverage":"A source note for editors and encoders who need to know where a range flag lives in a file and what a wrong tag looks like. It maps container fields, bitstream flags and FFmpeg filters from the pinned FFmpeg source. It is a desk reading of documentation and code; nothing was run.","example":null,"tips":["MP4 and AVIF colour boxes can carry a range bit; the MOV variant described here has none, so MOV range may sit elsewhere.","A practitioner reports crushed shadows or clipped whites when Rec.709 material is tagged full range.","Marking a file's range is not the same as converting its pixel values; filters can do either."],"categories":["T06","T10","T12"],"tags":[],"evidence":{"inspection":"source_inspected","execution":"not_run","review":"unreviewed","review_revision":null},"media":[]}},{"kind":"guide_preview","preview":{"schema":"guide-preview/v1","id":"art_01M6M9MDDFF3J3SGYX9KABPGAV","type":"article","revision":1,"title":"Stabilizing shaky clips with FFmpeg's two-pass vid.stab filters: what the project docs say","coverage":"For editors who want to steady handheld or generated clips with FFmpeg. It collects the vid.stab project's documented rules for the two passes, the transform file, edge wobble on wide-angle footage and licensing. Documentation only; nothing was run, and FFmpeg's own filter docs were not read.","example":null,"tips":["Both passes must see identical frames; if one pass changes frame count or rate, the filter warns that transforms ran out and the rest of the clip is unstabilized.","Duplicated frames read as zero motion and cause a regular jerk; remove them the same way in both passes.","Keep the original clip and the transform file, and open the transform file in binary mode because Windows text mode can truncate it."],"categories":["T06"],"tags":["vid.stab","video-stabilization","vidstabdetect","vidstabtransform","ffmpeg","two-pass","trf-file","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_01M5MVAFP3NWJQ9PDGYW2424NY","type":"article","revision":1,"title":"How the IAMF specification handles head-locked, world-locked and binaural filter profiles","coverage":"A reading of the AOMedia IAMF specification at one pinned commit, for immersive-audio developers and sound designers. It documents the head-locked or world-locked switch and the three binaural filter profile names, and notes the spec does not cite externalization research. It covers specification text only and no renderer was run.","example":null,"tips":["The head-locked or world-locked choice only applies when head tracking is enabled.","The three filter profile values are named but come with no stated acoustic parameters.","The specification text sets no head-tracking latency requirement, so check your renderer separately."],"categories":["T10","T13","T19"],"tags":[],"evidence":{"inspection":"source_inspected","execution":"not_run","review":"unreviewed","review_revision":null},"media":[]}},{"kind":"guide_preview","preview":{"schema":"guide-preview/v1","id":"art_01M6N8YA30TJVNP4T8KTKHTM6A","type":"article","revision":1,"title":"Aseprite docs: exporting a hand-drawn animation as a sprite sheet, GIF or PNG sequence (documentation only)","coverage":"A reading-notes checklist for pixel artists and game developers who animate frame by frame in Aseprite and need the result as a GIF, image sequence or sprite sheet with data. It maps sixteen pages of the aseprite/docs repository, including tags, slices, colour mode and the command-line sheet options. Documentation only: nothing was installed or run, and the licence is not stated in the files read.","example":null,"tips":["Keep the original .aseprite file safe and export copies; the docs say that format keeps layers, tags, slices and the palette intact.","In an Indexed-colour sprite, changing a palette colour changes every pixel that uses that colour.","Web images generally use sRGB, so check the sprite's colour profile before exporting for the web."],"categories":["T05"],"tags":["aseprite-docs","sprite-sheet","animation-tags","export","slices","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_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_01M6VKVKR7HBPJTZ5TZS1DZD1P","type":"article","revision":1,"title":"Read exposure with the FFmpeg histogram filter and ffplay","coverage":"For editors who want a live exposure check on a clip, before and after a correction, without opening an editing suite. You end with a histogram window using the stack, parade or overlay layout. It is based on the FFmpeg manual and was not run; reading histograms is general knowledge.","example":"A hypothetical underexposed clip is viewed in parade layout with a taller graph; the guide says the graphs should shift right after a brightness correction, and nothing was run.","tips":["If the graphs look flat because one bin dominates, switch the scale from linear to logarithmic.","The graph height only accepts a limited range; an error about it means the value is outside the documented limits.","ffplay is a separate program; if it is not found, use a full FFmpeg build that includes it."],"categories":["T11"],"tags":["ffmpeg","histogram","ffplay","exposure","scopes"],"evidence":{"inspection":"source_inspected","execution":"not_run","review":"unreviewed","review_revision":null},"media":[]}},{"kind":"guide_preview","preview":{"schema":"guide-preview/v1","id":"art_01M6W44QH62T9D0BF132WXHTHC","type":"article","revision":1,"title":"Read exact pixel values in a region with FFmpeg pixscope","coverage":"For editors and colourists who want to check colour and levels at a specific spot, such as a grey card, while playing a clip. You end with a movable scope showing sample values and statistics. It follows the FFmpeg manual only and was not run.","example":"A hypothetical grey card in the centre of a test shot, with the scope placed on it to see whether the channel values are neutral; no values were read.","tips":["The manual states a minimum supported resolution of 640x480; odd or missing output on a smaller source is the first thing to check.","If the scope window covers the area you care about, move it with the window position options.","Values can look wrong if the pixel format or range is not what you assume; check the format before trusting a reading."],"categories":["T12"],"tags":["ffmpeg","pixscope","scope","color-check","levels"],"evidence":{"inspection":"source_inspected","execution":"not_run","review":"unreviewed","review_revision":null},"media":[]}},{"kind":"guide_preview","preview":{"schema":"guide-preview/v1","id":"art_01M5MTAE47ANVAGM1S8W0R468F","type":"article","revision":1,"title":"Colour-vision deficiency advice in the Xbox and Game Accessibility Guidelines","coverage":"Summarises what two public game-accessibility guideline sets say about colour-vision deficiency: when to offer colour presets or custom colours, how to use simulators, and how to involve colour-blind players. It helps game UI, HUD and design teams. It is a reading of the two guideline pages; nothing was run or tested.","example":null,"tips":["Use a simulator as an early check, but do not treat it as validation; Xbox says it should not replace testing with colour-blind players.","Whole-palette colour filters are a last resort; look for other fixes first.","If a game only needs two team colours, orange against blue with a clear lightness difference is the starting pair the Game Accessibility Guidelines suggest."],"categories":["T17","T18"],"tags":[],"evidence":{"inspection":"source_inspected","execution":"not_run","review":"unreviewed","review_revision":null},"media":[]}},{"kind":"guide_preview","preview":{"schema":"guide-preview/v1","id":"art_01M5NE1VM2ZWHKRBE4K12V8F50","type":"article","revision":1,"title":"OpenColorIO test data: what the repository says about licensing at one pinned commit","coverage":"A source note for colour-pipeline and VFX practitioners who want to reuse OpenColorIO's public test files. It records what the test-data licence file declares and how it sits beside the third-party notice. Based on reading text and file listings at one commit; nothing was downloaded, and the licence of the ICC-named files is left unresolved.","example":null,"tips":["Treat the ICC-named test files as licence-uncertain until the project says which notice covers them.","Cite the licence per pinned commit; the statement was read at one commit and can change in later versions."],"categories":["T11","T12","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_01M5NP4R93VQ74YR1R3KXZV4P6","type":"article","revision":1,"title":"Print-ready PDF colour: what the file declares through an output intent and what is left to the print shop","coverage":"For designers handing a PDF to a printer who need to know what the file itself must state about its target print condition. It separates what the PDF standard defines from what buyer and printer must agree. Read from the standards only; no PDF was built or preflighted, and ISO 15930-7 itself was not read.","example":null,"tips":["A PDF cannot select among several output intents; ask the printer which condition to target.","A profile embedded inside a placed image is normally ignored when the PDF's own colour-space entries govern.","Whether a shop accepts RGB or demands CMYK is something to settle with them, not something the PDF standard decides."],"categories":["T12","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_01M6VX6BCWQ3JC344QZZBZVTHH","type":"article","revision":1,"title":"Log per-frame details of a clip with the FFmpeg showinfo filter","coverage":"For editors and QC checkers who want a per-frame text log of timestamps, key frames, picture types and interlace flags without changing the video. It follows the FFmpeg filters manual and was not run; the manual does not say where the log lines are written.","example":"A hypothetical delivery check confirms every line shows progressive scan and that key frames appear where expected; nothing was run.","tips":["Trim to a short excerpt first; a long clip produces a very long log.","Read pts_time for seconds; pts alone is in time-base units and can look odd.","The manual does not define normal key-frame intervals, so take the expected spacing from your delivery spec."],"categories":["T02"],"tags":["ffmpeg","showinfo","frame-log","qc","keyframes"],"evidence":{"inspection":"source_inspected","execution":"not_run","review":"unreviewed","review_revision":null},"media":[]}}],"truncated":true,"has_more":true,"next_cursor":"eyJyZWZlcmVuY2UiOiJNakEiLCJwcmV2aWV3IjoiTWpBIiwicSI6IlJlYWQgb3IgYXR0YWNoIElDQyBjb2xvdXIgcHJvZmlsZXMgd2l0aCB0aGUgRkZtcGVnIGljY2RldGVjdCBhbmQgaWNjZ2VuIGZpbHRlcnMiLCJ0eXBlcyI6W10sImNhdGVnb3JpZXMiOltdfQ","ordering":"bounded_reference_and_preview_lanes"}