refactor: update Dockerfile to use development image and enhance FFmpeg build process with NVIDIA support
	
		
			
	
		
	
	
		
	
		
			Some checks failed
		
		
	
	
		
			
				
	
				Build Worker Base and Application Images / check-base-changes (push) Successful in 7s
				
			
		
			
				
	
				Build Worker Base and Application Images / build-docker (push) Has been cancelled
				
			
		
			
				
	
				Build Worker Base and Application Images / deploy-stack (push) Has been cancelled
				
			
		
			
				
	
				Build Worker Base and Application Images / build-base (push) Has been cancelled
				
			
		
		
	
	
				
					
				
			
		
			Some checks failed
		
		
	
	Build Worker Base and Application Images / check-base-changes (push) Successful in 7s
				
			Build Worker Base and Application Images / build-docker (push) Has been cancelled
				
			Build Worker Base and Application Images / deploy-stack (push) Has been cancelled
				
			Build Worker Base and Application Images / build-base (push) Has been cancelled
				
			This commit is contained in:
		
							parent
							
								
									e2e5356047
								
							
						
					
					
						commit
						6fe4b6ebf0
					
				
					 1 changed files with 25 additions and 15 deletions
				
			
		| 
						 | 
				
			
			@ -1,5 +1,5 @@
 | 
			
		|||
# Base image with complete ML and hardware acceleration stack
 | 
			
		||||
FROM pytorch/pytorch:2.8.0-cuda12.6-cudnn9-runtime
 | 
			
		||||
FROM pytorch/pytorch:2.8.0-cuda12.6-cudnn9-devel
 | 
			
		||||
 | 
			
		||||
# Install build dependencies and system libraries
 | 
			
		||||
RUN apt-get update && apt-get install -y \
 | 
			
		||||
| 
						 | 
				
			
			@ -12,6 +12,12 @@ RUN apt-get update && apt-get install -y \
 | 
			
		|||
    unzip \
 | 
			
		||||
    yasm \
 | 
			
		||||
    nasm \
 | 
			
		||||
    # Additional dependencies for FFmpeg/NVIDIA build
 | 
			
		||||
    libtool \
 | 
			
		||||
    libc6 \
 | 
			
		||||
    libc6-dev \
 | 
			
		||||
    libnuma1 \
 | 
			
		||||
    libnuma-dev \
 | 
			
		||||
    # System libraries
 | 
			
		||||
    libgl1-mesa-glx \
 | 
			
		||||
    libglib2.0-0 \
 | 
			
		||||
| 
						 | 
				
			
			@ -31,41 +37,45 @@ RUN apt-get update && apt-get install -y \
 | 
			
		|||
    python3-numpy \
 | 
			
		||||
    && rm -rf /var/lib/apt/lists/*
 | 
			
		||||
 | 
			
		||||
# Install prebuilt FFmpeg with CUDA support
 | 
			
		||||
# CUDA development tools already available in devel image
 | 
			
		||||
 | 
			
		||||
# Ensure CUDA paths are available
 | 
			
		||||
ENV PATH="/usr/local/cuda/bin:${PATH}"
 | 
			
		||||
ENV LD_LIBRARY_PATH="/usr/local/cuda/lib64:${LD_LIBRARY_PATH}"
 | 
			
		||||
 | 
			
		||||
# Install NVIDIA Video Codec SDK headers first
 | 
			
		||||
# Install NVIDIA Video Codec SDK headers (official method)
 | 
			
		||||
RUN cd /tmp && \
 | 
			
		||||
    wget https://github.com/FFmpeg/nv-codec-headers/archive/refs/tags/n12.1.14.0.zip && \
 | 
			
		||||
    unzip n12.1.14.0.zip && \
 | 
			
		||||
    cd nv-codec-headers-n12.1.14.0 && \
 | 
			
		||||
    git clone https://git.videolan.org/git/ffmpeg/nv-codec-headers.git && \
 | 
			
		||||
    cd nv-codec-headers && \
 | 
			
		||||
    make install && \
 | 
			
		||||
    rm -rf /tmp/*
 | 
			
		||||
    cd / && rm -rf /tmp/*
 | 
			
		||||
 | 
			
		||||
# Build FFmpeg from source with NVIDIA CUDA support
 | 
			
		||||
RUN cd /tmp && \
 | 
			
		||||
    echo "Building FFmpeg with NVIDIA CUDA support..." && \
 | 
			
		||||
    # Download FFmpeg source
 | 
			
		||||
    wget https://ffmpeg.org/releases/ffmpeg-7.1.tar.xz && \
 | 
			
		||||
    tar -xf ffmpeg-7.1.tar.xz && \
 | 
			
		||||
    cd ffmpeg-7.1 && \
 | 
			
		||||
    # Configure with NVIDIA support
 | 
			
		||||
    # Download FFmpeg source (official method)
 | 
			
		||||
    git clone https://git.ffmpeg.org/ffmpeg.git ffmpeg/ && \
 | 
			
		||||
    cd ffmpeg && \
 | 
			
		||||
    # Configure with NVIDIA support (following official NVIDIA documentation)
 | 
			
		||||
    ./configure \
 | 
			
		||||
        --prefix=/usr/local \
 | 
			
		||||
        --enable-shared \
 | 
			
		||||
        --enable-pic \
 | 
			
		||||
        --enable-gpl \
 | 
			
		||||
        --enable-version3 \
 | 
			
		||||
        --disable-static \
 | 
			
		||||
        --enable-nonfree \
 | 
			
		||||
        --enable-gpl \
 | 
			
		||||
        --enable-cuda-nvcc \
 | 
			
		||||
        --enable-cuda-llvm \
 | 
			
		||||
        --enable-cuvid \
 | 
			
		||||
        --enable-nvdec \
 | 
			
		||||
        --enable-nvenc \
 | 
			
		||||
        --enable-libnpp \
 | 
			
		||||
        --nvcc=/usr/local/cuda/bin/nvcc \
 | 
			
		||||
        --extra-cflags=-I/usr/local/cuda/include \
 | 
			
		||||
        --extra-ldflags=-L/usr/local/cuda/lib64 \
 | 
			
		||||
        --extra-libs=-lcuda \
 | 
			
		||||
        --extra-libs=-lcudart \
 | 
			
		||||
        --extra-libs=-lnvcuvid \
 | 
			
		||||
        --extra-libs=-lnvidia-encode \
 | 
			
		||||
        --enable-libx264 \
 | 
			
		||||
        --enable-libx265 \
 | 
			
		||||
        --enable-libvpx \
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue