threefive continued.
Project description
threefive3 SCTE-35 cli tool and python3 library.
✅ 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, and Integers.
- Built-in network support for http(s), UDP, and Multicast.
- Automatic AES decryption for HLS.
- All HLS SCTE-35 Tags are Supported
- Install
- SCTE-35 Cli
- SCTE-35 Xml
- Cue Class
- Stream Class
- Online SCTE-35 Parser
- Encode SCTE-35
- FFmpeg SCTE35
MPEGTS streams can be parsed for SCTE-35 with three lines of code.
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 threefive import Stream
>>>> strm=Stream('https://futzu.com/xaa.ts')
>>>> strm.decode()
Install
- 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 scte35
make install
The Cli tool
The cli tool installs automatically with pip or the Makefile.
- 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
Inputs
- 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 |
Streams
| 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 |
Outputs
- 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 |
hls
- parse hls manifests and segments for SCTE-35
threefive3 hls https://example.com/master.m3u8
Iframes
- Show iframes PTS in an MPEGTS video
threefive3 iframes https://example.com/video.ts
packets
- Print raw SCTE-35 packets from multicast mpegts video
threefive3 packets udp://@235.35.3.5:3535
proxy
- Parse a https stream and write raw video to stdout
threefive3 proxy video.ts
pts
- Print PTS from mpegts video
threefive3 pts video.ts
sidecar
- Parse a stream, write pts,write SCTE-35 Cues to sidecar.txt
threefive3 sidecar video.ts
sixfix
- Fix SCTE-35 data mangled by ffmpeg
threefive3 sixfix video.ts
show
- Probe mpegts video ( kind of like ffprobe )
threefive3 show video.ts
version
- Show version
threefive3 version
help
- Help
threefive3 help
iodisco.com/scte35
Install |SCTE-35 Cli |SCTE-35 Xml | Cue Class | Stream Class | Online SCTE-35 Parser | Encode SCTE-35 FFmpeg SCTE35
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
threefive3-3.0.16.tar.gz
(54.6 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file threefive3-3.0.16.tar.gz.
File metadata
- Download URL: threefive3-3.0.16.tar.gz
- Upload date:
- Size: 54.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
710ce63fc040e3da08900b772a51e1c8d33e23410a84b2d2d8bc97a419595349
|
|
| MD5 |
a4fd2350e7f710c2c6e354bc794c06f7
|
|
| BLAKE2b-256 |
c96edae0a464bc41e0a55daa93e15144d7c6a12f109be29c1440f0e77c2afaae
|
File details
Details for the file threefive3-3.0.16-py3-none-any.whl.
File metadata
- Download URL: threefive3-3.0.16-py3-none-any.whl
- Upload date:
- Size: 59.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2cb9ef597952ace6bef3db28538ef5abdaf6a84e862850eecc4033a6e083232b
|
|
| MD5 |
f9bce12f6f775f648723c92cc7ddeeb4
|
|
| BLAKE2b-256 |
5526daa4e9fa8b68a6123daf5fdf7f9cfe1f081f3f2b9074b45670c5657f66dd
|