Jump to content

Pam rd jackd rivendell daemons: Difference between revisions

From Rivendell Wiki
Created page with "```mediawiki = Rivendell Daemons, JACK Audio System, and PAM Integration = In a Rivendell radio automation environment, the '''Rivendell daemons''', the '''JACK Audio Connection Kit (jackd)''', and the '''pam_rd PAM module''' work together to provide user authentication, audio routing, scheduling, recording, and playout services. Rivendell supports JACK as an audio driver and includes PAM integration for multi-user authentication. 【1-ef4425】【2-3e5dbb】 == JACK A..."
 
 
(One intermediate revision by the same user not shown)
Line 2: Line 2:
= Rivendell Daemons, JACK Audio System, and PAM Integration =
= Rivendell Daemons, JACK Audio System, and PAM Integration =


In a Rivendell radio automation environment, the '''Rivendell daemons''', the '''JACK Audio Connection Kit (jackd)''', and the '''pam_rd PAM module''' work together to provide user authentication, audio routing, scheduling, recording, and playout services. Rivendell supports JACK as an audio driver and includes PAM integration for multi-user authentication. 【1-ef4425】【2-3e5dbb】
In a Rivendell radio automation environment, the '''Rivendell daemons''', the '''JACK Audio Connection Kit (jackd)''', and the '''pam_rd PAM module''' work together to provide user authentication, audio routing, scheduling, recording, and playout services. Rivendell supports JACK as an audio driver and includes PAM integration for multi-user authentication.


== JACK Audio System (jackd) ==
== JACK Audio System (jackd) ==


JACK (Jack Audio Connection Kit) is a low-latency audio server that provides a centralized audio routing layer between Rivendell applications and physical audio hardware. Rivendell can use JACK as its primary audio driver. 【2-3e5dbb】
JACK (Jack Audio Connection Kit) is a low-latency audio server that provides a centralized audio routing layer between Rivendell applications and physical audio hardware. Rivendell can use JACK as its primary audio driver.


=== Functions of JACK ===
=== Functions of JACK ===


* Manages audio interfaces and sound devices. 【2-3e5dbb】
* Manages audio interfaces and sound devices.
* Provides low-latency audio transport between applications. 【2-3e5dbb】
* Provides low-latency audio transport between applications.
* Creates virtual audio ports that applications can connect to. 【2-3e5dbb】
* Creates virtual audio ports that applications can connect to.
* Allows multiple applications to share and route audio streams without direct hardware access. 【2-3e5dbb】
* Allows multiple applications to share and route audio streams without direct hardware access.


=== JACK Workflow ===
=== JACK Workflow ===
Line 30: Line 30:
</pre>
</pre>


For example, audio recorded by RDCatch can be routed through JACK to storage, while audio played by RDAirPlay can be routed through JACK to a broadcast console or transmitter chain. 【1-ef4425】【2-3e5dbb】
For example, audio recorded by RDCatch can be routed through JACK to storage, while audio played by RDAirPlay can be routed through JACK to a broadcast console or transmitter chain.


== Rivendell Daemons ==
== Rivendell Daemons ==


Rivendell relies on several background processes (daemons) that provide automation and control services. These daemons run continuously and support the various Rivendell applications. 【1-ef4425】
Rivendell relies on several background processes (daemons) that provide automation and control services. These daemons run continuously and support the various Rivendell applications.


=== rdcatchd ===
=== rdcatchd ===
Line 40: Line 40:
The '''rdcatchd''' daemon is responsible for:
The '''rdcatchd''' daemon is responsible for:


* Managing scheduled recordings. 【1-ef4425】
* Managing scheduled recordings.  
* Executing automated recording events. 【1-ef4425】
* Executing automated recording events.  
* Receiving audio through configured audio drivers such as JACK. 【1-ef4425】【2-3e5dbb】
* Receiving audio through configured audio drivers such as JACK.  


=== ripcd ===
=== ripcd ===
Line 50: Line 50:
Functions include:
Functions include:


* Communication between Rivendell applications. 【1-ef4425】【3-1ff375】
* Communication between Rivendell applications.  
* GPIO and automation event handling. 【3-1ff375】
* GPIO and automation event handling.  
* Coordination of system-wide control messages. 【3-1ff375】
* Coordination of system-wide control messages.  


=== Other Rivendell Applications ===
=== Other Rivendell Applications ===
Line 58: Line 58:
Applications that interact with these services include:
Applications that interact with these services include:


* RDAirPlay (On-air playout) 【1-ef4425】
* RDAirPlay (On-air playout)  
* RDPanel (Cart wall application) 【1-ef4425】
* RDPanel (Cart wall application)  
* RDLibrary (Audio library management) 【1-ef4425】
* RDLibrary (Audio library management)  
* RDLogManager (Log generation and scheduling) 【1-ef4425】
* RDLogManager (Log generation and scheduling)  


These applications communicate with Rivendell services while using JACK for audio transport. 【1-ef4425】【2-3e5dbb】
These applications communicate with Rivendell services while using JACK for audio transport.  


== PAM Integration (pam_rd) ==
== PAM Integration (pam_rd) ==


Rivendell includes a PAM (Pluggable Authentication Module) component called '''pam_rd'''. Documentation for this component is distributed as ''pam_rd.txt'' and provides support for authentication and multi-user environments. 【3-1ff375】【1-ef4425】
Rivendell includes a PAM (Pluggable Authentication Module) component called '''pam_rd'''. Documentation for this component is distributed as ''pam_rd.txt'' and provides support for authentication and multi-user environments.  


=== Purpose of pam_rd ===
=== Purpose of pam_rd ===
Line 73: Line 73:
The pam_rd module enables:
The pam_rd module enables:


* User authentication through the Linux PAM framework. 【3-1ff375】【1-ef4425】
* User authentication through the Linux PAM framework.  
* Multi-user workstation support. 【3-1ff375】
* Multi-user workstation support.  
* Integration between Linux authentication and Rivendell user management. 【1-ef4425】【3-1ff375】
* Integration between Linux authentication and Rivendell user management.  
* Access control for Rivendell applications and services. 【3-1ff375】
* Access control for Rivendell applications and services.


=== Authentication Process ===
=== Authentication Process ===
Line 96: Line 96:
</pre>
</pre>


When a user launches a Rivendell application or logs into a Rivendell workstation, the PAM framework invokes pam_rd to validate credentials and determine authorization for Rivendell resources. 【3-1ff375】【1-ef4425】
When a user launches a Rivendell application or logs into a Rivendell workstation, the PAM framework invokes pam_rd to validate credentials and determine authorization for Rivendell resources.  


== Relationship Between Daemons, JACK, and PAM ==
== Relationship Between Daemons, JACK, and PAM ==
Line 121: Line 121:
</pre>
</pre>


* '''pam_rd''' authenticates and authorizes users. 【3-1ff375】【1-ef4425】
* '''pam_rd''' authenticates and authorizes users.  
* '''Rivendell daemons''' perform automation, scheduling, recording, and system coordination tasks. 【1-ef4425】
* '''Rivendell daemons''' perform automation, scheduling, recording, and system coordination tasks.  
* '''jackd''' transports audio between Rivendell applications and audio devices with low latency. 【2-3e5dbb】
* '''jackd''' transports audio between Rivendell applications and audio devices with low latency.


== Summary ==
== Summary ==
Line 129: Line 129:
In a Rivendell installation:
In a Rivendell installation:


* '''pam_rd''' determines who can access the system. 【3-1ff375】【1-ef4425】
* '''pam_rd''' determines who can access the system.  
* '''Rivendell daemons''' manage broadcast automation functions and interprocess communications. 【1-ef4425】【3-1ff375】
* '''Rivendell daemons''' manage broadcast automation functions and interprocess communications.
* '''jackd''' provides the low-latency audio infrastructure used for recording, playback, and audio routing. 【2-3e5dbb】
* '''jackd''' provides the low-latency audio infrastructure used for recording, playback, and audio routing.  


