All-Intra HEVC (NVENC) growing-file ingest #161
No reviewers
Labels
No labels
bug
bug
duplicate
enhancement
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: WildDragonLLC/dragonflight#161
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/nvenc-hevc-ingest"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Adds GPU-accelerated All-Intra HEVC (NVENC) as an opt-in capture/master codec for growing-file edit-while-record, offloading the ingest encode from CPU to the L4.
This change is additive — the default recorder codec stays
prores_hq;hevc_nvencis selected per-recorder.Changes
handleSidecarStart): acceptsuseGpu; attaches NVIDIA runtime +DeviceRequests+NVIDIA_VISIBLE_DEVICES/DRIVER_CAPABILITIESwhen set. No-op for CPU codecs.recordersstart): derivesuseGpufromrecording_codec(hevc_nvenc/h264_nvenc); passes it to remote sidecar + local docker spawn.capture-manager): validated all-intra HEVC config —-bf 0 -forced-idr 1 -g 600 -force_key_frames expr:1 -profile:v main10(NVENC rejects-g 1).--pkg-config-flags="--static"which broke x265 detection and prevented the image from building.Validation (on L4, zampp2)
I, 10-bit Main 10Regression sweep (all green)
Still pending before relying on HEVC for growing workflows
🤖 Generated with Claude Code
NVENC rejects -g 1 ("GopLength > numBFrames+1" at InitializeEncoder), so true all-intra is achieved with -bf 0 -forced-idr 1 -g 600 plus -force_key_frames expr:1 (forces an IDR on every frame). ffprobe confirms all frames are pict_type=I. Container is fragmented MOV; MXF muxing of HEVC fails on this ffmpeg build ("Operation not permitted"). Validated end-to-end via direct ffmpeg on zampp2/L4: hevc, Main 10, 1920x1080, yuv420p10le, ptypes=[IIIIII...] Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>Brings the node-local NVENC ffmpeg build into the branch and fixes it: - multi-stage build with nv-codec-headers + --enable-nvenc/--enable-cuvid - removes --pkg-config-flags="--static", which broke x265 detection ("ERROR: x265 not found using pkg-config") and prevented the image from ever building. Shared linking is used; runtime stage already apt-installs the shared codec libs (libx265-199 etc). - self-validating: build fails if nvenc encoders are absent. Rebuilt image confirmed to expose hevc_nvenc/h264_nvenc/av1_nvenc on the L4. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.Merge
Merge the changes and update on Forgejo.Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.