
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
基于Arch Linux的轻量级Docker镜像,集成FFmpeg并支持硬件加速。可通过docker pull migoller/ffmpeg获取最新构建版本。
该镜像可用作编码农场的基础镜像,或用于Shinobi CCTV等需要硬件加速的Docker镜像。镜像每周日进行定期构建更新。
如有任何 bug 或功能需求,请通过GitLab issues反馈。欢迎在GitLab FFmpeg Docker镜像仓库贡献代码。
将RTSP流编码为当前目录下的MP4文件out_nohwaccel.mp4:
bash$ docker run -it --rm -v $PWD:/tmp \ migoller/ffmpeg \ -loglevel info -stats \ -i rtsp://<rtsp url> \ -vf 'scale=640:480' \ -preset ultrafast \ -c:v libx264 \ -t 20 -r 8 -f mp4 /tmp/out_nohwaccel.mp4
使用VA-API硬件加速(适用于Intel i965兼容CPU及Intel HD GPU),将RTSP流编码为当前目录下的MP4文件out_hwaccel.mp4:
bash$ docker run -it --rm --device /dev/dri:/dev/dri -v $PWD:/tmp -e LIBVA_DRIVER_NAME="i965" \ migoller/ffmpeg \ -loglevel info -stats \ -i rtsp://<rtsp url> \ -vaapi_device /dev/dri/renderD128 \ -vf 'hwupload,scale_vaapi=w=640:h=480:format=nv12' \ -preset ultrafast \ -c:v h264_vaapi \ -t 20 -r 8 -f mp4 /tmp/out_hwaccel.mp4
硬件视频加速允许显卡承担视频编解码任务,减轻CPU负担并降低功耗,支持以下技术:
更多详情请参考Arch Linux硬件视频加速文档。
Intel
intel-media-driver支持libva-intel-driver支持NVIDIA
libva-mesa-driver和mesa-vdpau支持nvidia-utils)支持:
ATI/AMD
mesa-vdpau支持libva-mesa-driver支持转换层
libva-vdpau-driver:VDPAU后端的VA-API实现libvdpau-va-gl:VA-API后端的VDPAU实现(仅支持H.264)使用硬件加速功能需配置Docker主机和容器以匹配所需驱动。
确保主机已正确安装GPU驱动,并通过以下命令验证GPU识别情况:
验证VA-API驱动
运行vainfo检查GPU是否被正确识别:
bash$ vainfo error: XDG_RUNTIME_DIR not set in the environment. error: can't connect to X server! libva info: VA-API version 0.39.4 libva info: va_getDriverName() returns 0 libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so libva info: Found init function __vaDriverInit_0_39 libva info: va_openDriver() returns 0 vainfo: VA-API version: 0.39 (libva 1.7.3) vainfo: Driver version: Intel i965 driver for Intel(R) Skylake - 1.7.0 vainfo: Supported profile and entrypoints VAProfileMPEG2Simple : VAEntrypointVLD VAProfileMPEG2Simple : VAEntrypointEncSlice VAProfileMPEG2Main : VAEntrypointVLD VAProfileMPEG2Main : VAEntrypointEncSlice VAProfileH264ConstrainedBaseline: VAEntrypointVLD VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice VAProfileH264Main : VAEntrypointVLD VAProfileH264Main : VAEntrypointEncSlice VAProfileH264High : VAEntrypointVLD VAProfileH264High : VAEntrypointEncSlice ...
验证VDPAU驱动
运行vdpauinfo检查GPU是否被正确识别:
bash$ vdpauinfo display: :0 screen: 0 API version: 1 Information string: G3DVL VDPAU Driver Shared Library version 1.0 Video surface: name width height types 420 16384 16384 NV12 YV12 422 16384 16384 UYVY YUYV 444 16384 16384 Y8U8V8A8 V8U8Y8A8 Decoder capabilities: name level macbs width height MPEG1 --- not supported --- MPEG2_SIMPLE 3 9216 2048 1152 MPEG2_MAIN 3 9216 2048 1152 ...
运行容器时需挂载主机的/dev/dri设备并设置与GPU驱动匹配的环境变量:
bash$ docker run --device /dev/dri:/dev/dri -e LIBVA_DRIVER_NAME="i965" [...] migoller/ffmpeg [...]
容器内FFmpeg参数配置方式与原生FFmpeg相同。
配置VA-API
通过LIBVA_DRIVER_NAME环境变量覆盖VA-API驱动(默认值为i965),具体驱动名称取决于硬件配置:
libva-intel-driver驱动:设置为i965intel-media-driver驱动:设置为iHDnouveauvdpauradeonsi配置VDPAU
通过VDPAU_DRIVER环境变量指定VDPAU驱动,具体驱动名称取决于硬件配置:
va_glnouveaunvidiavdpauinfo命令确定您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务
以下是 migoller/ffmpeg 相关的常用 Docker 镜像,适用于 不同场景 等不同场景: