orcagsoc icon indicating copy to clipboard operation
orcagsoc copied to clipboard

Hydrophone Streaming Improvements

Open valentina-s opened this issue 4 years ago • 1 comments

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 docker and docker-compose on your RPI
  • Clone https://github.com/orcasound/orcanode and checkout the s3_flac branch
  • Build the container
  • Setup your .env for hls-only, audio card - see readme
  • Verify you are generating manifest and .ts files. 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 amd64 and arm32v to get rid of s3fs and only use s3_upload scripts Document node types options in README.md amd64 node does not need to support flac/jack code arm32v can only support flac on RPI4 (Steve can help) possible to eliminate patching ffmpeg for is it possible to get jack support without building ffmpeg on rpi4 merge any common changes up to main branch
  • Improve Timestamp format Seemed like it should be possible to get timestamps in .ts files Would make machine learning tools and other tools (localization; triangulation) more straightforward More info using strftime described in ffmpeg format man page
  • Simplify stream.sh Could we make separate docker-compose files to encapsulate node types?

valentina-s avatar Mar 31 '21 19:03 valentina-s

fixed formatting

mcshicks avatar Mar 31 '21 20:03 mcshicks