-
Notifications
You must be signed in to change notification settings - Fork 2
Spring 2021 Initiatives
Due to the COVID-19 pandemic, PiE held a virtual competition in the spring of 2021. It required a lot of work from all of the projects in PiE to pull off. Runtime's contribution to the effort were the following:
- Modifying Runtime to use
ngrok
to expose three ports that were needed for the Dawn-Runtime connection to function properly- Port 6101: this is the TCP port on the Raspberry Pi that is normally used by Dawn and Shepherd to connect to it
- Port 1234: this is the TCP port that is created by the UDP-TCP converter process which ferries messages that would normally go on a UDP connection between Dawn and Runtime onto a TCP connection instead (since
ngrok
does not support UDP ports) - Port 22: this is the
ssh
port that is used by Dawn tossh
into the Raspberry Pi remotely and upload/download student code
- Making the video server and supporting infrastructure so that students could see a stream coming from inside of O'Brien 101 while they were driving.
- Figuring out how to connect stream from a GoPro
The GoPro stream was accomplished with a script copied verbatim from this Github.
We had to change line 103
of the script to:
subprocess.Popen("ffmpeg " + loglevel_verbose + " -fflags nobuffer -f:v mpegts -probesize 8192 -i udp://10.5.5.100:8554 -ar 44100 -f flv -vcodec copy rtmp://64.227.109.107:1935/overhead/stream", shell=True)
Essentially, we changed the output location of the ffmpeg
command to point at rtmp://64.227.109.107:1935/overhead/stream
because that is the input URL of a server that one of our team members set up on DigitalOcean (a service that allows you to host servers on the Internet for a small fee). The server basically ingested an rtmp
stream (rtmp
is a video streaming media protocol) and converted it to webrtc
/ ws
(for websockets), which is a format that Dawn can understand.
- Important
- Advanced/Specific