Add NVENC (h264_nvenc, hevc_nvenc) encoder support for Linux builds#17
Conversation
|
Hi @JonnyBurger, I noticed the CircleCI Linux builds failed on this PR (build-linux-x64-gnu, build-linux-x64-musl, build-linux-arm-gnu, build-linux-arm-musl all failed). I can't access the CircleCI logs directly — could you share what the error was? My best guess is either:
Happy to fix once I know the error! |
|
The CI build fails because Tag - const NV_CODEC_HEADERS_TAG = "n12.2.16.0";
+ const NV_CODEC_HEADERS_TAG = "n12.2.72.0";
Already fixed on my fork's branch ( |
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
@JonnyBurger This PR is ready to merge — all 6 CI checks are passing and mergeable_state is clean. As noted in remotion-dev/remotion#7733, the rebuilt binary has |
The previous `make install PREFIX=remotion` ran with cwd=nv-codec-headers, so headers were installed into nv-codec-headers/remotion/, not the top-level ./remotion/ that FFmpeg's PKG_CONFIG_PATH points at. As a result pkg-config could not find ffnvcodec.pc and FFmpeg silently disabled h264_nvenc and hevc_nvenc with: WARNING: Disabled h264_nvenc_encoder because not all dependencies are satisfied: nvenc WARNING: Disabled hevc_nvenc_encoder because not all dependencies are satisfied: nvenc Use an absolute install prefix so the headers land where FFmpeg looks. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
Findings from the artifact size comparison:
Conclusion: Linux got bigger, Windows did not. Implemented changes in build scripts:
Technically this is now gated as: enable NVENC when running on Linux and either building Windows ( |
Enable NVENC on Windows cross-builds while excluding Linux ARM64 targets so ARM artifacts stay smaller. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
Looks good! The renderer code in remotion#7733 already handles both Linux and Windows NVENC selection ( The ARM64 exclusion makes sense — our probing logic ( |
|
✅ Merged! Binary sizing verified:
This improvement is proceeding in the Remotion main repository. Thanks for the collaboration! |
This PR copies the changes from #16 so CircleCI runs on a branch owned by a maintainer account.\n\nOriginal PR: #16