Install |SCTE-35 Cli |SCTE-35 Xml | Cue Class | Stream Class | Online SCTE-35 Parser | Encode SCTE-35 | FFmpeg SCTE35
Brought to you by the fine folks at fu-corp ( Adrian and the two blonde Chinese girls. )
âś… SCTE-35 Parser âś… SCTE-35 Encoder âś… SCTE-35 HLS âś… SCTE-35 Xml âś… SCTE-35 Cli âś… SCTE-35 library
- Parses SCTE-35 from MPEGTS, HLS, XML, XML+Binary, Base64, Bytes, Hex, Integers, or JSON.
- Encode SCTE-35 to Base64, Bytes, Hex, Int, JSON, Xml, or Xml+binary.
- Built-in network support for HTTP(S), UDP, and Multicast.
- Automatic AES decryption for HLS.
- All HLS SCTE-35 Tags are Supported.
Stay up to date, only the latest release is supported.
a@fu:~/build5/scte35/scte35$ pypy3
Python 3.9.16 (7.3.11+dfsg-2+deb12u3, Dec 30 2024, 22:36:23)
[PyPy 7.3.11 with GCC 12.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>> from threefive3 import Stream
>>>> strm=Stream('https://futzu.com/xaa.ts')
>>>> strm.decode()
- SCTE-35 Cli Super Tool Encodes, Decodes, and Recodes. This is pretty cool, it does SCTE-35 seven different ways.
- The cli tool comes with builtin documentation just type
threefive3 help
- The cli tool comes with builtin documentation just type
- SCTE-35 Xml The people wanted it so I finally did Xml.
- I feel cheap and dirty.
- The python built in help is always the most up to date docs for the library.
a@fu:~/build7/threefive3$ pypy3
Python 3.9.16 (7.3.11+dfsg-2+deb12u3, Dec 30 2024, 22:36:23)
[PyPy 7.3.11 with GCC 12.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>> from threefive import Stream
>>>> help(Stream)
- Cue Class Cue is the main SCTE-35 class to use.
- Stream Class The Stream class handles MPEGTS SCTE-35 streams local, Http(s), UDP, and Multicast.
-
Online SCTE-35 Parser Supporte Base64, Bytes,Hex,Int, Json, Xml, and Xml+binary.
- Damn.
-
Encode SCTE-35 Some encoding code examples.
-
FFmpeg SCTE35 FFmpeg with the SuperKabui SCTE-35 Patch applied.
- Hell Yes.
- python3 via pip
python3 -mpip install threefive3
- pypy3
pypy3 -mpip install threefive3
- from the git repo
git clone /~https://github.com/superkabuki/scte35.git
cd threefive3
make install
- SCTE-35 Inputs
- SCTE-35 Outputs
- Parse MPEGTS streams for SCTE-35
- Parse SCTE-35 in hls
- Display MPEGTS iframes
- Display raw SCTE-35 packets from video streams
- Repair SCTE-35 streams changed to bin data by ffmpeg
- Most inputs are auto-detected.
- stdin is auto selected and auto detected.
- SCTE-35 data is printed to stderr
- stdout is used when piping video
- mpegts can be specified by file name or URI.
threefive3 udp://@235.2.5.35:3535
- If a file comtains a SCTE-35 cue as a string( base64,hex,int,json,xml or xml+bin), redirect the file contents.
threefive3 < json.json
threefive3 < xml.xml
cat xml.xml | threefive3
- quoted strings(( base64,hex,int,json,xml or xml+bin), can be passed directly on the command line as well.
threefive3 '/DAWAAAAAAAAAP/wBQb+ztd7owAAdIbbmw=='
Input Type | Cli Example |
---|---|
Base64 | threefive3 '/DAsAAAAAyiYAP/wCgUAAAABf1+ZmQEBABECD0NVRUkAAAAAf4ABADUAAC2XQZU=' |
Hex | threefive3 0xfc301600000000000000fff00506fed605225b0000b0b65f3b |
HLS | threefive3 hls https://example.com/master.m3u8 |
JSON | threefive3 < json.json |
Xml | threefive3 < xml.xml |
Xmlbin | js threefive3 < xmlbin.xml |
Protocol | Cli Example |
---|---|
File | threefive3 video.ts |
Http(s) | threefive3 https://example.com/video.ts |
Stdin | threefive3 < video.ts |
UDP Multicast | threefive3 udp://@235.35.3.5:9999 |
UDP Unicast | threefive3 udp://10.0.0.7:5555 |
HLS | threefive3 hls https://example.com/master.m3u8 |
- output type is determined by the key words base64, bytes, hex, int, json, xml, and xmlbin.
- json is the default.
- Any input (except HLS,) can be returned as any output
- examples Base64 to Hex, or Mpegts to Xml, etc...)
Output Type | Cli Example |
---|---|
Base 64 | threefive3 0xfc301600000000000000fff00506fed605225b0000b0b65f3b base64 |
Bytes | threefive3 0xfc301600000000000000fff00506fed605225b0000b0b65f3b bytes |
Hex | threefive3 '/DAsAAAAAyiYAP/wCgUAAAABf1+ZmQEBABECD0NVRUkAAAAAf4ABADUAAC2XQZU=' hex |
Integer | threefive3 '/DAsAAAAAyiYAP/wCgUAAAABf1+ZmQEBABECD0NVRUkAAAAAf4ABADUAAC2XQZU=' int |
JSON | threefive3 0xfc301600000000000000fff00506fed605225b0000b0b65f3b json |
Xml | threefive3 '/DAsAAAAAyiYAP/wCgUAAAABf1+ZmQEBABECD0NVRUkAAAAAf4ABADUAAC2XQZU=' xml ` |
Xml+bin | threefive3 0xfc301600000000000000fff00506fed605225b0000b0b65f3b xmlbin |
- parse hls manifests and segments for SCTE-35
threefive3 hls https://example.com/master.m3u8
- Show iframes PTS in an MPEGTS video
threefive3 iframes https://example.com/video.ts
- Print raw SCTE-35 packets from multicast mpegts video
threefive3 packets udp://@235.35.3.5:3535
- Parse a https stream and write raw video to stdout
threefive3 proxy video.ts
- Print PTS from mpegts video
threefive3 pts video.ts
- Parse a stream, write pts,write SCTE-35 Cues to sidecar.txt
threefive3 sidecar video.ts
- Fix SCTE-35 data mangled by ffmpeg
threefive3 sixfix video.ts
- Probe mpegts video ( kind of like ffprobe )
threefive3 show video.ts
- Show version
threefive3 version
- Help
threefive3 help
Install |SCTE-35 Cli |SCTE-35 Xml | Cue Class | Stream Class | Online SCTE-35 Parser | Encode SCTE-35 | FFmpeg SCTE35