There are two commands involved in live streaming: raspivid and ffmpeg. The streams are 720p 25fps 44kb stereo audio, streams are silent for the first 6 seconds
raspivid --timeout 0 --width 1280 --height 720 --rotation 270 --profile high --level 4.1 --bitrate 2250000 --framerate 25.375 --intra 90 --annotate 4 --annotate 8 --output - | ffmpeg -i - -f alsa -channels 2 -sample_rate 22050 -itsoffset 6 -i hw:1 -c:v copy -af "volume=8.0,aresample=async=1" -c:a aac -b:a 48k -map 0:v -map 1:a -f flv rtmp://URL and KEY go here
YouTube rtmp:// segment, located in youtube.sh
rtmp://a.rtmp.youtube.com/live2/KEY goes here
Add YouTube streaming as an option by editing piglasscmds.toml.
["YouTube Stream"] color = "orange" cmd = "sh youtube.sh" process = "raspivid ffmpeg"
Facebook rtmps:// segment, located in facebook.sh:
rtmps://live-api-s.facebook.com:443/rtmp/Key goes here
Add Facebook streaming as an option by editing piglasscmds.toml:
["Facebook Stream"] color = "orange" cmd = "sh facebook.sh" process = "raspivid ffmpeg"
Twitch rtmp:// segment, located in twitch.sh:
rtmp://live.twitch.tv/app/Key goes here
Add Twitch streaming as an option by editing piglasscmds.toml:
["Twitch Stream"] color = "orange" cmd = "sh twitch.sh" process = "raspivid ffmpeg"
I also setup my own rtmp server and page to view the stream using a VPS.
This part sets up the streaming to the server: Nginx RTMP Streaming setup.
This part is used to make a page that your stream can be viewed from Dash JS.
Page last edited March 08, 2024
Text editor powered by tinymce.