Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # The following should work on Debian Stretch, Ubuntu 18.04 and maybe Ubuntu 16.04
- sudo apt-get update
- sudo apt-get install python3 python3-venv ffmpeg
- sudo useradd --home-dir /var/lib/mogra-dl --create-home --system --shell /sbin/nologin --user-group mogra-dl
- sudo -u mogra-dl bash
- python3 -m venv /var/lib/mogra-dl/.local/python-env
- /var/lib/mogra-dl/.local/python-env/bin/pip3 install --upgrade --upgrade-strategy only-if-needed pip
- /var/lib/mogra-dl/.local/python-env/bin/pip3 install --upgrade --upgrade-strategy only-if-needed setuptools
- /var/lib/mogra-dl/.local/python-env/bin/pip3 install --upgrade --upgrade-strategy only-if-needed youtube-dl
- /var/lib/mogra-dl/.local/python-env/bin/pip3 install --upgrade --upgrade-strategy only-if-needed streamlink
- mkdir -p /var/lib/mogra-dl/twitch/{mogra,anisphere,anime_mogra,}
- mkdir -p /var/lib/mogra-dl/ustream/{mogra1,}
- echo '#!/bin/bash
- while true; do
- datetime="$(TZ='Asia/Tokyo' date +"%Y-%m-%d_%H-%M-%S")"
- # download stream audio
- /var/lib/mogra-dl/.local/python-env/bin/youtube-dl -ci --quiet -o ${datetime}.m4a --extract-audio --audio-quality 0 --no-part https://twitch.tv/$1
- sleep 30
- done
- ' > /var/lib/mogra-dl/twitch/dl.sh
- chmod +x /var/lib/mogra-dl/twitch/dl.sh
- echo '#!/bin/bash
- for video in "*.mp4" ; do
- if [[ -f "$video" ]]; then
- # extract audio
- ffmpeg -i "$video" -vn -c:a copy "$(echo $video | sed 's/mp4/m4a/')"
- rm "$video"
- fi
- done
- while true; do
- datetime="$(TZ='Asia/Tokyo' date +"%Y-%m-%d_%H-%M-%S")"
- # download stream video
- /var/lib/mogra-dl/.local/python-env/bin/streamlink http://ustream.tv/channel/$1 best -o "${datetime}.mp4" -f
- if [[ -f "${datetime}.mp4" ]]; then
- # extract audio
- ffmpeg -i "${datetime}.mp4" -vn -c:a copy "${datetime}.m4a"
- rm "${datetime}.mp4"
- else
- sleep 30
- fi
- done
- ' > /var/lib/mogra-dl/ustream/dl.sh
- chmod +x /var/lib/mogra-dl/ustream/dl.sh
- echo '#!/bin/bash
- cd "$(pwd)"
- for dir in /var/lib/mogra-dl/{twitch,ustream}/* ; do
- if [[ -d "$dir" ]]; then
- channel_name="$(basename $dir)"
- cd "$dir"
- ../dl.sh "$channel_name" &
- cd - > /dev/null
- fi
- done
- wait
- ' > /var/lib/mogra-dl/mogra-dl.sh
- chmod +x /var/lib/mogra-dl/mogra-dl.sh
- exit
- sudo echo '# Update youtube-dl and streamlink daily, reporting to syslog
- 00 00 * * * mogra-dl /var/lib/mogra-dl/.local/python-env/bin/pip3 install --upgrade --upgrade-strategy only-if-needed youtube-dl 2>&1 | /usr/bin/logger -t mogra-dl-update
- 02 00 * * * mogra-dl /var/lib/mogra-dl/.local/python-env/bin/pip3 install --upgrade --upgrade-strategy only-if-needed streamlink 2>&1 | /usr/bin/logger -t mogra-dl-update
- #
- ' > /etc/cron.d/mogra-dl-update
- sudo echo '[Unit]
- After=network.target
- [Service]
- WorkingDirectory=/var/lib/mogra-dl
- ExecStart=/var/lib/mogra-dl/mogra-dl.sh
- User=mogra-dl
- Group=mogra-dl
- Restart=always
- StandardOutput=syslog
- StandardError=syslog
- SyslogIdentifier=mogra-dl
- [Install]
- WantedBy=multi-user.target
- ' > /etc/systemd/system/mogra-dl.service
- sudo systemctl daemon-reload
- sudo systemctl enable mogra-dl.service
- sudo service mogra-dl start
Add Comment
Please, Sign In to add comment