Skip to content

Commit dfe18c8

Browse files
RC4
1 parent a434cce commit dfe18c8

24 files changed

+502
-493
lines changed

CHANGELOG.md

+18
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,21 @@
1+
## Changes from 0.1.0-RC3 to 0.1.0-RC4
2+
3+
* added https sources to Dockerfiles (thx @ [nodiscc](https://github.com/nodiscc))
4+
* fixed visualisation problem of new RTMP/RTSP endpoint (JSONDB processing)
5+
* optimized input-process (removed generateOutputRTMPPath)
6+
* cleaned up NPM packages
7+
* added ESLint insteed of JSHint+ first ruleset
8+
* first code optimizations (ecma5 -> ecma6)
9+
* optimized RaspiCam-Hack for Raspberry Pi 1
10+
* updated NPM packages and node
11+
* refactored FFmpeg-Fluent integration by own fork (reduces process-output)
12+
* fixed output-process (generated high CPU load on arm)
13+
* fixed preview player (no play-icon, didn't stop when the modalbox is closed)
14+
15+
##### Merged pull requests:
16+
17+
* Fixed ARM typo @ [Vyacheslav Shevchenko](https://github.com/bliz937)
18+
119
## Changes from 0.1.0-RC2 to 0.1.0-RC3
220

321
* fixed links to docs

Dockerfile

+19-19
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,27 @@
1-
FROM node:4.2.3-slim
1+
FROM node:4.2.6-slim
22

33
MAINTAINER datarhei <[email protected]>
44

55
ENV FFMPEG_VERSION 2.8.1
66
ENV YASM_VERSION 1.3.0
7-
ENV LAME_VERSION 3.99.5
7+
ENV LAME_VERSION 3_99_5
88
ENV NGINX_VERSION 1.8.0
9+
ENV NGINX_RTMP_VERSION 1.1.7
910

1011
ENV SRC /usr/local
1112
ENV LD_LIBRARY_PATH ${SRC}/lib
1213
ENV PKG_CONFIG_PATH ${SRC}/lib/pkgconfig
1314

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

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

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

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

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

7172
# nginx-rtmp
7273
RUN DIR=$(mktemp -d) && cd ${DIR} && \
73-
curl -LOks http://nginx.org/download/nginx-${NGINX_VERSION}.tar.gz && \
74-
tar -zxvf nginx-${NGINX_VERSION}.tar.gz && \
75-
curl -LOks https://github.com/arut/nginx-rtmp-module/archive/master.zip && \
76-
unzip master.zip && \
77-
rm master.zip && \
78-
cd nginx-${NGINX_VERSION} && \
79-
./configure --with-http_ssl_module --add-module=../nginx-rtmp-module-master && \
74+
curl -LOks https://github.com/nginx/nginx/archive/release-${NGINX_VERSION}.tar.gz && \
75+
tar xzvf release-${NGINX_VERSION}.tar.gz && \
76+
curl -LOks https://github.com/arut/nginx-rtmp-module/archive/v${NGINX_RTMP_VERSION}.tar.gz && \
77+
tar xzvf v${NGINX_RTMP_VERSION}.tar.gz && \
78+
cd nginx-release-${NGINX_VERSION} && \
79+
auto/configure --with-http_ssl_module --add-module=../nginx-rtmp-module-${NGINX_RTMP_VERSION} && \
8080
make && \
8181
make install && \
8282
rm -rf ${DIR}

Dockerfile_armv6l

+26-25
Original file line numberDiff line numberDiff line change
@@ -2,39 +2,39 @@ FROM resin/rpi-raspbian:jessie
22

33
MAINTAINER datarhei <[email protected]>
44

5-
ENV NODE_VERSION 4.2.3
6-
ENV NPM_VERSION 2.14.7
5+
ENV NODE_VERSION 4.2.6
6+
ENV NPM_VERSION 2.14.12
77

88
ENV FFMPEG_VERSION 2.8.1
99
ENV YASM_VERSION 1.3.0
10-
ENV LAME_VERSION 3.99.5
10+
ENV LAME_VERSION 3_99_5
1111
ENV NGINX_VERSION 1.8.0
12+
ENV NGINX_RTMP_VERSION 1.1.7
1213

1314
ENV SRC /usr/local
1415
ENV LD_LIBRARY_PATH ${SRC}/lib
1516
ENV PKG_CONFIG_PATH ${SRC}/lib/pkgconfig
1617

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

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

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

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

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

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

8585
# nginx-rtmp
8686
RUN DIR=$(mktemp -d) && cd ${DIR} && \
87-
curl -LOks http://nginx.org/download/nginx-${NGINX_VERSION}.tar.gz && \
88-
tar -zxvf nginx-${NGINX_VERSION}.tar.gz && \
89-
curl -LOks https://github.com/arut/nginx-rtmp-module/archive/master.zip && \
90-
unzip master.zip && \
91-
rm master.zip && \
92-
cd nginx-${NGINX_VERSION} && \
93-
./configure --with-http_ssl_module --add-module=../nginx-rtmp-module-master && \
87+
curl -LOks https://github.com/nginx/nginx/archive/release-${NGINX_VERSION}.tar.gz && \
88+
tar xzvf release-${NGINX_VERSION}.tar.gz && \
89+
curl -LOks https://github.com/arut/nginx-rtmp-module/archive/v${NGINX_RTMP_VERSION}.tar.gz && \
90+
tar xzvf v${NGINX_RTMP_VERSION}.tar.gz && \
91+
cd nginx-release-${NGINX_VERSION} && \
92+
auto/configure --with-http_ssl_module --add-module=../nginx-rtmp-module-${NGINX_RTMP_VERSION} && \
9493
make && \
9594
make install && \
9695
rm -rf ${DIR}
9796

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

100+
RUN apt-get update && \
101+
apt-get install -y --force-yes git
102+
102103
COPY . /restreamer
103104
WORKDIR /restreamer
104105

Dockerfile_armv7l

+23-24
Original file line numberDiff line numberDiff line change
@@ -2,39 +2,39 @@ FROM armbuild/debian:jessie
22

33
MAINTAINER datarhei <[email protected]>
44

5-
ENV NODE_VERSION 4.2.3
6-
ENV NPM_VERSION 2.14.7
5+
ENV NODE_VERSION 4.2.6
6+
ENV NPM_VERSION 2.14.12
77

88
ENV FFMPEG_VERSION 2.8.1
99
ENV YASM_VERSION 1.3.0
10-
ENV LAME_VERSION 3.99.5
10+
ENV LAME_VERSION 3_99_5
1111
ENV NGINX_VERSION 1.8.0
12+
ENV NGINX_RTMP_VERSION 1.1.7
1213

1314
ENV SRC /usr/local
1415
ENV LD_LIBRARY_PATH ${SRC}/lib
1516
ENV PKG_CONFIG_PATH ${SRC}/lib/pkgconfig
1617

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

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

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

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

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

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

8585
# nginx-rtmp
8686
RUN DIR=$(mktemp -d) && cd ${DIR} && \
87-
curl -LOks http://nginx.org/download/nginx-${NGINX_VERSION}.tar.gz && \
88-
tar -zxvf nginx-${NGINX_VERSION}.tar.gz && \
89-
curl -LOks https://github.com/arut/nginx-rtmp-module/archive/master.zip && \
90-
unzip master.zip && \
91-
rm master.zip && \
92-
cd nginx-${NGINX_VERSION} && \
93-
./configure --with-http_ssl_module --add-module=../nginx-rtmp-module-master && \
87+
curl -LOks https://github.com/nginx/nginx/archive/release-${NGINX_VERSION}.tar.gz && \
88+
tar xzvf release-${NGINX_VERSION}.tar.gz && \
89+
curl -LOks https://github.com/arut/nginx-rtmp-module/archive/v${NGINX_RTMP_VERSION}.tar.gz && \
90+
tar xzvf v${NGINX_RTMP_VERSION}.tar.gz && \
91+
cd nginx-release-${NGINX_VERSION} && \
92+
auto/configure --with-http_ssl_module --add-module=../nginx-rtmp-module-${NGINX_RTMP_VERSION} && \
9493
make && \
9594
make install && \
9695
rm -rf ${DIR}

README.md

+6-6
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,14 @@ Datarhei/Restreamer offers smart free video streaming in real time. Stream H.264
1010
- <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
1111

1212
##Roadmap
13-
- RC4 (planned 1.25.2016)
14-
- refactoring ffmpeg-fluent integration
15-
- nginx process monitor
16-
- cleanup packages
17-
- optimizing ui (jsonDB processing, input-validation, clappr-integration)
1813
- RC5 (planned 2.1.2016)
19-
- code optimizations (full ecma6, lint, jsdocs)
14+
- start writing tests
15+
- input-validation
16+
- optimizing scope of stats
17+
- cleanup JSONDB
2018
- start restructuring code
19+
- cleanup packages
20+
- NGINX process monitor
2121

2222
##Documentation
2323
Documentation is available on [Datarhei/Restreamer GitHub pages](https://datarhei.github.io/restreamer/).

bower.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "Restreamer",
3-
"version": "0.1.0-RC3",
3+
"version": "0.1.0-RC4",
44
"license": "Apache-2.0",
55
"dependencies": {
66
"bootstrap": "3.3.6",

0 commit comments

Comments
 (0)