
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
https://github.com/AkashiSN/ffmpeg-docker/actions/workflows/ffmpeg.yml/badge.svg](https://github.com/AkashiSN/ffmpeg-docker/actions/workflows/ffmpeg.yml)
akashisn/ffmpeg)及二进制版本
6.05.1.34.4.46.05.1.34.4.4linux/amd64bash--enable-zlib --enable-lzma --enable-gmp --enable-iconv --enable-gnutls --enable-libsrt --enable-libopenjpeg --enable-libwebp --enable-libvpx --enable-libx264 --enable-libx265 --enable-libaom --enable-libvmaf --enable-libopus --enable-libvorbis --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libvo-amrwbenc --enable-libmp3lame --enable-libfreetype --enable-libfribidi --enable-libxml2 --enable-libfontconfig --enable-libass --enable-libaribb24 --enable-sdl2 --enable-cuda-llvm --enable-ffnvcodec --enable-cuvid --enable-nvdec --enable-nvenc --enable-libdrm --enable-vaapi --enable-libvpl --disable-autodetect --disable-debug --disable-doc --enable-gpl --enable-version3 --extra-libs='-lm -lpthread -lstdc++' --pkg-config-flags=--static --prefix=/usr/local
bash$ ldd ffmpeg linux-vdso.so.1 (0x00007ffed66ba000) libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f38fcc95000) libstdc++.so.6 => /lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f38fca69000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f38fc841000) /lib64/ld-linux-x86-64.so.2 (0x00007f3901805000) libmvec.so.1 => /lib/x86_64-linux-gnu/libmvec.so.1 (0x00007f38fc744000) libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f38fc724000)
windows/x64bash--enable-zlib --enable-libopenjpeg --enable-libwebp --enable-lzma --enable-gmp --enable-iconv --enable-gnutls --enable-libsrt --enable-libvpx --enable-libx264 --enable-libx265 --enable-libaom --enable-libopus --enable-libvorbis --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libvo-amrwbenc --enable-libmp3lame --enable-libfreetype --enable-libfribidi --enable-libxml2 --enable-libfontconfig --enable-libass --enable-libaribb24 --enable-sdl2 --enable-cuda-llvm --enable-ffnvcodec --enable-cuvid --enable-nvdec --enable-nvenc --enable-libmfx --enable-d3d11va --enable-dxva2 --arch=x86_64 --cross-prefix=x86_64-w64-mingw32- --disable-autodetect --disable-debug --disable-doc --disable-w32threads --enable-cross-compile --enable-gpl --enable-version3 --extra-libs='-static -static-libgcc -static-libstdc++ -Wl,-Bstatic -lm -lpthread -lstdc++' --extra-cflags=--static --target-os=mingw64 --pkg-config=pkg-config --pkg-config-flags=--static -prefix=/usr/local
bash$ LANG=C objdump -p ffmpeg.exe | grep 'DLL Name:' DLL Name: ADVAPI32.dll DLL Name: bcrypt.dll DLL Name: GDI32.dll DLL Name: KERNEL32.dll DLL Name: msvcrt.dll DLL Name: ole32.dll DLL Name: OLEAUT32.dll DLL Name: PSAPI.DLL DLL Name: SHELL32.dll DLL Name: SHLWAPI.dll DLL Name: USER32.dll DLL Name: AVICAP32.dll DLL Name: WS2_32.dll
[***]
bash$ ffmpeg -hide_banner -hwaccels Hardware acceleration methods: cuda vaapi qsv drm
cuda:NVIDIA GPU加速视频编解码器(nvenc/nvdec)
bash$ ffmpeg -hide_banner -encoders | grep nvenc V....D av1_nvenc NVIDIA NVENC av1 encoder (codec av1) V....D h264_nvenc NVIDIA NVENC H.264 encoder (codec h264) V....D hevc_nvenc NVIDIA NVENC hevc encoder (codec hevc)
vaapi:Intel VAAPI媒体驱动
bash$ ffmpeg -hide_banner -encoders | grep vaapi V....D h264_vaapi H.264/AVC (VAAPI) (codec h264) V....D hevc_vaapi H.265/HEVC (VAAPI) (codec hevc) V....D mjpeg_vaapi MJPEG (VAAPI) (codec mjpeg) V....D mpeg2_vaapi MPEG-2 (VAAPI) (codec mpeg2video) V....D vp8_vaapi VP8 (VAAPI) (codec vp8) V....D vp9_vaapi VP9 (VAAPI) (codec vp9)
QSV:Intel Quick Sync Video
bash$ ffmpeg -hide_banner -encoders | grep qsv V..... av1_qsv AV1 (Intel Quick Sync Video acceleration) (codec av1) V..... h264_qsv H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 (Intel Quick Sync Video acceleration) (codec h264) V..... hevc_qsv HEVC (Intel Quick Sync Video acceleration) (codec hevc) V..... mjpeg_qsv MJPEG (Intel Quick Sync Video acceleration) (codec mjpeg) V..... mpeg2_qsv MPEG-2 video (Intel Quick Sync Video acceleration) (codec mpeg2video) V..... vp9_qsv VP9 video (Intel Quick Sync Video acceleration) (codec vp9)
[***]
可使用以下命令查看CPU支持的编解码器:
bash$ sudo docker run --rm -it --device=/dev/dri akashisn/vainfo Trying display: drm libva info: VA-API version 1.19.0 libva info: User environment variable requested driver 'iHD' libva info: Trying to open /usr/local/lib/dri/iHD_drv_video.so libva info: Found init function __vaDriverInit_1_19 libva info: va_openDriver() returns 0 vainfo: VA-API version: 1.19 (libva 2.19.0) vainfo: Driver version: Intel iHD driver for Intel(R) Gen Graphics - 23.3.3 (1c13afa) vainfo: Supported profile and entrypoints VAProfileNone : VAEntrypointVideoProc VAProfileNone : VAEntrypointStats VAProfileMPEG2Simple : VAEntrypointVLD VAProfileMPEG2Simple : VAEntrypointEncSlice VAProfileMPEG2Main : VAEntrypointVLD VAProfileMPEG2Main : VAEntrypointEncSlice VAProfileH264Main : VAEntrypointVLD VAProfileH264Main : VAEntrypointEncSlice VAProfileH264Main : VAEntrypointFEI VAProfileH264Main : VAEntrypointEncSliceLP VAProfileH264High : VAEntrypointVLD VAProfileH264High : VAEntrypointEncSlice VAProfileH264High : VAEntrypointFEI VAProfileH264High : VAEntrypointEncSliceLP VAProfileVC1Simple : VAEntrypointVLD VAProfileVC1Main : VAEntrypointVLD VAProfileVC1Advanced : VAEntrypointVLD VAProfileJPEGBaseline : VAEntrypointVLD VAProfileJPEGBaseline : VAEntrypointEncPicture VAProfileH264ConstrainedBaseline: VAEntrypointVLD VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice VAProfileH264ConstrainedBaseline: VAEntrypointFEI VAProfileH264ConstrainedBaseline: VAEntrypointEncSliceLP VAProfileVP8Version0_3 : VAEntrypointVLD VAProfileVP8Version0_3 : VAEntrypointEncSlice VAProfileHEVCMain : VAEntrypointVLD VAProfileHEVCMain : VAEntrypointEncSlice VAProfileHEVCMain : VAEntrypointFEI VAProfileHEVCMain10 : VAEntrypointVLD VAProfileHEVCMain10 : VAEntrypointEncSlice VAProfileVP9Profile0 : VAEntrypointVLD VAProfileVP9Profile2 : VAEntrypointVLD
VAEntrypointEncSlice:支持编码VAEntrypointVLD:支持解码预构建的二进制文件可在https://github.com/AkashiSN/ffmpeg-docker/releases%E8%8E%B7%E5%8F%96%E3%80%82
资产中的文件遵循以下命名约定:
ffmpeg-${version}-${"linux" or "windows"}-${arch}.tar.gz
bash$ ls bin configure_options lib run.sh $ ls bin/ ffmpeg ffplay ffprobe $ tree lib/ lib/ |-- dri | |-- i965_drv_video.so | `-- iHD_drv_video.so |-- libdrm.so -> libdrm.so.2 |-- libdrm.so.2 -> libdrm.so.2.4.0 |-- libdrm.so.2.4.0 |-- libdrm_amdgpu.so -> libdrm_amdgpu.so.1 |-- libdrm_amdgpu.so.1 -> libdrm_amdgpu.so.1.0.0 |-- libdrm_amdgpu.so.1.0.0 |-- libdrm_intel.so -> libdrm_intel.so.1 |-- libdrm_intel.so.1 -> libdrm_intel.so.1.0.0 |-- libdrm_intel.so.1.0.0 |-- libdrm_nouveau.so -> libdrm_nouveau.so.2 |-- libdrm_nouveau.so.2 -> libdrm_nouveau.so.2.0.0 |-- libdrm_nouveau.so.2.0.0 |-- libdrm_radeon.so -> libdrm_radeon.so.1 |-- libdrm_radeon.so.1 -> libdrm_radeon.so.1.0.1 |-- libdrm_radeon.so.1.0.1 |-- libigdgmm.so -> libigdgmm.so.12 |-- libigdgmm.so.12 -> libigdgmm.so.12.3.0 |-- libigdgmm.so.12.3.0 |-- libigfxcmrt.so -> libigfxcmrt.so.7 |-- libigfxcmrt.so.7 -> libigfxcmrt.so.7.2.0 |-- libigfxcmrt.so.7.2.0 |-- libmfx-gen | `-- enctools.so |-- libmfx-gen.so -> libmfx-gen.so.1.2 |-- libmfx-gen.so.1.2 -> libmfx-gen.so.1.2.9 |-- libmfx-gen.so.1.2.9 |-- libmfx.so -> libmfx.so.1 |-- libmfx.so.1 -> libmfx.so.1.35 |-- libmfx.so.1.35 |-- libmfxhw64.so -> libmfxhw64.so.1 |-- libmfxhw64.so.1 -> libmfxhw64.so.1.35 |-- libmfxhw64.so.1.35 |-- libpciaccess.so -> libpciaccess.so.0.11.1 |-- libpciaccess.so.0 -> libpciaccess.so.0.11.1 |-- libpciaccess.so.0.11.1 |-- libva-drm.so -> libva-drm.so.2.1900.0 |-- libva-drm.so.2 -> libva-drm.so.2.1900.0 |-- libva-drm.so.2.1900.0 |-- libva.so -> libva.so.2.1900.0 |-- libva.so.2 -> libva.so.2.1900.0 |-- libva.so.2.1900.0 `-- mfx |-- libmfx_h264la_hw64.so |-- libmfx_hevc_fei_hw64.so |-- libmfx_hevcd_hw64.so |-- libmfx_hevce_hw64.so |-- libmfx_vp8d_hw64.so |-- libmfx_vp9d_hw64.so `-- libmfx_vp9e_hw64.so 3 directories, 49 files $ cat run.sh #!/bin/sh export PATH=$(dirname $0)/bin:$PATH export LD_LIBRARY_PATH=$(dirname $0)/lib:$LD_LIBRARY_PATH export LIBVA_DRIVERS_PATH=$(dirname $0)/lib/dri export LIBVA_DRIVER_NAME=iHD exec $@
使用run.sh可自动设置LD_LIBRARY_PATH等环境变量。使用QSV编码时需以root权限运行。
示例:
bash$ sudo ./run.sh ffmpeg -y \ -init_hw_device qsv:hw \ -hwaccel qsv \ -hwaccel_output_format qsv \ -i https://github.com/bower-media-samples/big-buck-bunny-1080p-60fps-30s/raw/master/video.mp4 \ -c:v h264_qsv \ -f mp4 \ video-h264_qsv.mp4
Docker运行时需挂载DRI设备。
示例:
bash$ docker run --rm -it --device=/dev/dri -v `pwd`:/workdir akashisn/ffmpeg:6.0 -y \ -loglevel verbose \ -init_hw_device qsv:hw \ -hwaccel qsv \ -hwaccel_output_format qsv \ -i video.mp4 \ -c:v h264_qsv \ -f mp4 \ video-h264_qsv.mp4
如需使用非免费编解码器(如fdk-aac、libnpp)
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务
以下是 akashisn/ffmpeg 相关的常用 Docker 镜像,适用于 不同场景 等不同场景: