Skip to content

Commit 47320c5

Browse files
make convert script configurable with ENV-variables for docker run
1 parent 08032f2 commit 47320c5

File tree

4 files changed

+66
-40
lines changed

4 files changed

+66
-40
lines changed

Dockerfile

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,17 @@ ENV DEBIAN_FRONTEND noninteractive
99
ENV HOME /root
1010
ENV PATH /root/scripts:$PATH
1111

12+
ENV AUDIO_ENCODER aac
13+
ENV AUDIO_BITRATE 192
14+
15+
ENV VIDEO_ENCODER x264
16+
ENV VIDEO_FORMAT mp4
17+
18+
ENV CODEC_PRESET veryfast
19+
ENV CODEC_QUALITY 23
20+
21+
ENV SOURCE_EXT mkv
22+
1223
# set and update repo
1324
RUN sed -i 's#http://archive.ubuntu.com/#http://tw.archive.ubuntu.com/#' /etc/apt/sources.list \
1425
&& apt-get update
@@ -30,8 +41,9 @@ RUN apt-get install -y --no-install-recommends \
3041
python3-setuptools \
3142
build-essential
3243

33-
# install video apps
44+
# install other apps
3445
RUN apt-get install -y \
46+
nano \
3547
handbrake-cli \
3648
mkvtoolnix \
3749
gpac

README.md

Lines changed: 20 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -19,17 +19,23 @@ docker build --build-arg SETLANG=de_DE.UTF-8 -t lovebootcaptain/handbrakecli-pyt
1919
## Run
2020
```bash
2121
docker run
22-
--entrypoint bash
23-
-v /Volumes/video:/root/input
24-
-v /Volumes/video/transcoded:/root/output
25-
--env SETLANG=de_DE.UTF-8
26-
--env LC_ALL=de_DE.UTF-8
27-
--env LANG=de_DE.UTF-8
28-
--env LANGUAGE=de_DE:de
29-
--env TZ=Europe/Berlin
30-
--name handbrakecli-python3
31-
-h docker-handbrake
32-
lovebootcaptain/handbrakecli-python3:latest
22+
--entrypoint bash
23+
-v /Volumes/video:/root/input
24+
-v /Volumes/video/transcoded:/root/output
25+
--env LC_ALL=de_DE.UTF-8
26+
--env LANG=de_DE.UTF-8
27+
--env LANGUAGE=de_DE:de
28+
--env TZ=Europe/Berlin
29+
--env VIDEO_FORMAT=mp4
30+
--env SOURCE_EXT=mkv
31+
--env AUDIO_ENCODER=aac
32+
--env AUDIO_BITRATE=192
33+
--env VIDEO_ENCODER=x264
34+
--env CODEC_PRESET=veryfast
35+
--env CODEC_QUALITY=23
36+
--name handbrakecli-python3
37+
-h docker-handbrake
38+
lovebootcaptain/handbrakecli-python3:latest
3339
```
3440
## Usage of included scripts
3541

@@ -52,6 +58,6 @@ feel free to add and/or **contribute** your own.
5258

5359
### TODO
5460

55-
- add a watchdog for a folder with python3
56-
- make watchdog configurable with ENV-variables for `docker run`
57-
- make `convert` script configurable with ENV-variables for `docker run`
61+
- [ ] add a watchdog for a folder with python3
62+
- [ ] make watchdog configurable with ENV-variables for `docker run`
63+
- [x] make `convert` script configurable with ENV-variables for `docker run`

scripts/LoopConverter

Lines changed: 16 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,23 @@
11
#!/bin/sh
22

3-
EXT=$1
3+
EXT=${SOURCE_EXT}
44

5-
if [ $# -eq 0 ]
6-
then
7-
echo "No arguments supplied"
8-
echo "usage: LoopConverter [file extension to convert]"
9-
echo "e.g.: LoopConverter mkv /path/to/your/folder"
5+
echo "transcoding all $SOURCE_EXT files to $VIDEO_FORMAT"
106

11-
else
12-
for i in *
13-
do
14-
if [ "${i}" != "${i%.${EXT}}" ];then
7+
for i in *
8+
do
9+
if [ "${i}" != "${i%.${EXT}}" ]
10+
then
1511
echo "convertible file found: $i"
16-
fi
17-
done
12+
fi
13+
done
1814

19-
for i in *
20-
do
21-
if [ "${i}" != "${i%.${EXT}}" ];then
22-
echo "converting file $i"
23-
convert "$i"
24-
fi
25-
done
26-
fi
15+
for i in *
16+
do
17+
if [ "${i}" != "${i%.${EXT}}" ]
18+
then
19+
echo "converting file $i"
20+
convert "$i"
21+
fi
22+
done
2723

scripts/convert

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
#!/bin/sh
22

3+
34
NOW=$(date +"%m%d%Y")
45
PGMNAME=/usr/bin/HandBrakeCLI
56

@@ -18,10 +19,21 @@ BASEPATH=$(dirname "$1")
1819
BASEFILE=$(basename "$1")
1920
FILENAME="${BASEFILE%%.*}"
2021

21-
echo "Starting $NOW"
22-
${PGMNAME} --input "$1" --format mkv --aencoder aac --ab 192 --encoder x264 --x264-preset veryfast --quality 23 --turbo --encoder-level 4.1 --output "$BASEPATH/$FILENAME.mkv"
22+
echo "Starting $NOW with VIDEO_FORMAT: $VIDEO_FORMAT AUDIO_ENCODER: $AUDIO_ENCODER AUDIO_BITRATE: $AUDIO_BITRATE VIDEO_ENCODER: $VIDEO_ENCODER CODEC_PRESET: $CODEC_PRESET CODEC_QUALITY: $CODEC_QUALITY"
23+
24+
${PGMNAME} --input "$1" \
25+
--format ${VIDEO_FORMAT} \
26+
--aencoder ${AUDIO_ENCODER} \
27+
--ab ${AUDIO_BITRATE} \
28+
--encoder ${VIDEO_ENCODER} \
29+
--x264-preset ${CODEC_PRESET} \
30+
--quality ${CODEC_QUALITY} \
31+
--turbo --encoder-level 4.1 \
32+
--output "$BASEPATH/$FILENAME.${VIDEO_FORMAT}"
33+
34+
2335
check_errs $? "Failed to convert file $1"
2436

25-
echo "Removing original file."
26-
rm -f "$1"
27-
check_errs $? "Failed to remove original file $1"
37+
# echo "Removing original file."
38+
# rm -f "$1"
39+
# check_errs $? "Failed to remove original file $1"

0 commit comments

Comments
 (0)