Thanks to visit codestin.com
Credit goes to github.com

Skip to content

No output in terminal (Custom docker build with vmaf-cuda and ssimulacra2) #1161

@AsmanovLev

Description

@AsmanovLev

I'm very sorry for giving out a very dirty, partially ai-slopped Dockerfile, just tried to make it out as fast as possible.
So, for some reason, av1an doesn't give any logs nor output into terminal, but via htop i was able to see it's invoking ffprobe

Here's the cmd I've attempted to run:
sudo docker build -t "av1an-vmaf-cuda" .
sudo docker run -v $(pwd):/tmp/ --gpus all -it --rm docker.io/library/av1an-vmaf-cuda av1an -i Movie.mkv -s scenes.txt -o output_480p_vmaf.aom.av1 -e aom --target-quality 95-98 --target-metric vmaf --video-params "--cpu-used=3 --aq-mode=3 --kf-max-dist=360" --probe-video-params "--cpu-used=8 --aq-mode=3 --kf-max-dist=360" -f "scale=854:480" --probes 4 --qp-range 15-45 --vmaf-res "854:480" -c ffmpeg -y

Any help is gonna be appreciated. It's very sad that there's no any image of av1an with vmaf-cuda nor ssimulacra2
Here's the Docker image and Dockerfile: (WARNING: building this Dockerfile would result around 16Gb docker image)

#FROM nvidia/cuda:12.9.1-cudnn-runtime-rockylinux9
#FROM nvidia/cuda:12.8.0-cudnn-runtime-rockylinux9
FROM nvidia/cuda:12.8.0-devel-rockylinux9
RUN dnf install --enablerepo=devel -y git gcc gcc-c++ make wget unzip nasm meson python3-pip python3-devel pkg-config cmake perl yasm mesa-libGL mesa-libGLU

# Install Python dependencies for VMAF build
RUN pip3 install --no-cache-dir Cython numpy opencv-python

# Install nv-codec-headers for FFmpeg integration
ENV NV_CODEC_TAG="n12.2.72.0"
RUN cd /tmp && \
    wget https://github.com/FFmpeg/nv-codec-headers/archive/${NV_CODEC_TAG}.zip && \
    unzip ${NV_CODEC_TAG}.zip && \
    cd nv-codec-headers-${NV_CODEC_TAG} && \
    make && make install && \
    rm -rf /tmp/*

# Install AOM codec (AV1 encoder) - Official Google Source repository
WORKDIR /tmp
RUN git clone https://aomedia.googlesource.com/aom
WORKDIR /tmp/aom
RUN mkdir -p build
WORKDIR /tmp/aom/build
RUN cmake .. -DCONFIG_AV1_ENCODER=1 -DBUILD_SHARED_LIBS=1
RUN make -j$(nproc)
RUN make install

# Fix library path issue - find and configure AOM libraries
RUN find /usr -name "libaom*" 2>/dev/null || echo "No libaom found"
RUN if [ -f /usr/local/lib64/libaom.so.3 ]; then \
        echo "/usr/local/lib64" > /etc/ld.so.conf.d/aom.conf && \
        echo "Found AOM library in /usr/local/lib64"; \
    elif [ -f /usr/local/lib/libaom.so.3 ]; then \
        echo "/usr/local/lib" > /etc/ld.so.conf.d/aom.conf && \
        echo "Found AOM library in /usr/local/lib"; \
    fi
RUN ldconfig

# Copy AOM binaries to system PATH
RUN cp -f aomenc aomdec /usr/local/bin/

# Test AOM works before cleaning up
RUN aomenc --help > /dev/null && echo "AOM encoder working" || echo "AOM encoder test failed"

# Clean up AOM source
WORKDIR /tmp
RUN rm -rf /tmp/aom

# Build VMAF
WORKDIR /tmp
RUN git clone https://github.com/Netflix/vmaf.git
WORKDIR /tmp/vmaf
RUN git checkout v3.0.0
RUN make clean
RUN make ENABLE_NVCC=true
RUN make install
RUN make clean

# Clean up VMAF source
WORKDIR /tmp
RUN rm -rf /tmp/vmaf

# Set default command
#CMD ["/usr/local/bin/vmaf"]
RUN dnf install -y epel-release
RUN dnf makecache --refresh
RUN dnf -y install --nogpgcheck https://mirrors.rpmfusion.org/free/el/rpmfusion-free-release-9.noarch.rpm && \
dnf  config-manager --set-enabled crb
RUN dnf install -y ffmpeg rust clang

RUN git clone https://github.com/Line-fr/Vship.git
RUN cd Vship && make buildcudaall && make install

#RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
RUN curl https://sh.rustup.rs -sSf | bash -s -- -y
ENV PATH="/root/.cargo/bin:${PATH}"

RUN git clone https://github.com/master-of-zen/Av1an
RUN dnf install -y epel-release && dnf makecache --refresh
RUN dnf install -y vapoursynth-libs vapoursynth-devel python3-vapoursynth zimg zimg-devel
RUN ldconfig
RUN cd Av1an && cargo build --release
RUN mv /tmp/Av1an/target/release/av1an /bin/
CMD ["/bin/bash"]

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions