commit 3b8028ffc135f3f2fc07dbb32a8ab4a4f9e12510 Author: pstruebi Date: Tue Jul 15 16:38:04 2025 +0200 initial commit diff --git a/90-pipewire-aes67-ptp.rules b/90-pipewire-aes67-ptp.rules new file mode 100644 index 0000000..22f39ff --- /dev/null +++ b/90-pipewire-aes67-ptp.rules @@ -0,0 +1,6 @@ +# This file was installed by PipeWire project for its pipewire-aes67 +# +# This is used to give readonly access to the PTP hardware clock. +# PipeWire uses this to follow PTP grandmaster time. It should be synced by another service +# +KERNEL=="ptp[0-9]*", MODE="0644" diff --git a/README.md b/README.md new file mode 100644 index 0000000..f4fe361 --- /dev/null +++ b/README.md @@ -0,0 +1,35 @@ +# Prerequisites +sudo rpi-update +sudo apt install pipewire linuxptp + +# add udev rule +sudo cp 90-pipewire-aes67-ptp.rules /etc/udev/rules.d/ +sudo udevadm control --reload-rules && sudo udevadm trigger + + +# set up aes67.conf +ptp4l -mq -i eth0 -f aes67.conf + +# make a copy of pipewire setup file +sudo cp /usr/share/pipewire/pipewire-aes67.conf ~/.config/pipewire/ + +# start pipewire +pipewire-aes67 + +# show devices +pw-cli ls Node +pw-link -o # List output ports (sources, e.g. rtp-sink) +pw-link -i # List input ports (sinks, e.g. Jabra SPEAK 410) + +# Attach a monitor +pw-link rtp-sink:monitor_CH1 alsa_output.usb-0b0e_Jabra_SPEAK_410_USB_08C8C2AE9777x011200-00.analog-stereo:playback_FL +pw-link rtp-sink:monitor_CH2 alsa_output.usb-0b0e_Jabra_SPEAK_410_USB_08C8C2AE9777x011200-00.analog-stereo:playback_FR + +# show links +pw-link -l + +# test +apt install ffmpeg +ffmpeg -re -i /usr/share/sounds/alsa/Front_Center.wav \ + -acodec pcm_s16le -ar 48000 -ac 2 \ + -f rtp rtp://239.69.150.243:5004 \ No newline at end of file diff --git a/aes67.conf b/aes67.conf new file mode 100644 index 0000000..d1931cc --- /dev/null +++ b/aes67.conf @@ -0,0 +1,11 @@ +[global] +# Avoid becoming the Grandmaster +priority1 255 +# Converge faster when time jumps +step_threshold 1 +## AES67 Profile options +# Send Sync messages more often +logSyncInterval -3 +# QoS +dscp_event 46 +dscp_general 34 \ No newline at end of file