DataHoarder
afdde985f2
native AAC int16 decoder output, reduced memory size on encoding Opus now supports arbitrary amount of decoded channels
78 lines
2.6 KiB
Docker
78 lines
2.6 KiB
Docker
FROM golang:1.18-bullseye
|
|
|
|
WORKDIR /src
|
|
|
|
ENV CFLAGS="-march=native -Ofast -flto"
|
|
ENV CXXFLAGS="-march=native -Ofast -flto"
|
|
ENV LDFLAGS="-flto"
|
|
ENV CGO_CFLAGS="-march=native -Ofast"
|
|
|
|
RUN DEBIAN_FRONTEND=noninteractive apt update && \
|
|
DEBIAN_FRONTEND=noninteractive apt install -y \
|
|
git build-essential autoconf automake cmake make libtool libtool-bin gettext \
|
|
libssl-dev libebur128-dev && \
|
|
git clone --depth 1 --branch 0.2.2 https://github.com/libsndfile/libsamplerate.git && cd libsamplerate && \
|
|
./autogen.sh && \
|
|
./configure --prefix /usr && \
|
|
make -j$(nproc) && \
|
|
make install && \
|
|
cd .. && \
|
|
wget https://downloads.sourceforge.net/project/lame/lame/3.100/lame-3.100.tar.gz -O lame-3.100.tar.gz && \
|
|
tar -xzvf lame-3.100.tar.gz && \
|
|
cd lame-3.100 && \
|
|
./configure --prefix /usr && \
|
|
make -j$(nproc) && \
|
|
make install && \
|
|
cd .. && \
|
|
git clone --depth 1 --branch v1.3.5 https://github.com/xiph/ogg.git && cd ogg && \
|
|
./autogen.sh && \
|
|
./configure --prefix /usr && \
|
|
make -j$(nproc) && \
|
|
make install && \
|
|
cd .. && \
|
|
git clone --branch master https://github.com/xiph/opus.git && cd opus && \
|
|
./autogen.sh && \
|
|
./configure --enable-float-approx --prefix /usr && \
|
|
make -j$(nproc) && \
|
|
make install && \
|
|
cd .. && \
|
|
git clone --depth 1 --branch v0.12 https://github.com/xiph/opusfile.git && cd opusfile && \
|
|
./autogen.sh && \
|
|
./configure --prefix /usr && \
|
|
make -j$(nproc) && \
|
|
make install && \
|
|
cd .. && \
|
|
git clone --depth 1 --branch master https://github.com/xiph/libopusenc.git && cd libopusenc && \
|
|
./autogen.sh && \
|
|
./configure --prefix /usr && \
|
|
make -j$(nproc) && \
|
|
make install && \
|
|
cd .. && \
|
|
git clone --depth 1 --branch 1.3.4 https://github.com/xiph/flac.git && cd flac && \
|
|
./autogen.sh && \
|
|
./configure --prefix /usr && \
|
|
make -j$(nproc) && \
|
|
make install && \
|
|
cd .. && \
|
|
git clone --depth 1 https://github.com/mstorsjo/fdk-aac.git && cd fdk-aac && \
|
|
./autogen.sh && \
|
|
./configure --prefix /usr && \
|
|
make -j$(nproc) && \
|
|
make install && \
|
|
cd .. && \
|
|
git clone --depth 1 https://git.gammaspectra.live/S.O.N.G/alac.git && cd alac && \
|
|
autoreconf -fi && \
|
|
./configure --prefix /usr && \
|
|
make -j$(nproc) && \
|
|
make install && \
|
|
cd .. && \
|
|
rm -rf /src/libsamplerate /src/libebur128 /src/lame-3.100 /src/ogg /src/opus /src/opusfile /src/flac /src/libopusenc /src/fdk-aac /src/alac
|
|
|
|
COPY . /code
|
|
WORKDIR /code
|
|
|
|
RUN go build -v -o /usr/bin/MeteorLight . && rm -rf /code
|
|
|
|
|
|
WORKDIR /
|
|
ENTRYPOINT ["/usr/bin/MeteorLight"] |