From dfeccdaa8825c0735f808c0a5c9c4228b00fa99c Mon Sep 17 00:00:00 2001 From: pabloFuente Date: Tue, 23 Jan 2018 11:59:02 +0100 Subject: [PATCH] openvidu-recording docker image --- .../docker/openvidu-recording/Dockerfile | 22 +++++++++++++++ .../docker/openvidu-recording/create_image.sh | 1 + .../docker/openvidu-recording/entrypoint.sh | 28 +++++++++++++++++++ 3 files changed, 51 insertions(+) create mode 100644 openvidu-server/docker/openvidu-recording/Dockerfile create mode 100755 openvidu-server/docker/openvidu-recording/create_image.sh create mode 100644 openvidu-server/docker/openvidu-recording/entrypoint.sh diff --git a/openvidu-server/docker/openvidu-recording/Dockerfile b/openvidu-server/docker/openvidu-recording/Dockerfile new file mode 100644 index 00000000..77da0a09 --- /dev/null +++ b/openvidu-server/docker/openvidu-recording/Dockerfile @@ -0,0 +1,22 @@ +FROM ubuntu:16.04 +MAINTAINER openvidu@gmail.com + +# Install Chrome +RUN apt-get update && apt-get install -y wget +RUN wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add - && \ + echo "deb http://dl.google.com/linux/chrome/deb/ stable main" > /etc/apt/sources.list.d/google.list && \ + apt-get update && apt-get install -y google-chrome-stable + +# Install media packages +RUN apt-get install -y ffmpeg pulseaudio xvfb + +# Clean +RUN apt-get autoclean + +COPY entrypoint.sh /entrypoint.sh +RUN ["chmod", "+x", "/entrypoint.sh"] + +RUN mkdir /recordings + +ENTRYPOINT /entrypoint.sh + diff --git a/openvidu-server/docker/openvidu-recording/create_image.sh b/openvidu-server/docker/openvidu-recording/create_image.sh new file mode 100755 index 00000000..946f1f1e --- /dev/null +++ b/openvidu-server/docker/openvidu-recording/create_image.sh @@ -0,0 +1 @@ +docker build --rm -t openvidu/openvidu-recording . diff --git a/openvidu-server/docker/openvidu-recording/entrypoint.sh b/openvidu-server/docker/openvidu-recording/entrypoint.sh new file mode 100644 index 00000000..0c506ce3 --- /dev/null +++ b/openvidu-server/docker/openvidu-recording/entrypoint.sh @@ -0,0 +1,28 @@ +#!/bin/bash + +URL="${URL:-https://www.youtube.com/watch?v=JMuzlEQz3uo}" +RESOLUTION="${RESOLUTION:-1920x1080}" +FRAMERATE="${FRAMERATE:-30}" +VIDEO_SIZE="$RESOLUTION" +ARRAY=(${VIDEO_SIZE//x/ }) +VIDEO_NAME="${VIDEO_NAME:-video}" +VIDEO_FORMAT="${VIDEO_FORMAT:-avi}" + +pulseaudio -D +xvfb-run -s "-ac -screen 0 ${RESOLUTION}x16" google-chrome -no-sandbox -disable-infobars -window-size=${ARRAY[0]},${ARRAY[1]} -start-fullscreen -no-first-run $URL &> xvfb.log & + +sleep 4 + +touch stop +<./stop ffmpeg -y -video_size $RESOLUTION -framerate $FRAMERATE -f x11grab -i :99 -f pulse -ac 2 -i default -strict -2 /recordings/${VIDEO_NAME}.${VIDEO_FORMAT} + + + +# TO START THE CONTAINER +# docker run --name=recording openvidu/openvidu-recording + +# TO STOP THE RECORDING +# docker exec recording bash -c "echo 'q' > stop" + +# TO GET THE VIDEO FILE +# docker cp recording:recordings/video.mp4 ./video.mp4