A simple RTMP streaming TV station in Bash. Uses FFMPEG.
Go to file
Matt McWilliams 1b8f2a8466 Scripts for building a random playlist and streaming to server. 2024-05-11 15:49:09 -04:00
.gitignore Work in progress. Most of concept fleshed out 2022-12-28 11:41:42 -05:00
README.md Work in progress. Most of concept fleshed out 2022-12-28 11:41:42 -05:00
common.sh Work getting this deployable on raspbian buster (latest makes omxplayer a nightmare to install). 2024-03-27 21:06:24 -04:00
default.env Work in progress. Most of concept fleshed out 2022-12-28 11:41:42 -05:00
encode.sh Encode will add a bug and otherwise scale with filter_complex, not vf. Working on several videos. 2024-05-11 15:48:00 -04:00
nginx-rtmp.conf Work getting this deployable on raspbian buster (latest makes omxplayer a nightmare to install). 2024-03-27 21:06:24 -04:00
playlist.sh Scripts for building a random playlist and streaming to server. 2024-05-11 15:49:09 -04:00
setup_raspi.sh Work getting this deployable on raspbian buster (latest makes omxplayer a nightmare to install). 2024-03-27 21:06:24 -04:00
stream.sh Scripts for building a random playlist and streaming to server. 2024-05-11 15:49:09 -04:00
tv.sh Work getting this deployable on raspbian buster (latest makes omxplayer a nightmare to install). 2024-03-27 21:06:24 -04:00

README.md

Bash TV

A simple RTMP streaming TV station in Bash.

Dependencies

  • Bash
  • ffmpeg
  • sqlite3

Scripts

tv.sh

This script runs the TV station by looping over a collection of files in a directory and playing them randomly until they have all been played one time.

encode.sh

This script can be run on a cronjob to detect new video files and re-encode them for playback in the tv station.

.env

This configuration file contains the environment variables that are used by the other scripts to operate the streaming station.

common.sh

Script containing common helper functions and environment configuration scripts used between the tv.sh and encode.sh scripts.