@astronautlabs/scte104

中文文档
1.0.1发布于 2024/01/20MITTypeScriptCommonJS近 30 天下载 2438

SCTE-104 TCP/IP议定书的执行情况

中文使用文档
文档目录5 节
  1. 内容提要
  2. 命令行客户端
  3. 客户端库
  4. 服务器库
  5. 路线图

@scte104 (英语)

npm

* 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

版本与发布记录

@astronautlabs/scte104 共发布 26 个版本,首次发布于 2020/04/25;过去 12 个月发布了 0 个版本。

版本发布日期距今
1.0.1latest2024/01/202 年前
1.0.02022/11/113 年前
0.3.22022/11/113 年前
0.3.12022/11/113 年前
0.3.02022/11/113 年前
0.2.12022/10/224 年前

关于 @astronautlabs/scte104 的常见问题

@astronautlabs/scte104 是什么?

SCTE-104 TCP/IP议定书的执行情况

如何安装 @astronautlabs/scte104?

在项目目录运行 npm install @astronautlabs/scte104,或使用 pnpm add / yarn add / bun add。它还提供命令行工具 scte104,可以用 npx scte104 直接运行。

@astronautlabs/scte104 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@astronautlabs/scte104 支持 ESM 还是 CommonJS?

以 CommonJS 形式发布,可以直接 require();在 ES Module 项目中也可以用 import 引入(Node.js 会把 module.exports 作为默认导出)。

@astronautlabs/scte104 可以商用吗?

@astronautlabs/scte104 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@astronautlabs/scte104 的下载量有多少?

根据 npm 官方下载统计,@astronautlabs/scte104 在 2026/10/07 – 2026/11/05 这 30 天内被下载 2,438 次,日均约 81 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@astronautlabs/scte104 还在维护吗?

最新版本 1.0.1 发布于 2024/01/20(2 年前);至今共发布 26 个版本,其中过去 12 个月发布了 0 个;首次发布于 2020/04/25。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。