跳到正文
GitHub · ronak-create/FableCut· ronak-create/FableCut·· 8 天前

ronak-create/FableCut 发布 v1.15.0

AI 导读

Added Agents can look at the footage. fablecut_frame (MCP) and GET /api/frame return a source frame, a contact sheet of evenly spaced frames, or the composed timeline frame at a time, as a JPEG with a text line naming the source, timestamps and clips on screen. text:true returns statistics instead (luma levels on 0–1, dominant colours, texture, saturation and per-cell motion) for agents without vision. Reading a local file by path= requires the X-FableCut-Client header. Media management in the Project bin. Each file's frame rate, codecs, audio channels, sample rate, bitrate and size are read with ffprobe and shown in the bin ( GET /api/media-info ). Search by name, codec, resolution or #tag ; show favorites, used / unused files, a kind, a tag or a collection; sort by any of them or by how often a file is used; a list view with metadata columns. Files can be starred, tagged and grouped into collections. Find timeline instances lists every place a file is used (comps included) and jumps there; Reveal in project goes from a clip to its file. Agents: patch ops updateMedia , setCollection , removeCollection ; the compact view shows metadata, tags and usage. Offline media, relink and replace. A missing file is marked offline in the bin and on the timeline, and its clips show a "Media offline" slate in the monitor and the export. Relink… finds moved files in the project folders by name and size (or matches a chosen folder by name) and keeps every clip's In point; Replace file… puts a new file behind a media entry, trimming clips to fit. Agents: relinkMedia and replaceMedia patch ops, POST /api/relink/candidates ; offline files show in fablecut_status and the compact view. Proxies. Create a light H.264 copy (540p or 720p, frame-accurate, short GOP) of heavy footage from the bin, made by ffmpeg in the background with progress in the bin. With the monitor's Proxy button on (the default), clips and the Source monitor play the proxy while you edit; export, scopes and frame grabs always switch back to the originals. Proxies are a cache in analysis/proxies/ , tied to the source file's version. Agents: fablecut_proxy (make, check, delete); /api/proxy endpoints and SSE event proxy ; the compact view shows proxy:540p . Delivery presets in the Export dialog. YouTube, YouTube Shorts, Instagram Reels, TikTok, X, LinkedIn, Master, Broadcast (ProRes 422 HQ, PCM 24-bit), Web, Archive (lossless FFV1) and Custom, with every setting as a control: resolution and reframing (crop, fit or stretch to another shape), frame rate, codec (H.264, HEVC, AV1, VP9, ProRes, DNxHR, XDCAM HD422, FFV1), encoder (NVENC, Quick Sync and AMF when they work on the machine), CRF / VBR / CBR, max rate, keyframe interval, encoder speed, pixel format, color, container, audio codec / bitrate / rate / channels, a file-name template and metadata. Presets can be saved for every project ( library/delivery/ ). The dialog warns about upscaling, crops, platform length / size / frame-rate limits and estimates the file size. 4:2:2, 4:4:4, 10-bit and lossless outputs get raw RGBA frames. Agents: fablecut_export takes preset and delivery ; setProject {delivery} pins a project default; fablecut_encode_profiles lists the presets and the usable encoders. Encoding profiles still work and sit at the bottom of the list. Batch export and an export queue. A project keeps a list of outputs ( project.outputs ; "+ Typical set" adds master, YouTube 1080p, a 9:16 reel, a square and a 720p preview), and Export checked makes them all with one render per frame rate and range (up to 8 outputs each): each frame is drawn once and every output's ffmpeg encodes it, so four 1080p files take about as long as one. The queue runs outputs back to back with progress, stop, retry and open; one failed output does not stop the rest. An export frame of another shape no longer squeezes an output: a 16:9 file of a project framed for 9:16 reframes the whole canvas. Agents: fablecut_export {outputs:true | [...]} , setProject {outputs} ; REST /api/export/begin {deliveries:[...]} . Loudness normalization and delivery checks. A delivery can normalize the mix to a loudness target (−14 streaming, −16 podcast, −23 EBU R128, −24 ATSC A/85) with a true-peak ceiling, using ffmpeg's two-pass loudnorm ; Broadcast does −23 LUFS / −1 dBTP by default. Every exported file is read back with ffprobe and measured, and checked against what was asked: size, frame rate, frame count, codec, color, audio, length, loudness, true peak and the platform's file-size limit. The report shows in the export queue, after a single export, and in the fablecut_export reply. Changed /media/ serves files in subfolders of media/ too. Chroma key, temperature, tint and RGB split run on the GPU (WebGL2), in preview and export: a 720p keyed frame went from 113 ms to 3.6 ms (RTX 4090) and 123 ms to 12.5 ms (Intel UHD). Output matches the CPU loop within 1–2 levels (a few chroma-key edge pixels up to ~11). Without WebGL2, or on a software rasterizer, the CPU loop still runs. The editor redraws once per project frame , not on every display refresh (240×/s on a 240 Hz panel). While paused it drops to 4 fps after 1.5 s idle. An idle editor sleeps : the loop slows to a 4 fps timer and the audio graph suspends 3 s after the last sound. Idle tab: 83% → 2.2% of a core. 官方 Release:v1.15.0。请查看 Release notes、依赖和许可证变化。

来源:GitHub · ronak-create/FableCut · github.com