5个版本
0.4.5 | 2022年3月30日 |
---|---|
0.4.3 | 2022年3月23日 |
0.4.2 | 2022年3月22日 |
0.4.1 | 2022年3月21日 |
0.4.0 | 2022年3月19日 |
#967 在 硬件支持
87KB
2K SLoC
libdvb
libdvb 是 Linux 中 DVB-API v5 设备的接口库。
支持三种类型的传输系统
- 卫星:DVB-S, DVB-S2
- 地面:DVB-T, DVB-T2, ATSC, ISDB-T
- 有线电视:DVB-C
待办事项
- Cenelec EN 50221 - 条件访问和其他数字视频广播解码器应用通用接口规范
- DiSEqC 1.0
- DiSEqC 1.1
- EN 50494 - Unicable I
- EN 50607 - Unicable II
FeDevice
示例 DVB-S2 tune
let fe = FeDevice::open_rw(0, 0)?;
set_dtv_properties!(
fe,
DTV_DELIVERY_SYSTEM(SYS_DVBS2),
DTV_FREQUENCY((11044 - 9750) * 1000),
DTV_MODULATION(PSK_8),
DTV_VOLTAGE(SEC_VOLTAGE_13),
DTV_TONE(SEC_TONE_OFF),
DTV_INVERSION(INVERSION_AUTO),
DTV_SYMBOL_RATE(27500 * 1000),
DTV_INNER_FEC(FEC_AUTO),
DTV_PILOT(PILOT_AUTO),
DTV_ROLLOFF(ROLLOFF_35),
DTV_TUNE(()),
)?;
前端信息
let fe = FeDevice::open_ro(0, 0)?;
println!("{}", &fe);
前端状态
let fe = FeDevice::open_ro(0, 0)?;
let mut status = FeStatus::default();
status.read(&fe)?;
println!("{}", &status);
依赖项
~4.5MB
~90K SLoC