-
-
Save shabbirh/43a7dd709a3ce75dfa6f to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# required: ffmpeg (e.g. from homebrew), terminal-notifier from https://github.com/alloy/terminal-notifier | |
# you can schedule this with launchd to run e.g. weekly | |
# Specify in seconds how long the script should record (default here is 1 hour). | |
seconds=3600 | |
# Date format for the recording file name | |
DATE=`date "+%d-%m-%y_%H-%M"` | |
# start ffmpeg recording | |
ffmpeg -re -i http://website.com/playlist.m3u8 -c copy -bsf:a aac_adtstoasc recording_$DATE.mp4 & | |
# notification that recording has started | |
if [ "$(pgrep -P $$ 'ffmpeg')" ] | |
then | |
/Applications/terminal-notifier.app/Contents/MacOS/terminal-notifier -title 'ffmpeg' -message "is recording now" -sender 'com.apple.Terminal' | |
else | |
/Applications/terminal-notifier.app/Contents/MacOS/terminal-notifier -title 'ffmpeg' -message "is not recording!" -sound Funk -sender 'com.apple.Terminal' | |
exit 42 | |
fi | |
# check every 30 seconds for $seconds to make sure ffmpeg is still running | |
START=`date +%s` | |
while [ $(( $(date +%s) - $seconds )) -lt $START ]; do | |
if [ -z "$(pgrep -P $$ 'ffmpeg')" ] | |
then | |
/Applications/terminal-notifier.app/Contents/MacOS/terminal-notifier -title 'ffmpeg' -message "is no longer running" -sound Funk -sender 'com.apple.Terminal' | |
fi | |
sleep 30 | |
done | |
# notification when time is up | |
/Applications/terminal-notifier.app/Contents/MacOS/terminal-notifier -title 'ffmpeg' -message "recording finished" -sound default -sender 'com.apple.Terminal' | |
# stop ffmpeg (using this because stopping ffmpeg via -t for duration turned out to be extremely unreliable) | |
kill $(pgrep -P $$ 'ffmpeg') |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment