Giter Site home page Giter Site logo

philhartung / aes67-sender Goto Github PK

View Code? Open in Web Editor NEW
152.0 152.0 17.0 80 KB

Make a soundcard input available in an AES67 network

Home Page: https://aes67.app

License: GNU General Public License v3.0

JavaScript 100.00%
aes67 aoip audio audio-over-ip dante raspberry-pi

aes67-sender's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

aes67-sender's Issues

No callback with JACK api

Hi,

I'm having some trouble with aes67-sender and JACK. When using ALSA everything seems to be working ok, but with JACK i get no audio callback in the code. I've inserted a log row in audio callback and there is nothing coming in. There is sound in jack 'cables', I've attached a VU meter using Carla and it seems fine. See log:

~/aes67-sender$ authbind --deep node aes67 -v -a jack -d 1 -c 2 -n "syshar"
Selected Jack as audio api
Selected 192.168.5.152 as network interface
Selected device shairport-sync with 2 input channels
Selected 239.69.5.152 as RTP multicast address.
Opening audio stream.
Trying to sync to PTP master.
Synced to b8-27-eb-ff-fe-4c-81-29:0 successfully
Starting SAP annoucements and audio stream.

Any ideas?

Example how to combine PTP and AES67 stream

Hello

i installed the ptp4l package and started it:

sudo ptp4l -A -m -i eth0 -S -i lo

ptp4l[1247.384]: port 1: INITIALIZING to LISTENING on INIT_COMPLETE
ptp4l[1247.385]: port 2: INITIALIZING to LISTENING on INIT_COMPLETE
ptp4l[1247.385]: port 0: INITIALIZING to LISTENING on INIT_COMPLETE
ptp4l[1254.157]: port 1: LISTENING to MASTER on ANNOUNCE_RECEIPT_TIMEOUT_EXPIRES
ptp4l[1254.158]: selected local clock dca632.fffe.2481d2 as best master
ptp4l[1254.158]: port 1: assuming the grand master role
ptp4l[1254.556]: port 2: LISTENING to MASTER on ANNOUNCE_RECEIPT_TIMEOUT_EXPIRES
ptp4l[1254.557]: selected local clock dca632.fffe.2481d2 as best master
ptp4l[1254.557]: port 1: assuming the grand master role
ptp4l[1254.557]: port 2: assuming the grand master role

Then i launched the aes67 sender - i have a usb audio card connected

sudo node aes67 -v -d 2 -c 2 -n test --address 192.168.0.100

_RtApiPulse::DeviceInfo pa_context_connect() failed: Connection refused

Selected ALSA as audio api

RtApiAlsa::getDeviceInfo: snd_pcm_open error for device (default), No such file or directory.

RtApiAlsa::getDeviceInfo: snd_pcm_open error for device (hw:2,0), No such device.

RtApiAlsa::getDeviceInfo: snd_pcm_open error for device (hw:3,0), No such device.

RtApiAlsa::getDeviceInfo: snd_pcm_open error for device (default), No such file or directory.

RtApiAlsa::getDeviceInfo: snd_pcm_open error for device (hw:2,0), No such device.

RtApiAlsa::getDeviceInfo: snd_pcm_open error for device (hw:3,0), No such device.

Selected device hw:ICUSBAUDIO7D,0 with 2 input channels
Selected 239.69.0.100 as RTP multicast address.
Opening audio stream.

RtApiAlsa::getDeviceInfo: snd_pcm_open error for device (default), No such file or directory.

RtApiAlsa::getDeviceInfo: snd_pcm_open error for device (hw:2,0), No such device.

RtApiAlsa::getDeviceInfo: snd_pcm_open error for device (hw:3,0), No such device.

Trying to sync to PTP master.
Could not sync to PTP master. Aborting._

Any suggestions or how to combine these 2 programs?

Error Could not sync to PTP master. Aborting.

I have PTP installed and bound to the eth0.

Why am I still getting this error ?

