From 8a7e7bc19c32bdeca8f2dc8d74be63ec462b48a8 Mon Sep 17 00:00:00 2001 From: "alonso.torres" Date: Mon, 22 Jan 2018 15:39:30 +0100 Subject: [PATCH 1/2] Docker image --- README.md | 8 ++++++++ docker/Dockerfile | 33 +++++++++++++++++++++++++++++++++ docker/build.sh | 17 +++++++++++++++++ docker/run.sh | 16 ++++++++++++++++ 4 files changed, 74 insertions(+) create mode 100644 docker/Dockerfile create mode 100755 docker/build.sh create mode 100755 docker/run.sh diff --git a/README.md b/README.md index 9c1fd0b..cea4e15 100644 --- a/README.md +++ b/README.md @@ -331,3 +331,11 @@ gst-launch-1.0 v4l2src ! queue ! x264enc tune=zerolatency speed-preset=ultrafast ```sh gst-launch-1.0 ximagesrc ! queue ! x264enc tune=zerolatency speed-preset=ultrafast bitrate=3600 key-int-max=100 ! splitmuxsink muxer='mp4mux faststart=true streamable=true fragment-duration=1000 trak-timescale=1000 movie-timescale=1000 presentation-time=true' max-size-time=1000000000 location=media/live_%d.mp4 ``` + + +## Instrucciones con Docker + +make +npm install +docker/build.sh +docker/run.sh diff --git a/docker/Dockerfile b/docker/Dockerfile new file mode 100644 index 0000000..c4a08f7 --- /dev/null +++ b/docker/Dockerfile @@ -0,0 +1,33 @@ +FROM node:stretch + +ENV PATH="$PATH:/opt/bento4/bin" \ + BENTO4_VERSION="1-5-1-622" \ + BENTO4_CHECKSUM="d7b57204e1bd2e1063b2ee2de905b9c881cd1c5c" + +RUN apt-get -yq update && \ + apt-get install -yq --no-install-recommends curl python unzip && \ + curl -O -s http://zebulon.bok.net/Bento4/binaries/Bento4-SDK-${BENTO4_VERSION}.x86_64-unknown-linux.zip && \ + sha1sum -b Bento4-SDK-${BENTO4_VERSION}.x86_64-unknown-linux.zip | grep -o "^$BENTO4_CHECKSUM " && \ + unzip Bento4-SDK-${BENTO4_VERSION}.x86_64-unknown-linux.zip -d /opt && \ + ln -s Bento4-SDK-${BENTO4_VERSION}.x86_64-unknown-linux /opt/bento4 && \ + apt-get -yq purge unzip && \ + apt-get -yq autoclean && \ + rm -rf /var/lib/apt/lists/* Bento4-SDK-${BENTO4_VERSION}.x86_64-unknown-linux.zip + +RUN apt-get -yq update && \ + apt-get install -yq --no-install-recommends \ + libgstreamer1.0-0 \ + libgstreamer1.0-dev \ + gstreamer1.0-plugins-base \ + gstreamer1.0-plugins-bad \ + gstreamer1.0-plugins-good \ + gstreamer1.0-plugins-ugly \ + gstreamer1.0-tools \ + && \ + rm -rf /var/lib/apt/lists/* + + +#apt-get install libgstreamer1.0-0 gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-ugly gstreamer1.0-tools +EXPOSE 3000 + +WORKDIR /data diff --git a/docker/build.sh b/docker/build.sh new file mode 100755 index 0000000..18704a5 --- /dev/null +++ b/docker/build.sh @@ -0,0 +1,17 @@ +function retrieve_script_path() { + # Retrieve the directory of the script + SELF_PATH=$(cd -P -- "$(dirname -- "$0")" && pwd -P) && SELF_PATH=$SELF_PATH/$(basename -- "$0") + + # resolve symlinks + while [[ -h $SELF_PATH ]]; do + DIR=$(dirname -- "$SELF_PATH") + SYM=$(readlink "$SELF_PATH") + SELF_PATH=$(cd "$DIR" && cd "$(dirname -- "$SYM")" && pwd)/$(basename -- "$SYM") + done + + DIR=$(dirname -- "$SELF_PATH") +} + +retrieve_script_path + +docker build -t sq/bento $DIR diff --git a/docker/run.sh b/docker/run.sh new file mode 100755 index 0000000..2bb3ef7 --- /dev/null +++ b/docker/run.sh @@ -0,0 +1,16 @@ +function retrieve_script_path() { + # Retrieve the directory of the script + SELF_PATH=$(cd -P -- "$(dirname -- "$0")" && pwd -P) && SELF_PATH=$SELF_PATH/$(basename -- "$0") + + # resolve symlinks + while [[ -h $SELF_PATH ]]; do + DIR=$(dirname -- "$SELF_PATH") + SYM=$(readlink "$SELF_PATH") + SELF_PATH=$(cd "$DIR" && cd "$(dirname -- "$SYM")" && pwd)/$(basename -- "$SYM") + done + + DIR=$(dirname -- "$SELF_PATH") +} + +retrieve_script_path +docker run -p 3000:3000 -v $DIR/..:/data -it --rm sq/bento npm start From 7116b9c8ad34bf77f16b10bb17d341fb855ef616 Mon Sep 17 00:00:00 2001 From: "alonso.torres" Date: Mon, 22 Jan 2018 18:41:13 +0100 Subject: [PATCH 2/2] Upgraded to debian:buster --- docker/Dockerfile | 25 ++++++++++++++++++++----- 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/docker/Dockerfile b/docker/Dockerfile index c4a08f7..9124582 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -1,8 +1,24 @@ -FROM node:stretch +FROM debian:buster -ENV PATH="$PATH:/opt/bento4/bin" \ - BENTO4_VERSION="1-5-1-622" \ - BENTO4_CHECKSUM="d7b57204e1bd2e1063b2ee2de905b9c881cd1c5c" +ENV NODE_VERSION="9.4.0" \ + NODE_CHECKSUM="6d331d75a39fc5292dd128ad83f6dd14bbbdcb84ba0dfe793fade833be5de95a" + +RUN apt-get -yq update && \ + apt-get install -yq --no-install-recommends \ + xz-utils \ + curl \ + && \ + rm -rf /var/lib/apt/lists/* + +RUN curl -k -L https://nodejs.org/dist/v9.4.0/node-v${NODE_VERSION}-linux-x64.tar.xz -o /node-v${NODE_VERSION}-linux-x64.tar.xz && \ + sha256sum -b /node-v${NODE_VERSION}-linux-x64.tar.xz | grep -o "^$NODE_CHECKSUM " && \ + tar -xf /node-v${NODE_VERSION}-linux-x64.tar.xz -C /usr/local --strip-components=1 --no-same-owner && \ + rm node-v${NODE_VERSION}-linux-x64.tar.xz && \ + ln -s /usr/local/bin/node /usr/local/bin/nodejs + +ENV BENTO4_VERSION="1-5-1-622" \ + BENTO4_CHECKSUM="d7b57204e1bd2e1063b2ee2de905b9c881cd1c5c" \ + PATH="$PATH:/opt/bento4/bin" RUN apt-get -yq update && \ apt-get install -yq --no-install-recommends curl python unzip && \ @@ -26,7 +42,6 @@ RUN apt-get -yq update && \ && \ rm -rf /var/lib/apt/lists/* - #apt-get install libgstreamer1.0-0 gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-ugly gstreamer1.0-tools EXPOSE 3000