logo
4
1
Login
chore: 修改构建流程中docker构建目录

CNB FFmpeg + CUDA 编解码开发环境

Ubuntu Latest CUDA FFmpeg License Build Status

CNB 在线远程多媒体编解码开发镜像,内置最新版 FFmpeg,完整支持 H.264 / H.265 等主流格式的软件和 NVIDIA GPU 硬件编解码能力,配套 code-server 云端开发环境,适用于 AI 视频、超清转码、自动转封装等场景。


💿 镜像信息

  • 镜像名称: docker.cnb.cool/bring/examples/ffmpeg:latest
  • 镜像基础: nvidia/cuda:11.8.0-devel-ubuntu22.04
  • 基础系统: Ubuntu Latest
  • 系统加速源: 腾讯云 Ubuntu 镜像
  • 默认目录: /workspace

🛠️ 内置工具与特性

  • FFmpeg (6.x)
    源码编译,支持:

    • libx264 / libx265 / libfdk_aac / libopus / libmp3lame / ass
    • h264_nvenc / hevc_nvenc(硬件编码)
    • cuvid / cuda / nvdec(硬件解码)
    • libnpp / openssl / zlib / libfreetype
  • GPU 支持
    支持 NVIDIA L20 等算力卡,完整 NVENC/NVDEC 加速功能(需宿主机安装驱动 + nvidia-docker 支持)

  • 开发环境
    内置 code-server 云端 VS Code + 多插件(Git 工具、YAML、Copilot 等)

  • 开发工具链
    包含 CMake、build-essential、curl、wget、git 等完整构建工具


🚀 使用方式

在 CNB 云端开发环境中使用(.cnb.yml 示例)

main: vscode: - docker: image: docker.cnb.cool/bring/examples/ffmpeg:latest runner: tags: cnb:arch:amd64:gpu:L20 services: - vscode - docker

容器内常用命令

# 查看 FFmpeg 是否支持 GPU ffmpeg -hwaccels # 查看硬件加速方式 ffmpeg -encoders | grep nvenc # 查看支持的硬件编码器 ffmpeg -decoders | grep cuvid # 查看支持的硬件解码器 # 示例:使用 GPU 进行 H.264 编码 ffmpeg -hwaccel cuda -i input.mp4 -c:v h264_nvenc -preset slow -rc vbr -cq 23 -b:v 0 output_h264.mp4 # 示例:HEVC 硬件编码 ffmpeg -hwaccel cuda -i input.mp4 -c:v hevc_nvenc -preset slow -rc vbr -cq 23 -b:v 0 output_hevc.mp4 # 示例:完整 GPU 管线(CUDA 解码 + CUDA filter + NVENC 编码) ffmpeg -hwaccel cuda -hwaccel_output_format cuda -i input.mp4 -c:v h264_nvenc output_full_gpu.mp4 # 示例:纯软件转码 ffmpeg -i input.mov -c:v libx265 -c:a libfdk_aac output_soft.mp4

🌟 镜像优势

  1. 顶级兼容性

    • FFmpeg 完全源码编译,覆盖主流编解码标准
    • 支持 MP4/MOV/MKV/FLV/RTMP/RTSP/WebM/TS 等封装格式
  2. GPU 就绪

    • 零配置支持 CUDA 12.2,兼容 L20 等
    • 提供 nvenc / cuvid / nvdec / npp 加速能力
  3. 即开即用的云端环境

    • 自带 VSCode (code-server),多插件支持,适配前后端开发
  4. 构建加速

    • 所有 apt 和源码拉取默认走腾讯云源,下载飞快
  5. 自动化友好

    • 所有库皆为静态编译,适配 CI/CD、自定义编译、批量转码等需求

🙏 致谢

感谢 帷幄庸者 的支持。

About

自建默认开发环境

139.00 KiB
4 forks1 stars2 branches0 TagREADMEMIT license
FFmpegsame-named
Language
Dockerfile100%