root@x92f3371a9a4f:/usr/src/aes67-sender# ethtool -T eth0
Time stamping parameters for eth0:
Capabilities:
hardware-transmit (SOF_TIMESTAMPING_TX_HARDWARE)
software-transmit (SOF_TIMESTAMPING_TX_SOFTWARE)
hardware-receive (SOF_TIMESTAMPING_RX_HARDWARE)
software-receive (SOF_TIMESTAMPING_RX_SOFTWARE)
software-system-clock (SOF_TIMESTAMPING_SOFTWARE)
hardware-raw-clock (SOF_TIMESTAMPING_RAW_HARDWARE)
PTP Hardware Clock: 0
Hardware Transmit Timestamp Modes:
off (HWTSTAMP_TX_OFF)
on (HWTSTAMP_TX_ON)
Hardware Receive Filter Modes:
none (HWTSTAMP_FILTER_NONE)
all (HWTSTAMP_FILTER_ALL)
ptpv1-l4-sync (HWTSTAMP_FILTER_PTP_V1_L4_SYNC)
ptpv1-l4-delay-req (HWTSTAMP_FILTER_PTP_V1_L4_DELAY_REQ)
ptpv2-l4-sync (HWTSTAMP_FILTER_PTP_V2_L4_SYNC)
ptpv2-l4-delay-req (HWTSTAMP_FILTER_PTP_V2_L4_DELAY_REQ)
ptpv2-l2-sync (HWTSTAMP_FILTER_PTP_V2_L2_SYNC)
ptpv2-l2-delay-req (HWTSTAMP_FILTER_PTP_V2_L2_DELAY_REQ)
ptpv2-event (HWTSTAMP_FILTER_PTP_V2_EVENT)
ptpv2-sync (HWTSTAMP_FILTER_PTP_V2_SYNC)
ptpv2-delay-req (HWTSTAMP_FILTER_PTP_V2_DELAY_REQ)
root@x92f3371a9a4f:/usr/src/aes67-sender#

Run aes67-sender without PTP Master

It is currently not possible to run aes67-sender without PTP master. RFC7273 allows to implement a ts-refclk:ptp=traceable which could be implemented to use aes67-sender without a PTP master.

Compatibility with virtual sound cards or is it a PTP issue?

Hi!

I tried using this sender with VB-AUDIO virtual audio interface, and I get crackling and buffering issues in AES67 receiver. I haven't yet tried to eliminate this problem by trying a hardware sound interface.

Interesting thing is that when on verbose, there are PTP related messages flowing. Are these normal?

Synced to <redacted> successfully
Starting SAP annoucements and audio stream.
Resycing PTP and RTP timestamp. Offset was 12.021ms.
Resycing PTP and RTP timestamp. Offset was 12.188ms.
Resycing PTP and RTP timestamp. Offset was 14.146ms.
Resycing PTP and RTP timestamp. Offset was 8.979ms.
Resycing PTP and RTP timestamp. Offset was 17.125ms.
Resycing PTP and RTP timestamp. Offset was 17.313ms.
Resycing PTP and RTP timestamp. Offset was 17.375ms.
Resycing PTP and RTP timestamp. Offset was 20.896ms.
Resycing PTP and RTP timestamp. Offset was 8.667ms.
Resycing PTP and RTP timestamp. Offset was 13.854ms.
Resycing PTP and RTP timestamp. Offset was 14.771ms.
Resycing PTP and RTP timestamp. Offset was 11.854ms.
Resycing PTP and RTP timestamp. Offset was 12.896ms.
Resycing PTP and RTP timestamp. Offset was 25.479ms.
Resycing PTP and RTP timestamp. Offset was 11.042ms.
Resycing PTP and RTP timestamp. Offset was 14.229ms.
Resycing PTP and RTP timestamp. Offset was 18.083ms.
Resycing PTP and RTP timestamp. Offset was 15.896ms.
Resycing PTP and RTP timestamp. Offset was 17.021ms.
Resycing PTP and RTP timestamp. Offset was 20.542ms.
Resycing PTP and RTP timestamp. Offset was 8.479ms.
Resycing PTP and RTP timestamp. Offset was 15.229ms.
Resycing PTP and RTP timestamp. Offset was 15.021ms.
Resycing PTP and RTP timestamp. Offset was 22.417ms.
Resycing PTP and RTP timestamp. Offset was 15.021ms.
Resycing PTP and RTP timestamp. Offset was 26.458ms.
Resycing PTP and RTP timestamp. Offset was 19.104ms.
Resycing PTP and RTP timestamp. Offset was 11.146ms.
Resycing PTP and RTP timestamp. Offset was 23.646ms.
Resycing PTP and RTP timestamp. Offset was 20.063ms.
Resycing PTP and RTP timestamp. Offset was 9.792ms.

