ASI Reader¶
Overview¶
ASI Reader is a module in mcaster designed for receiving video from ASI (Asynchronous Serial Interface) capture cards. The module provides reliable reception of MPTS (Multi-Program Transport Stream) flows and their transmission to multicast for further processing by other system components.
Supported Capture Cards¶
Dektec¶
- Full support for all Dektec ASI models
- Automatic signal parameter detection
- Support for all ASI standards
- Integration with Dektec SDK
Streamlabs¶
- Limited support for Streamlabs cards
- Basic ASI capture functions
- V4L2 compatibility
Softlab¶
- Limited support for Softlab cards
- Basic ASI reception functions
- V4L2 compatibility
Architecture¶
Operating Principle¶
- ASI signal capture from the card
- MPTS flow processing
- Multicast transmission to the specified address
- Capture by mpegts reader module for further processing
Connection Diagram¶
ASI Source → ASI Reader → Multicast → MPEGTS Reader → Processing
Importance of Multicast Architecture¶
Using multicast architecture is a necessary condition for ensuring streamer stability and independence from ASI card status. This provides:
- Separation of responsibilities between capture and processing
- Streamer independence from ASI card state
- Component restart capability without interrupting the flow
- Scalability — multiple consumers can receive one stream
- Fault tolerance — when there are problems with the card, the streamer continues to work with buffered data
Module Configuration¶
Basic Configuration¶
dvb_card asi_port_1 {
hw dektec_asi;
video_device 224.1.1.1:1000;
serial 2174223642;
port 1;
}
Configuration Parameters¶
Parameter | Description | Required | Example |
---|---|---|---|
hw |
Hardware type | Yes | dektec_asi |
video_device |
Multicast group address | Yes | 224.1.1.1:1000 |
serial |
Card serial number | Yes | 2174223642 |
port |
Port number on the card | Yes | 1 |
Extended Configuration¶
dvb_card asi_port_1 {
hw dektec_asi;
video_device 224.1.1.1:1000;
serial 2174223642;
port 1;
# Additional parameters
buffer_size 8192;
timeout 5000;
retry_count 3;
}
Card Serial Number Determination¶
Using DtInfoCL¶
To determine the Dektec card serial number, use the DtInfoCL utility:
- Download DtInfoCL from the official Dektec website
- Install the utility on the system
- Run the command to view connected devices:
# View all Dektec devices
dtinfocl --list-devices
# Detailed information about a specific device
dtinfocl --device 0 --info
DtInfoCL Output Example¶
Device 0: DTA-2174B
Serial Number: 2174223642
Firmware Version: 2.1.3
Ports: 4
Status: Ready
Integration with mpegts reader¶
Processing Chain Configuration¶
# ASI Reader - capture from card
dvb_card asi_port_1 {
hw dektec_asi;
video_device 224.1.1.1:1000;
serial 2174223642;
port 1;
}
# MPEGTS Reader - reception from multicast
stream asi_stream {
input mpts-udp://224.1.1.1:1000?programs=1070;
}
Troubleshooting¶
Common Problems¶
Card Not Detected¶
- Check ASI cable connection
- Verify serial number correctness
- Check Dektec drivers
- Use DtInfoCL for diagnostics
No Signal in Multicast¶
- Check multicast group settings
- Ensure port availability
- Check network settings
- Check module logs
Buffer Errors¶
- Increase buffer size
- Check system performance
- Optimize network settings
Diagnostic Commands¶
# Check multicast flow
tcpdump -i any -n host 224.1.1.1
# Test multicast connection
nc -u 224.1.1.1 1000
# Check Dektec device status
dtinfocl --list-devices
System Requirements¶
Hardware Requirements¶
- CPU: Minimum 2 cores
- RAM: 4 GB
- Network: Gigabit Ethernet for multicast
- ASI card: Supported Dektec/Streamlabs/Softlab model
Software Requirements¶
- Linux kernel 4.19+
- Dektec drivers (for Dektec cards)
- V4L2 support (for Streamlabs/Softlab)
- Multicast support in network
Network Requirements¶
- Multicast: Enabled in network infrastructure
- IGMP: Support for multicast management
- Ports: Availability of specified ports
Conclusion¶
ASI Reader provides a reliable solution for receiving ASI signals in the mcaster system. The module provides flexible configuration, integration with various capture cards, and efficient flow transmission through multicast for further processing. Using multicast architecture allows scaling the system and ensuring fault tolerance.