patocolher commited on
Commit
d1f8dcc
·
verified ·
1 Parent(s): d5db32b

Upload Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +27 -6
Dockerfile CHANGED
@@ -5,7 +5,7 @@ ENV DEBIAN_FRONTEND=noninteractive
5
 
6
  RUN apt-get update && apt-get install -y --no-install-recommends \
7
  build-essential nasm yasm bzip2 git wget \
8
- libfdk-aac-dev libx264-dev libx265-dev libnuma-dev \
9
  && rm -rf /var/lib/apt/lists/*
10
 
11
  # nv-codec-headers (necessário para h264_nvenc / hevc_nvenc / cuvid)
@@ -36,6 +36,7 @@ RUN wget -q -O /tmp/ffmpeg.tar.bz2 https://ffmpeg.org/releases/ffmpeg-7.1.1.tar.
36
  --enable-nvenc \
37
  --enable-nvdec \
38
  --enable-cuda \
 
39
  --enable-cuvid \
40
  --extra-cflags="-O2 -pipe -I/usr/local/cuda/include" \
41
  --extra-ldflags="-s -L/usr/local/cuda/lib64" \
@@ -56,17 +57,37 @@ ENV DEBIAN_FRONTEND=noninteractive
56
  # Só as libs de runtime necessárias
57
  RUN apt-get update && apt-get install -y --no-install-recommends \
58
  python3 python3-pip ca-certificates \
59
- libfdk-aac2 libx264-163 libx265-199 libnuma1 \
60
  && rm -rf /var/lib/apt/lists/*
61
 
62
  # Copia apenas os binários compilados do stage 1
63
  COPY --from=builder /usr/local/bin/ffmpeg /usr/local/bin/ffmpeg
64
  COPY --from=builder /usr/local/bin/ffprobe /usr/local/bin/ffprobe
65
 
66
- RUN ffmpeg -version | head -3 \
67
- && ffmpeg -encoders 2>/dev/null | grep -E "fdk|nvenc" \
68
- && ffmpeg -filters 2>/dev/null | grep -E "scale_cuda|hwupload" \
69
- && echo " ffmpeg OK"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
70
 
71
  WORKDIR /app
72
  COPY app.py .
 
5
 
6
  RUN apt-get update && apt-get install -y --no-install-recommends \
7
  build-essential nasm yasm bzip2 git wget \
8
+ libfdk-aac-dev libx264-dev libx265-dev libnuma-dev zlib1g-dev \
9
  && rm -rf /var/lib/apt/lists/*
10
 
11
  # nv-codec-headers (necessário para h264_nvenc / hevc_nvenc / cuvid)
 
36
  --enable-nvenc \
37
  --enable-nvdec \
38
  --enable-cuda \
39
+ --enable-zlib \
40
  --enable-cuvid \
41
  --extra-cflags="-O2 -pipe -I/usr/local/cuda/include" \
42
  --extra-ldflags="-s -L/usr/local/cuda/lib64" \
 
57
  # Só as libs de runtime necessárias
58
  RUN apt-get update && apt-get install -y --no-install-recommends \
59
  python3 python3-pip ca-certificates \
60
+ libfdk-aac2 libx264-163 libx265-199 libnuma1 zlib1g \
61
  && rm -rf /var/lib/apt/lists/*
62
 
63
  # Copia apenas os binários compilados do stage 1
64
  COPY --from=builder /usr/local/bin/ffmpeg /usr/local/bin/ffmpeg
65
  COPY --from=builder /usr/local/bin/ffprobe /usr/local/bin/ffprobe
66
 
67
+ # ── Valida que todos os filtros, decoders e demuxers necessários estão presentes ──
68
+ RUN set -e; \
69
+ echo "--- versão ---"; ffmpeg -version | head -1; \
70
+ echo "--- encoders ---"; \
71
+ for c in libx264 libx265 h264_nvenc hevc_nvenc libfdk_aac; do \
72
+ ffmpeg -encoders 2>/dev/null | grep -q " $c " || (echo "❌ encoder ausente: $c" && exit 1); \
73
+ echo " ✅ encoder $c"; \
74
+ done; \
75
+ echo "--- decoders ---"; \
76
+ for c in h264 hevc aac mp3 png mjpeg; do \
77
+ ffmpeg -decoders 2>/dev/null | grep -q " $c " || (echo "❌ decoder ausente: $c" && exit 1); \
78
+ echo " ✅ decoder $c"; \
79
+ done; \
80
+ echo "--- filtros ---"; \
81
+ for f in scale crop fps mpdecimate overlay format loudnorm aresample scale_cuda hwupload_cuda hwdownload; do \
82
+ ffmpeg -filters 2>/dev/null | grep -q " $f " || (echo "❌ filtro ausente: $f" && exit 1); \
83
+ echo " ✅ filtro $f"; \
84
+ done; \
85
+ echo "--- demuxers ---"; \
86
+ for d in mov mp4 matroska image2 png_pipe; do \
87
+ ffmpeg -demuxers 2>/dev/null | grep -q " $d " || (echo "❌ demuxer ausente: $d" && exit 1); \
88
+ echo " ✅ demuxer $d"; \
89
+ done; \
90
+ echo "✅ ffmpeg OK — todos os componentes presentes"
91
 
92
  WORKDIR /app
93
  COPY app.py .