jan schmidt gstreamer conf 2015 dublin · 2015-10-10 · concept network clock improvements –...

19
Distributed Acoustic Triangulation Distributed Acoustic Triangulation Jan Schmidt GStreamer Conf 2015 Dublin

Upload: others

Post on 25-Jul-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Jan Schmidt GStreamer Conf 2015 Dublin · 2015-10-10 · Concept Network Clock Improvements – Filtering, statistics output, better regression – A few milliseconds on noisy wifi

Distributed Acoustic TriangulationDistributed Acoustic Triangulation

Jan SchmidtGStreamer Conf 2015

Dublin

Page 2: Jan Schmidt GStreamer Conf 2015 Dublin · 2015-10-10 · Concept Network Clock Improvements – Filtering, statistics output, better regression – A few milliseconds on noisy wifi

Who am I?Who am I?

Page 3: Jan Schmidt GStreamer Conf 2015 Dublin · 2015-10-10 · Concept Network Clock Improvements – Filtering, statistics output, better regression – A few milliseconds on noisy wifi

ConceptConcept

● Network Clock Improvements– Filtering, statistics output, better regression

– A few milliseconds on noisy wifi

● Speed of sound– 340.29 m/s

– Or 34.029 cm per millisecond

● Hmm... those are getting pretty close.

Page 4: Jan Schmidt GStreamer Conf 2015 Dublin · 2015-10-10 · Concept Network Clock Improvements – Filtering, statistics output, better regression – A few milliseconds on noisy wifi

OK, so?OK, so?

● Microphones + Senders● Network clock synched● Central Receiver● Audio processing

Receiver /Processor

Network ClockAudio Data

Page 5: Jan Schmidt GStreamer Conf 2015 Dublin · 2015-10-10 · Concept Network Clock Improvements – Filtering, statistics output, better regression – A few milliseconds on noisy wifi

August 17August 17thth

(7 weeks)(7 weeks)

Page 6: Jan Schmidt GStreamer Conf 2015 Dublin · 2015-10-10 · Concept Network Clock Improvements – Filtering, statistics output, better regression – A few milliseconds on noisy wifi

AurenaAurena

ServerDaemon

ServerDaemon

UI (Web

Browser)

UI (Web

Browser)

ClientClient ClientClient ClientClient

● Distributed audio playback● Uses the network clock● HTTP + RTSP● JSON events / cmds

Page 7: Jan Schmidt GStreamer Conf 2015 Dublin · 2015-10-10 · Concept Network Clock Improvements – Filtering, statistics output, better regression – A few milliseconds on noisy wifi

Sending AudioSending Audio

● RTP● HTTP● RTSP

– RTSP server in each client?

– RECORD support

Page 8: Jan Schmidt GStreamer Conf 2015 Dublin · 2015-10-10 · Concept Network Clock Improvements – Filtering, statistics output, better regression – A few milliseconds on noisy wifi

RTSP SinkRTSP Sink

● New bin in gst-rtsp-server

● Request pads

● Auto-plug Payloaders

● Collect streams

● Build SDP, ANNOUNCE

● SETUP, Start recording

● RTX

● Bugs

https://github.com/thaytan/gst-rtsp-server/tree/rtspsink

Page 9: Jan Schmidt GStreamer Conf 2015 Dublin · 2015-10-10 · Concept Network Clock Improvements – Filtering, statistics output, better regression – A few milliseconds on noisy wifi

RTSP SyncRTSP Sync

● New RTSP features● ntp-time-source, latency● rtcp-sync-send-time,● max-rtcp-rtp-time-diff

Page 10: Jan Schmidt GStreamer Conf 2015 Dublin · 2015-10-10 · Concept Network Clock Improvements – Filtering, statistics output, better regression – A few milliseconds on noisy wifi
Page 11: Jan Schmidt GStreamer Conf 2015 Dublin · 2015-10-10 · Concept Network Clock Improvements – Filtering, statistics output, better regression – A few milliseconds on noisy wifi

ReceiverReceiver

● RTSP Server● Ingest / deinterleave● Interleave / store● Process

Page 12: Jan Schmidt GStreamer Conf 2015 Dublin · 2015-10-10 · Concept Network Clock Improvements – Filtering, statistics output, better regression – A few milliseconds on noisy wifi

IngestIngest

AppSrc DecodeBin Deinterleave Appsinks

Page 13: Jan Schmidt GStreamer Conf 2015 Dublin · 2015-10-10 · Concept Network Clock Improvements – Filtering, statistics output, better regression – A few milliseconds on noisy wifi

ProcessingProcessing

Appsrc -> audioconvert -> audiointerleave -> tee -> wavenc+filesink / appsink

Page 14: Jan Schmidt GStreamer Conf 2015 Dublin · 2015-10-10 · Concept Network Clock Improvements – Filtering, statistics output, better regression – A few milliseconds on noisy wifi

Many EarsMany Ears

● Real-time microphone array processing

● Robot audition● 8 microphones in a fixed grid● Localisation, tracking, source

separation

● Qt GUI● C Implementation

Page 15: Jan Schmidt GStreamer Conf 2015 Dublin · 2015-10-10 · Concept Network Clock Improvements – Filtering, statistics output, better regression – A few milliseconds on noisy wifi

Android Audio! Arggh!Android Audio! Arggh!

Page 16: Jan Schmidt GStreamer Conf 2015 Dublin · 2015-10-10 · Concept Network Clock Improvements – Filtering, statistics output, better regression – A few milliseconds on noisy wifi

Android AudioAndroid Audio

● Random audio delays / offsets● 30-100ms, not predictable● Drops bits when playback starts● Not sure it's going to get any better

Page 17: Jan Schmidt GStreamer Conf 2015 Dublin · 2015-10-10 · Concept Network Clock Improvements – Filtering, statistics output, better regression – A few milliseconds on noisy wifi

CalibrationCalibration

● Play sounds● Listen● Correlate● Solve for relative positions

Page 18: Jan Schmidt GStreamer Conf 2015 Dublin · 2015-10-10 · Concept Network Clock Improvements – Filtering, statistics output, better regression – A few milliseconds on noisy wifi

DemosDemos

Page 19: Jan Schmidt GStreamer Conf 2015 Dublin · 2015-10-10 · Concept Network Clock Improvements – Filtering, statistics output, better regression – A few milliseconds on noisy wifi

Questions?Questions?