Skip to content

Commit

Permalink
RC4
Browse files Browse the repository at this point in the history
  • Loading branch information
christophjohannsdotter committed Jan 25, 2016
1 parent a434cce commit dfe18c8
Show file tree
Hide file tree
Showing 24 changed files with 502 additions and 493 deletions.
18 changes: 18 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,21 @@
## Changes from 0.1.0-RC3 to 0.1.0-RC4

* added https sources to Dockerfiles (thx @ [nodiscc](https://github.com/nodiscc))
* fixed visualisation problem of new RTMP/RTSP endpoint (JSONDB processing)
* optimized input-process (removed generateOutputRTMPPath)
* cleaned up NPM packages
* added ESLint insteed of JSHint+ first ruleset
* first code optimizations (ecma5 -> ecma6)
* optimized RaspiCam-Hack for Raspberry Pi 1
* updated NPM packages and node
* refactored FFmpeg-Fluent integration by own fork (reduces process-output)
* fixed output-process (generated high CPU load on arm)
* fixed preview player (no play-icon, didn't stop when the modalbox is closed)

##### Merged pull requests:

* Fixed ARM typo @ [Vyacheslav Shevchenko](https://github.com/bliz937)

## Changes from 0.1.0-RC2 to 0.1.0-RC3

* fixed links to docs
Expand Down
38 changes: 19 additions & 19 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,26 +1,27 @@
FROM node:4.2.3-slim
FROM node:4.2.6-slim

MAINTAINER datarhei <info@datarhei.org>

ENV FFMPEG_VERSION 2.8.1
ENV YASM_VERSION 1.3.0
ENV LAME_VERSION 3.99.5
ENV LAME_VERSION 3_99_5
ENV NGINX_VERSION 1.8.0
ENV NGINX_RTMP_VERSION 1.1.7

ENV SRC /usr/local
ENV LD_LIBRARY_PATH ${SRC}/lib
ENV PKG_CONFIG_PATH ${SRC}/lib/pkgconfig

ENV BUILDDEPS "autoconf automake gcc g++ libtool make nasm zlib1g-dev libssl-dev xz-utils cmake perl build-essential libpcre3-dev unzip"
ENV BUILDDEPS "autoconf automake gcc g++ libtool make nasm zlib1g-dev libssl-dev xz-utils cmake perl build-essential libpcre3-dev"

RUN rm -rf /var/lib/apt/lists/* && \
apt-get update && \
apt-get install -y curl wget git libpcre3 tar ${BUILDDEPS}

# yasm
RUN DIR=$(mktemp -d) && cd ${DIR} && \
curl -Os http://www.tortall.net/projects/yasm/releases/yasm-${YASM_VERSION}.tar.gz && \
tar xzvf yasm-${YASM_VERSION}.tar.gz && \
curl -LOks https://www.tortall.net/projects/yasm/releases/yasm-${YASM_VERSION}.tar.gz && \
tar xzvf yasm-${YASM_VERSION}.tar.gz && \
cd yasm-${YASM_VERSION} && \
./configure --prefix="$SRC" --bindir="${SRC}/bin" && \
make && \
Expand All @@ -40,9 +41,9 @@ RUN DIR=$(mktemp -d) && cd ${DIR} && \

# libmp3lame
RUN DIR=$(mktemp -d) && cd ${DIR} && \
curl -L -Os http://downloads.sourceforge.net/project/lame/lame/${LAME_VERSION%.*}/lame-${LAME_VERSION}.tar.gz && \
tar xzvf lame-${LAME_VERSION}.tar.gz && \
cd lame-${LAME_VERSION} && \
curl -LOks https://github.com/rbrito/lame/archive/RELEASE__${LAME_VERSION}.tar.gz && \
tar xzvf RELEASE__${LAME_VERSION}.tar.gz && \
cd lame-RELEASE__${LAME_VERSION} && \
./configure --prefix="${SRC}" --bindir="${SRC}/bin" --disable-shared --enable-nasm && \
make && \
make install && \
Expand All @@ -51,12 +52,12 @@ RUN DIR=$(mktemp -d) && cd ${DIR} && \

# ffmpeg
RUN DIR=$(mktemp -d) && cd ${DIR} && \
curl -Os http://ffmpeg.org/releases/ffmpeg-${FFMPEG_VERSION}.tar.gz && \
tar xzvf ffmpeg-${FFMPEG_VERSION}.tar.gz && \
curl -LOks https://ffmpeg.org/releases/ffmpeg-${FFMPEG_VERSION}.tar.gz && \
tar xzvf ffmpeg-${FFMPEG_VERSION}.tar.gz && \
cd ffmpeg-${FFMPEG_VERSION} && \
./configure --prefix="${SRC}" --extra-cflags="-I${SRC}/include" --extra-ldflags="-L${SRC}/lib" --bindir="${SRC}/bin" \
--extra-libs=-ldl --enable-version3 --enable-libmp3lame --enable-libx264 --enable-gpl \
--enable-postproc --enable-nonfree --enable-avresample --disable-debug --enable-small --enable-openssl && \
--extra-libs=-ldl --enable-version3 --enable-libmp3lame --enable-libx264 --enable-gpl \
--enable-postproc --enable-nonfree --enable-avresample --disable-debug --enable-small --enable-openssl && \
make && \
make install && \
make distclean && \
Expand All @@ -70,13 +71,12 @@ RUN ffmpeg -buildconf

# nginx-rtmp
RUN DIR=$(mktemp -d) && cd ${DIR} && \
curl -LOks http://nginx.org/download/nginx-${NGINX_VERSION}.tar.gz && \
tar -zxvf nginx-${NGINX_VERSION}.tar.gz && \
curl -LOks https://github.com/arut/nginx-rtmp-module/archive/master.zip && \
unzip master.zip && \
rm master.zip && \
cd nginx-${NGINX_VERSION} && \
./configure --with-http_ssl_module --add-module=../nginx-rtmp-module-master && \
curl -LOks https://github.com/nginx/nginx/archive/release-${NGINX_VERSION}.tar.gz && \
tar xzvf release-${NGINX_VERSION}.tar.gz && \
curl -LOks https://github.com/arut/nginx-rtmp-module/archive/v${NGINX_RTMP_VERSION}.tar.gz && \
tar xzvf v${NGINX_RTMP_VERSION}.tar.gz && \
cd nginx-release-${NGINX_VERSION} && \
auto/configure --with-http_ssl_module --add-module=../nginx-rtmp-module-${NGINX_RTMP_VERSION} && \
make && \
make install && \
rm -rf ${DIR}
Expand Down
51 changes: 26 additions & 25 deletions Dockerfile_armv6l
Original file line number Diff line number Diff line change
Expand Up @@ -2,39 +2,39 @@ FROM resin/rpi-raspbian:jessie

MAINTAINER datarhei <info@datarhei.org>

ENV NODE_VERSION 4.2.3
ENV NPM_VERSION 2.14.7
ENV NODE_VERSION 4.2.6
ENV NPM_VERSION 2.14.12

ENV FFMPEG_VERSION 2.8.1
ENV YASM_VERSION 1.3.0
ENV LAME_VERSION 3.99.5
ENV LAME_VERSION 3_99_5
ENV NGINX_VERSION 1.8.0
ENV NGINX_RTMP_VERSION 1.1.7

ENV SRC /usr/local
ENV LD_LIBRARY_PATH ${SRC}/lib
ENV PKG_CONFIG_PATH ${SRC}/lib/pkgconfig

ENV BUILDDEPS "autoconf automake gcc g++ libtool make nasm zlib1g-dev libssl-dev xz-utils cmake perl build-essential libpcre3-dev unzip"
ENV BUILDDEPS "autoconf automake gcc g++ libtool make nasm zlib1g-dev libssl-dev xz-utils cmake perl build-essential libpcre3-dev"

RUN rm -rf /var/lib/apt/lists/* && \
apt-get update && \
apt-get install -y curl wget git libpcre3 tar ${BUILDDEPS}
apt-get install -y curl git libpcre3 tar ${BUILDDEPS}

# node
RUN DIR=$(mktemp -d) && cd ${DIR} && \
set -x && \
wget "https://nodejs.org/dist/v$NODE_VERSION/node-v$NODE_VERSION-linux-armv6l.tar.gz" && \
tar -xzf "node-v$NODE_VERSION-linux-armv6l.tar.gz" -C /usr/local --strip-components=1 && \
rm "node-v$NODE_VERSION-linux-armv6l.tar.gz" && \
curl -LOks https://nodejs.org/dist/v$NODE_VERSION/node-v$NODE_VERSION-linux-armv6l.tar.gz && \
tar -xzf "node-v$NODE_VERSION-linux-armv6l.tar.gz" -C /usr/local --strip-components=1 && \
npm install -g npm@"$NPM_VERSION" --unsafe-perm && \
npm cache clear && \
npm config set unsafe-perm true -g --unsafe-perm && \
rm -rf ${DIR}

# yasm
RUN DIR=$(mktemp -d) && cd ${DIR} && \
curl -Os http://www.tortall.net/projects/yasm/releases/yasm-${YASM_VERSION}.tar.gz && \
tar xzvf yasm-${YASM_VERSION}.tar.gz && \
curl -LOks https://www.tortall.net/projects/yasm/releases/yasm-${YASM_VERSION}.tar.gz && \
tar xzvf yasm-${YASM_VERSION}.tar.gz && \
cd yasm-${YASM_VERSION} && \
./configure --prefix="$SRC" --bindir="${SRC}/bin" && \
make && \
Expand All @@ -54,9 +54,9 @@ RUN DIR=$(mktemp -d) && cd ${DIR} && \

# libmp3lame
RUN DIR=$(mktemp -d) && cd ${DIR} && \
curl -L -Os http://downloads.sourceforge.net/project/lame/lame/${LAME_VERSION%.*}/lame-${LAME_VERSION}.tar.gz && \
tar xzvf lame-${LAME_VERSION}.tar.gz && \
cd lame-${LAME_VERSION} && \
curl -LOks https://github.com/rbrito/lame/archive/RELEASE__${LAME_VERSION}.tar.gz && \
tar xzvf RELEASE__${LAME_VERSION}.tar.gz && \
cd lame-RELEASE__${LAME_VERSION} && \
./configure --prefix="${SRC}" --bindir="${SRC}/bin" --disable-shared --enable-nasm && \
make && \
make install && \
Expand All @@ -65,12 +65,12 @@ RUN DIR=$(mktemp -d) && cd ${DIR} && \

# ffmpeg
RUN DIR=$(mktemp -d) && cd ${DIR} && \
curl -Os http://ffmpeg.org/releases/ffmpeg-${FFMPEG_VERSION}.tar.gz && \
tar xzvf ffmpeg-${FFMPEG_VERSION}.tar.gz && \
curl -LOks https://ffmpeg.org/releases/ffmpeg-${FFMPEG_VERSION}.tar.gz && \
tar xzvf ffmpeg-${FFMPEG_VERSION}.tar.gz && \
cd ffmpeg-${FFMPEG_VERSION} && \
./configure --prefix="${SRC}" --extra-cflags="-I${SRC}/include" --extra-ldflags="-L${SRC}/lib" --bindir="${SRC}/bin" \
--extra-libs=-ldl --enable-version3 --enable-libmp3lame --enable-libx264 --enable-gpl \
--enable-postproc --enable-nonfree --enable-avresample --disable-debug --enable-small --enable-openssl && \
--extra-libs=-ldl --enable-version3 --enable-libmp3lame --enable-libx264 --enable-gpl \
--enable-postproc --enable-nonfree --enable-avresample --disable-debug --enable-small --enable-openssl && \
make && \
make install && \
make distclean && \
Expand All @@ -84,21 +84,22 @@ RUN ffmpeg -buildconf

# nginx-rtmp
RUN DIR=$(mktemp -d) && cd ${DIR} && \
curl -LOks http://nginx.org/download/nginx-${NGINX_VERSION}.tar.gz && \
tar -zxvf nginx-${NGINX_VERSION}.tar.gz && \
curl -LOks https://github.com/arut/nginx-rtmp-module/archive/master.zip && \
unzip master.zip && \
rm master.zip && \
cd nginx-${NGINX_VERSION} && \
./configure --with-http_ssl_module --add-module=../nginx-rtmp-module-master && \
curl -LOks https://github.com/nginx/nginx/archive/release-${NGINX_VERSION}.tar.gz && \
tar xzvf release-${NGINX_VERSION}.tar.gz && \
curl -LOks https://github.com/arut/nginx-rtmp-module/archive/v${NGINX_RTMP_VERSION}.tar.gz && \
tar xzvf v${NGINX_RTMP_VERSION}.tar.gz && \
cd nginx-release-${NGINX_VERSION} && \
auto/configure --with-http_ssl_module --add-module=../nginx-rtmp-module-${NGINX_RTMP_VERSION} && \
make && \
make install && \
rm -rf ${DIR}

RUN apt-get purge -y --auto-remove ${BUILDDEPS} && \
apt-get install -y --force-yes git && \
rm -rf /tmp/*

RUN apt-get update && \
apt-get install -y --force-yes git

COPY . /restreamer
WORKDIR /restreamer

Expand Down
47 changes: 23 additions & 24 deletions Dockerfile_armv7l
Original file line number Diff line number Diff line change
Expand Up @@ -2,39 +2,39 @@ FROM armbuild/debian:jessie

MAINTAINER datarhei <info@datarhei.org>

ENV NODE_VERSION 4.2.3
ENV NPM_VERSION 2.14.7
ENV NODE_VERSION 4.2.6
ENV NPM_VERSION 2.14.12

ENV FFMPEG_VERSION 2.8.1
ENV YASM_VERSION 1.3.0
ENV LAME_VERSION 3.99.5
ENV LAME_VERSION 3_99_5
ENV NGINX_VERSION 1.8.0
ENV NGINX_RTMP_VERSION 1.1.7

ENV SRC /usr/local
ENV LD_LIBRARY_PATH ${SRC}/lib
ENV PKG_CONFIG_PATH ${SRC}/lib/pkgconfig

ENV BUILDDEPS "autoconf automake gcc g++ libtool make nasm zlib1g-dev libssl-dev xz-utils cmake perl build-essential libpcre3-dev unzip"
ENV BUILDDEPS "autoconf automake gcc g++ libtool make nasm zlib1g-dev libssl-dev xz-utils cmake perl build-essential libpcre3-dev"

RUN rm -rf /var/lib/apt/lists/* && \
apt-get update && \
apt-get install -y curl wget git libpcre3 tar ${BUILDDEPS}
apt-get install -y curl git libpcre3 tar ${BUILDDEPS}

# node
RUN DIR=$(mktemp -d) && cd ${DIR} && \
set -x && \
wget "https://nodejs.org/dist/v$NODE_VERSION/node-v$NODE_VERSION-linux-armv7l.tar.gz" && \
tar -xzf "node-v$NODE_VERSION-linux-armv7l.tar.gz" -C /usr/local --strip-components=1 && \
rm "node-v$NODE_VERSION-linux-armv7l.tar.gz" && \
curl -LOks https://nodejs.org/dist/v$NODE_VERSION/node-v$NODE_VERSION-linux-armv7l.tar.gz && \
tar -xzf "node-v$NODE_VERSION-linux-armv7l.tar.gz" -C /usr/local --strip-components=1 && \
npm install -g npm@"$NPM_VERSION" --unsafe-perm && \
npm cache clear && \
npm config set unsafe-perm true -g --unsafe-perm && \
rm -rf ${DIR}

# yasm
RUN DIR=$(mktemp -d) && cd ${DIR} && \
curl -Os http://www.tortall.net/projects/yasm/releases/yasm-${YASM_VERSION}.tar.gz && \
tar xzvf yasm-${YASM_VERSION}.tar.gz && \
curl -LOks https://www.tortall.net/projects/yasm/releases/yasm-${YASM_VERSION}.tar.gz && \
tar xzvf yasm-${YASM_VERSION}.tar.gz && \
cd yasm-${YASM_VERSION} && \
./configure --prefix="$SRC" --bindir="${SRC}/bin" && \
make && \
Expand All @@ -54,9 +54,9 @@ RUN DIR=$(mktemp -d) && cd ${DIR} && \

# libmp3lame
RUN DIR=$(mktemp -d) && cd ${DIR} && \
curl -L -Os http://downloads.sourceforge.net/project/lame/lame/${LAME_VERSION%.*}/lame-${LAME_VERSION}.tar.gz && \
tar xzvf lame-${LAME_VERSION}.tar.gz && \
cd lame-${LAME_VERSION} && \
curl -LOks https://github.com/rbrito/lame/archive/RELEASE__${LAME_VERSION}.tar.gz && \
tar xzvf RELEASE__${LAME_VERSION}.tar.gz && \
cd lame-RELEASE__${LAME_VERSION} && \
./configure --prefix="${SRC}" --bindir="${SRC}/bin" --disable-shared --enable-nasm && \
make && \
make install && \
Expand All @@ -65,12 +65,12 @@ RUN DIR=$(mktemp -d) && cd ${DIR} && \

# ffmpeg
RUN DIR=$(mktemp -d) && cd ${DIR} && \
curl -Os http://ffmpeg.org/releases/ffmpeg-${FFMPEG_VERSION}.tar.gz && \
tar xzvf ffmpeg-${FFMPEG_VERSION}.tar.gz && \
curl -LOks https://ffmpeg.org/releases/ffmpeg-${FFMPEG_VERSION}.tar.gz && \
tar xzvf ffmpeg-${FFMPEG_VERSION}.tar.gz && \
cd ffmpeg-${FFMPEG_VERSION} && \
./configure --prefix="${SRC}" --extra-cflags="-I${SRC}/include" --extra-ldflags="-L${SRC}/lib" --bindir="${SRC}/bin" \
--extra-libs=-ldl --enable-version3 --enable-libmp3lame --enable-libx264 --enable-gpl \
--enable-postproc --enable-nonfree --enable-avresample --disable-debug --enable-small --enable-openssl && \
--extra-libs=-ldl --enable-version3 --enable-libmp3lame --enable-libx264 --enable-gpl \
--enable-postproc --enable-nonfree --enable-avresample --disable-debug --enable-small --enable-openssl && \
make && \
make install && \
make distclean && \
Expand All @@ -84,13 +84,12 @@ RUN ffmpeg -buildconf

# nginx-rtmp
RUN DIR=$(mktemp -d) && cd ${DIR} && \
curl -LOks http://nginx.org/download/nginx-${NGINX_VERSION}.tar.gz && \
tar -zxvf nginx-${NGINX_VERSION}.tar.gz && \
curl -LOks https://github.com/arut/nginx-rtmp-module/archive/master.zip && \
unzip master.zip && \
rm master.zip && \
cd nginx-${NGINX_VERSION} && \
./configure --with-http_ssl_module --add-module=../nginx-rtmp-module-master && \
curl -LOks https://github.com/nginx/nginx/archive/release-${NGINX_VERSION}.tar.gz && \
tar xzvf release-${NGINX_VERSION}.tar.gz && \
curl -LOks https://github.com/arut/nginx-rtmp-module/archive/v${NGINX_RTMP_VERSION}.tar.gz && \
tar xzvf v${NGINX_RTMP_VERSION}.tar.gz && \
cd nginx-release-${NGINX_VERSION} && \
auto/configure --with-http_ssl_module --add-module=../nginx-rtmp-module-${NGINX_RTMP_VERSION} && \
make && \
make install && \
rm -rf ${DIR}
Expand Down
12 changes: 6 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,14 +10,14 @@ Datarhei/Restreamer offers smart free video streaming in real time. Stream H.264
- <a target= "_blank" href="https://www.docker.com/">Docker</a> and <a target= "_blank" href="https://kitematic.com/">Kitematic (Docker-Toolbox)</a> optimizations and very easy installation

##Roadmap
- RC4 (planned 1.25.2016)
- refactoring ffmpeg-fluent integration
- nginx process monitor
- cleanup packages
- optimizing ui (jsonDB processing, input-validation, clappr-integration)
- RC5 (planned 2.1.2016)
- code optimizations (full ecma6, lint, jsdocs)
- start writing tests
- input-validation
- optimizing scope of stats
- cleanup JSONDB
- start restructuring code
- cleanup packages
- NGINX process monitor

##Documentation
Documentation is available on [Datarhei/Restreamer GitHub pages](https://datarhei.github.io/restreamer/).
Expand Down
2 changes: 1 addition & 1 deletion bower.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "Restreamer",
"version": "0.1.0-RC3",
"version": "0.1.0-RC4",
"license": "Apache-2.0",
"dependencies": {
"bootstrap": "3.3.6",
Expand Down
Loading

0 comments on commit dfe18c8

Please sign in to comment.