Shairport-sync on OpenWRT

Vi bruger Apple Airplay til at distribuere musik i vores hus, vi har godt nok aldrig haft en apple airplay enhed, blot brugt airplay protokollen først som beskrevet i min post shairport fra 2015 og siden med shairport-sync. I begyndelsen skulle man selv downloade kildeteksten og installere den, nu er den typisk tilgængelig i et repository, og man skal blot installere og konfigurere det.  Jeg bruger mine openwrt routere der spredt ud over huset med et externt usb-sound-card, i tillæg til de netværks bootede pogo-plugs der kører Debian.

Her er hvad jeg gør for at få det til at spille under OpenWRT

opkg update
opkg install alsa-utils usbutils kmod-usb-audio
opkg install shairport-sync

Så skal den blot konfigureres en jomfruelig /etc/config/shairport-sync ser således ud:

# Use your own config file
config shairport-sync 'shairport_sync_file'
	option enabled '0'
	option respawn '1'
	option conf_custom '1'
	option conf_file '/etc/shairport-sync.conf'

# Use OpenWrt UCI config
config shairport-sync 'shairport_sync'
	option enabled '1'
	option respawn '1'
	# General
	option name '%h'
	option password ''
	option interpolation '' # basic/soxr
	option output_backend '' # alsa/pipe/stdout/ao/dummy/pulse/sndio
	option mdns_backend '' # avahi/external-avahi/dns-sd/external-dns-sd/tinysvcmdns
	option port '' # 5000
	option udp_port_base '' # 6001
	option udp_port_range '' # 100
	option statistics '' # no/yes
	option drift '' # 88
	option resync_threshold '' # 2205
	option log_verbosity '' # 0/1/2/3
	option ignore_volume_control '' # no/yes
	option volume_range_db '' # 30 to 150
	option regtype '' # _raop._tcp
	option playback_mode '' # stereo/mono
	# Metadata
	option metadata_enabled '' # no/yes
	option metadata_cover_art '' # no/yes
	option metadata_pipe_name '' # /tmp/shairport-sync-metadata
	option metadata_pipe_timeout '' # 5000
	option metadata_socket_address '' # 226.0.0.1
	option metadata_socket_port '' # 5555
	option metadata_socket_msglength # 65000
	# Session Control
	option sesctl_run_before_play_begins '' # /etc/shairport-sync-start.sh
	option sesctl_run_after_play_ends '' # /etc/shairport-sync-stop.sh
	option sesctl_wait_for_completion '' # no/yes
	option sesctl_session_interruption 'yes' # no/yes
	option sesctl_session_timeout '' # 120
	# ALSA
	option alsa_output_device '' # default
	option alsa_mixer_control_name '' # PCM
	option alsa_mixer_device '' # default
	option alsa_latency_offset '' # 0
	option alsa_buffer_length '' # 6615
	option alsa_disable_synchronization '' # no/yes
	option alsa_period_size '' # number
	option alsa_buffer_size '' # number
	# Pipe
	option pipe_name '' # /tmp/shairport-sync-audio
	option pipe_latency_offset '' # 0
	option pipe_buffer_length '' # 44100
	# Stdout
	option stdout_latency_offset '' # 0
	option stdout_buffer_length '' # 44100
	# AO
	option ao_latency_offset '' # 0
	option ao_buffer_length '' # 44100

Det eneste der behøves er:

# Use OpenWrt UCI config
config shairport-sync 'shairport_sync'
	option enabled '1'
	option respawn '1'
	option name '%h'
	option metadata_socket_msglength # 65000
	option sesctl_session_interruption 'yes' # no/yes

 

This entry was posted in Linux. Bookmark the permalink.