@scte104 (英语)
* ANSI/SCTE 104 2019r1
自动化系统到压缩系统通信应用程序接口(API)
* * 部分内容 宇航员实验室广播套件
@is04 (韩语) | @rfc8331 (法语) | @rtp (韩语) | @scte104 (英语) | @scte35 (英语) | @st2010 (英语) | @st291 (英语)
🚀 生产质量
该图书馆功能完备,已可投入生产使用.
以打字机完全执行SCTE-104 TCP/IP协议. 支持客户端和服务器,并包含命令行客户端.
内容提要
该图书馆提供低水平、符合要求的执行 自动化系统到压缩系统 TCP/IP 信号传输协议 在SCTE-104中指定。 它可以用来呼叫遵守 SCTE-104"注射器"或自行执行SCTE-104"注射器".
图书馆支持所有关于提供和警报管理的信息, 加密,调度,以及几乎所有在SCTE-104所指定的"简单配置"以外的信件. 未本地支持的信件仍然可以使用自定义执行发送和接收.
用途 @ 位流 来处理比特流序列化/去序化.
命令行客户端
这个软件包还包括一个简单的命令行客户端,用于向SCTE 104注射器/自定义系统发送快速相接起/端消息.
npm install @astronautlabs/scte104 -g
scte104 --server injector.example.com splice-start --immediate --program-id 12345
对于完整的一组选项,使用 scte104 --help。 。 。 .
客户端库
import * as SCTE104 from "@astronautlabs/scte104";
async function main(argv : string[]) {
let client = new SCTE104.Client();
await client.connect('10.10.10.0');
await client.init();
// Signal a spliceStart_normal in immediate mode
await client.multipleOperations({
operations: [
<SCTE104.Splice>{
opID: SCTE104.MOP.SPLICE,
splice_insert_type: SCTE104.SPLICE_START_NORMAL,
splice_event_id: Date.now() / 1000,
unique_program_id: 22211,
pre_roll_time: 4000,
break_duration: 0,
avail_num: 0,
avails_expected: 0,
auto_return_flag: 1
}
]
})
// spliceEnd_normal
await client.multipleOperations({
operations: [
<SCTE104.Splice>{
opID: SCTE104.MOP.SPLICE,
splice_insert_type: SCTE104.SPLICE_END_NORMAL,
splice_event_id: Date.now() / 1000,
unique_program_id: 22211,
pre_roll_time: 4000,
break_duration: 0,
avail_num: 0,
avails_expected: 0,
auto_return_flag: 1
}
]
})
}
main(process.argv.slice(1));
服务器库
import * as SCTE104 from '@astronautlabs/scte104';
let server = new SCTE104.Server();
server.messageReceived.subscribe(event => {
// For example:
if (event.message.opID == SCTE104.OP.INIT_REQUEST) {
await event.connection.sendMessage(new SCTE104.InitResponse().with({
result: SCTE104.RESULT.SUCCESS
}));
}
});
server.listen();
班级 event.message 取决于所发信件的类型.
它可以是一个子类 SingleOperationMessage 或类型对象 MultipleOperationMessage您可以比较 opID 区域
所发现的常数 SCTE104.OP 财务报告和审定财务报表 SCTE104.MOP,取决于类型
您感兴趣的操作.
event.connection 代表发送
留言。 这样你就可以在完成处理后回复
留言.
您( 作为图书馆的调用者) 要提供您自己的应用逻辑 . 服务器类只是暴露了接受104年客户端连接的能力, 订阅从该连接收到信件的通知并发送信件 回来.
路线图
- 为 SCTE-104 编码/解码辅助用例提供方便访问 API
- 在顶端提供可选的更高层次、有意见流利的API