Hydrophone Streaming Improvements
In 2021, we would like to add 2 or 3 new locations to the Orcasound hydrophone network. We would also like to upgrade the software that runs on Raspberry Pi4 computers at each node.
Project repository: https://github.com/orcasound/orcanode
Note: If you don’t have access to a Raspberry Pi consider working on amd64 branches. You would still need some sort of sound card.
Required Hardware: RPI3B+ or RPI4, USB soundcard or headset, SD cards Required skills: Linux, Raspberry Pi, git, python, docker, docker-compose Bonus skills: AWS/boto, inotify, ffmpeg, arecord, alsa, jack Possible mentors: Steve @mcshicks Getting Started:
- Install
dockeranddocker-composeon your RPI - Clone https://github.com/orcasound/orcanode and checkout the
s3_flacbranch - Build the container
- Setup your
.envfor hls-only, audio card - see readme - Verify you are generating manifest and
.tsfiles. It maybe easier if you comment out the s3 upload scripts.
Points to consider in the proposal: How will this change make it easier for new nodes to be deployed? How will this change make it easier for others to work on orcanode? How will this change make the code simpler? How will this change improve the reliability of the node?
Possible Ideas for Proposal:
- Update
amd64andarm32vto get rid ofs3fsand only uses3_uploadscripts Document node types options inREADME.mdamd64node does not need to support flac/jack codearm32vcan only supportflacon RPI4 (Steve can help) possible to eliminate patchingffmpegfor is it possible to get jack support without buildingffmpegon rpi4 merge any common changes up to main branch - Improve Timestamp format
Seemed like it should be possible to get timestamps in
.tsfiles Would make machine learning tools and other tools (localization; triangulation) more straightforward More info usingstrftimedescribed inffmpegformat man page - Simplify
stream.shCould we make separatedocker-composefiles to encapsulate node types?
fixed formatting