Error installing on RPi 2b

When running

npm install

on raspberry pi 2b, I get this error message:

npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '[email protected]',
npm WARN EBADENGINE   required: { node: '>= 14.15.0' },
npm WARN EBADENGINE   current: { node: 'v12.22.12', npm: '7.5.2' }
npm WARN EBADENGINE }
npm ERR! code 1
npm ERR! path /home/pkcubed/aes67-sender/node_modules/audify
npm ERR! command failed
npm ERR! command sh -c prebuild-install || npm run rebuild
npm ERR! > [email protected] rebuild
npm ERR! > cmake-js compile
npm ERR! prebuild-install warn install /lib/arm-linux-gnueabihf/libc.so.6: version `GLIBC_2.32' not found (required by /home/pkcubed/aes67-sender/node_modules/audify/build/Release/audify.node)
npm ERR! /home/pkcubed/aes67-sender/node_modules/cmake-js/lib/buildSystem.js:15
npm ERR!         return !!projectPkgJson?.binary?.napi_versions
npm ERR!                                 ^
npm ERR! 
npm ERR! SyntaxError: Unexpected token '.'
npm ERR!     at wrapSafe (internal/modules/cjs/loader.js:915:16)
npm ERR!     at Module._compile (internal/modules/cjs/loader.js:963:27)
npm ERR!     at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10)
npm ERR!     at Module.load (internal/modules/cjs/loader.js:863:32)
npm ERR!     at Function.Module._load (internal/modules/cjs/loader.js:708:14)
npm ERR!     at Module.require (internal/modules/cjs/loader.js:887:19)
npm ERR!     at require (internal/modules/cjs/helpers.js:74:18)
npm ERR!     at Object.<anonymous> (/home/pkcubed/aes67-sender/node_modules/cmake-js/lib/index.js:4:18)
npm ERR!     at Module._compile (internal/modules/cjs/loader.js:999:30)
npm ERR!     at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10)
npm ERR! npm ERR! code 1
npm ERR! npm ERR! path /home/pkcubed/aes67-sender/node_modules/audify
npm ERR! npm ERR! command failed
npm ERR! npm ERR! command sh -c cmake-js compile
npm ERR! 
npm ERR! npm ERR! A complete log of this run can be found in:
npm ERR! npm ERR!     /home/pkcubed/.npm/_logs/2023-10-06T02_08_45_884Z-debug.log

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/pkcubed/.npm/_logs/2023-10-06T02_08_47_944Z-debug.log

Not showing up in Dante controller

I was able to get this running on OSX. I have a dante primary and it seems to be able to see the AES67 stream (it's a dante DSP) but I'd prefer to configure the receive/transmit via dante controller and aes-sender is not showing up there under transmit. Any ideas?

Unhandled error event

Hey,

When starting the virtual sound card, i get this error:

$ node aes67 -a alsa -d 7 -n "Focusrite Scarlett 2i2"
events.js:174
throw er; // Unhandled 'error' event
^

Error: bind EACCES 0.0.0.0:319
at state.handle.lookup (dgram.js:242:18)
at process._tickCallback (internal/process/next_tick.js:63:19)
at Function.Module.runMain (internal/modules/cjs/loader.js:834:11)
at startup (internal/bootstrap/node.js:283:19)
at bootstrapNodeJSCore (internal/bootstrap/node.js:623:3)
Emitted 'error' event at:
at state.handle.lookup (dgram.js:243:14)
at process._tickCallback (internal/process/next_tick.js:63:19)
[... lines matching original stack trace ...]
at bootstrapNodeJSCore (internal/bootstrap/node.js:623:3)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.