Parse and encoding of data using the SCTE-35 standard.
Go to file
Rafael Caricio abc1d82912
Show human readable time to serde repr
Adds a new field to the serde struct that represents a human readable
duration of time. This makes easier to debug the SCTE markers.

This commit also simplifies a bit the code using Default trait and other
simplifications.

Fixed the calculation of the sizes of sections in the final SCTE struct.
We were not calculating correctly the amount of bytes of the sections.
Now we use the Recorder pattern which returns the exact amount of bytes
written.
2022-05-06 00:29:10 +02:00
src Show human readable time to serde repr 2022-05-06 00:29:10 +02:00
.gitignore Initial version 2022-04-24 00:05:28 +02:00
Cargo.toml Segmentation descriptor with upid types 2022-05-03 13:40:39 +02:00
README.md Update readme 2022-05-03 16:54:39 +02:00

SCTE-35 lib and parser for Rust

Work in progress!

This library provide access to parse and encoding of data using the SCTE-35 standard. This standard is used by cable providers and broadcasters to insert signaling information into the video stream for advertising and other purposes. More information can be found at Digital Program Insertion Cueing Message for Cable.

Main Features

  • Parsing of SCTE-35 data (not yet implemented)
  • Encoding of SCTE-35 data
  • Serde integration for serialization into JSON or any other serde supported formats.

Implementation Overview

Implemented parts of the standard are:

  • Splice Info section
  • Splice Commands:
    • Splice Null
    • Splice Insert
    • Splice Schedule
    • Time Signal
    • Bandwidth Reservation
    • Splice Time
  • Splice Descriptors:
    • Avail
    • DTMF
    • Segmentation Descriptor
      • MPU
      • MID
  • Encryption Information section
    • Encryption Algorithms:
      • DES ECB mode
      • DES CBC mode
      • Triple DES EDE3 ECB mode
      • Customized encryption algorithm
    • CRC encryption calculation
  • CRC calculation