Together, these components provide a secure, multi-user broadcast automation platform capable of professional radio playout and recording workflows. 【1-ef4425】【3-1ff375】【2-3e5dbb】
Together, these components provide a secure, multi-user broadcast automation platform capable of professional radio playout and recording workflows.
```

Latest revision as of 11:32, 2 July 2026

```mediawiki

Rivendell Daemons, JACK Audio System, and PAM Integration

In a Rivendell radio automation environment, the Rivendell daemons, the JACK Audio Connection Kit (jackd), and the pam_rd PAM module work together to provide user authentication, audio routing, scheduling, recording, and playout services. Rivendell supports JACK as an audio driver and includes PAM integration for multi-user authentication.

JACK Audio System (jackd)

JACK (Jack Audio Connection Kit) is a low-latency audio server that provides a centralized audio routing layer between Rivendell applications and physical audio hardware. Rivendell can use JACK as its primary audio driver.

Functions of JACK

  • Manages audio interfaces and sound devices.
  • Provides low-latency audio transport between applications.
  • Creates virtual audio ports that applications can connect to.
  • Allows multiple applications to share and route audio streams without direct hardware access.

JACK Workflow

Audio Source
     │
     ▼
   jackd
     │
     ▼
Rivendell Application
     │
     ▼
 Audio Output Device

For example, audio recorded by RDCatch can be routed through JACK to storage, while audio played by RDAirPlay can be routed through JACK to a broadcast console or transmitter chain.

Rivendell Daemons

Rivendell relies on several background processes (daemons) that provide automation and control services. These daemons run continuously and support the various Rivendell applications.

rdcatchd

The rdcatchd daemon is responsible for:

  • Managing scheduled recordings.
  • Executing automated recording events.
  • Receiving audio through configured audio drivers such as JACK.

ripcd

The ripcd daemon provides Rivendell interprocess communications and automation services.

Functions include:

  • Communication between Rivendell applications.
  • GPIO and automation event handling.
  • Coordination of system-wide control messages.

Other Rivendell Applications

Applications that interact with these services include:

  • RDAirPlay (On-air playout)
  • RDPanel (Cart wall application)
  • RDLibrary (Audio library management)
  • RDLogManager (Log generation and scheduling)

These applications communicate with Rivendell services while using JACK for audio transport.

PAM Integration (pam_rd)

Rivendell includes a PAM (Pluggable Authentication Module) component called pam_rd. Documentation for this component is distributed as pam_rd.txt and provides support for authentication and multi-user environments.

Purpose of pam_rd

The pam_rd module enables:

  • User authentication through the Linux PAM framework.
  • Multi-user workstation support.
  • Integration between Linux authentication and Rivendell user management.
  • Access control for Rivendell applications and services.

Authentication Process

User Login
     │
     ▼
Linux PAM Framework
     │
     ▼
pam_rd
     │
     ▼
Rivendell User Authorization
     │
     ▼
Access Granted / Denied

When a user launches a Rivendell application or logs into a Rivendell workstation, the PAM framework invokes pam_rd to validate credentials and determine authorization for Rivendell resources.

Relationship Between Daemons, JACK, and PAM

The components work together as follows:

Operator
    │
    ▼
 PAM / pam_rd
    │
    ▼
Rivendell Applications
    │
    ▼
Rivendell Daemons
    │
    ▼
 JACK (jackd)
    │
    ▼
Audio Hardware
  • pam_rd authenticates and authorizes users.
  • Rivendell daemons perform automation, scheduling, recording, and system coordination tasks.
  • jackd transports audio between Rivendell applications and audio devices with low latency.

Summary

In a Rivendell installation:

  • pam_rd determines who can access the system.
  • Rivendell daemons manage broadcast automation functions and interprocess communications.
  • jackd provides the low-latency audio infrastructure used for recording, playback, and audio routing.

Together, these components provide a secure, multi-user broadcast automation platform capable of professional radio playout and recording workflows.