diff --git a/build/Dockerfile b/build/Dockerfile index 1cceca87..e98db4cd 100644 --- a/build/Dockerfile +++ b/build/Dockerfile @@ -11,8 +11,8 @@ COPY --from=builder /tmp/ustreamer/ustreamer /tmp/ustreamer/ustreamer-dump /usr/ COPY --from=builder /tmp/wheel/*.whl /tmp/wheel/ COPY --from=builder /tmp/ustreamer/libjanus_ustreamer.so /usr/lib/ustreamer/janus/ COPY --from=builder /usr/lib/janus/transports/* /usr/lib/janus/transports/ -COPY --from=builder /tmp/arm64-libs.tar.gz /tmp/ -RUN if [ ${TARGETARCH} = arm64 ]; then \ +COPY --from=builder /tmp/arm64-libs.tar.gz* /tmp/ +RUN if [ ${TARGETARCH} = arm64 ] && [ -f /tmp/arm64-libs.tar.gz ]; then \ cd / && tar -xzf /tmp/arm64-libs.tar.gz && rm -f /tmp/arm64-libs.tar.gz; \ fi @@ -47,34 +47,36 @@ RUN sed -i 's/deb.debian.org/mirrors.tuna.tsinghua.edu.cn/' /etc/apt/sources.lis libasound2 \ libdrm2 \ libx264-164 \ + libyuv0 \ nano \ unzip \ - && if [ ${TARGETARCH} != arm64 ]; then \ - apt-get install -y --no-install-recommends \ - libavcodec59 \ - libavformat59 \ - libavutil57 \ - libswscale6 \ - libavfilter8 \ - libavdevice59; \ - fi \ - && if [ ${TARGETARCH} != arm ] && [ ${TARGETARCH} != arm64 ]; then \ - apt-get install -y --no-install-recommends \ - ffmpeg \ - vainfo \ - libva2 \ - libva-drm2 \ - libva-x11-2 \ - mesa-va-drivers \ - mesa-vdpau-drivers \ - intel-media-va-driver \ - i965-va-driver; \ - fi \ - && if [ ${TARGETARCH} = arm ] || [ ${TARGETARCH} = arm64 ]; then \ - apt-get install -y --no-install-recommends \ - v4l-utils \ - libv4l-0; \ - fi \ + && case ${TARGETARCH} in \ + amd64) \ + apt-get install -y --no-install-recommends \ + libavcodec59 libavformat59 libavutil57 \ + libswscale6 libavfilter8 libavdevice59 \ + ffmpeg vainfo \ + libva2 libva-drm2 libva-x11-2 \ + mesa-va-drivers mesa-vdpau-drivers \ + intel-media-va-driver i965-va-driver \ + ;; \ + arm) \ + apt-get install -y --no-install-recommends \ + libavcodec59 libavformat59 libavutil57 \ + libswscale6 libavfilter8 libavdevice59 \ + v4l-utils libv4l-0 \ + ;; \ + arm64) \ + apt-get install -y --no-install-recommends \ + v4l-utils libv4l-0 \ + libstdc++6 \ + libva2 libva-drm2 libva-x11-2 \ + libvdpau1 ocl-icd-libopencl1 \ + ;; \ + *) \ + echo "Unsupported architecture: ${TARGETARCH}" && exit 1 \ + ;; \ + esac \ && cp /tmp/lib/* /lib/*-linux-*/ \ && pip install --no-cache-dir --root-user-action=ignore --disable-pip-version-check /tmp/wheel/*.whl \ && pip install --no-cache-dir --root-user-action=ignore --disable-pip-version-check pyfatfs \ diff --git a/build/Dockerfile-stage-0 b/build/Dockerfile-stage-0 index 7f51837c..b05baca4 100644 --- a/build/Dockerfile-stage-0 +++ b/build/Dockerfile-stage-0 @@ -180,6 +180,7 @@ RUN echo "Building ustreamer with timestamp cache bust" \ && git clone --depth=1 https://github.com/mofeng-git/ustreamer /tmp/ustreamer-${TIMESTAMP} \ && make -j$(nproc) WITH_PYTHON=1 WITH_JANUS=1 WITH_FFMPEG=1 -C /tmp/ustreamer-${TIMESTAMP} \ && /tmp/ustreamer-${TIMESTAMP}/ustreamer -v \ + && /tmp/ustreamer-${TIMESTAMP}/ustreamer-dump -v \ && cp /tmp/ustreamer-${TIMESTAMP}/python/dist/*.whl /tmp/wheel/ \ && mv /tmp/ustreamer-${TIMESTAMP} /tmp/ustreamer @@ -190,4 +191,10 @@ RUN mkdir /tmp/lib \ libevent-*.so.* libjpeg.so.* libyuv.so.* libnice.so.* \ /tmp/lib/ \ && find /usr/lib -name "libsrtp2.so.*" -exec cp {} /tmp/lib/ \; \ - && find /usr/lib -name "libwebsockets.so.*" -exec cp {} /tmp/lib/ \; + && find /usr/lib -name "libwebsockets.so.*" -exec cp {} /tmp/lib/ \; \ + && if [ ${TARGETARCH} = arm64 ]; then \ + find /usr/lib -name "libav*.so.*" -exec cp {} /tmp/lib/ \; \ + && find /usr/lib -name "libsw*.so.*" -exec cp {} /tmp/lib/ \; \ + && find /usr/lib -name "libpostproc.so.*" -exec cp {} /tmp/lib/ \; \ + && find /usr/lib -name "librga.so.*" -exec cp {} /tmp/lib/ \; ; \ + fi