Skip to main content

threefive continued.

Project description

image

Latest version is v3.0.9

Why threefive3, why not just threefive?

  • Answer #1

    • Github F2A'ed out of my account, and I have no idea where I put the recovery codes. I have more than one Internet account, where I am supposed to keep all this data? Should I store in some company's cloud so they can read it or give it away to Eastern European script kiddies? F2A is complete nonsense. It doesn't matter how secure it is, if a security measure prevents me from accessing my account, that's not secure, that's locked out.
  • Answer #2

    • Two repos with the same name, would be confusing.
  • Answer #3

    • I wanted to rethink everything. After going through the code, I kept about 75% of it. I completely rewrote the Xml parser,I did a lot of work with the Cue class, HLS, and really tuned up the cli. The cli is amazing and super easy to use.
  • Answer #4

    • I came up with a really cool name, but it wasn't available on pypi.org for a package name.
  • Answer #5

    • Really, I was just getting a little bored with the whole thing, I just wanted to shake things up a little, keep it fun.
  • Answer #6

    • Have you seen chewy Tic Tacs? They're just mini jelly beans.
  • Answer #7

    • I'll tell you the truth, everything is a lie.
  • Answer #8

    • Obama is a lizard. I'm not sure about his wife.

How do I upgrade my code to threefive3?

Despite making a lot of changes, the api remains. threefive3 is pretty much a drop in replacement for threefive. I used sed to upgrade my code.

sed -i 's/threefive/threefive3/g'

One thing to note, calling load or decode is no longer necessary for the Cue class, however, the methods are there in case you do call them.

Is threefive3 faster than threefive?

threefive vs. threefive3 vs. threefive3 next release

image

  • testing was done on a beatup chrome book reporting 5GB of RAM running Debian Sid and PyPy 7.3.11

Now with Super Advanced Error Detection and Stuff.

  • This is super cool.
  • Does not generate Fatal errors, it won't break your process.
  • Displays what is in error and how to correct it.
  • Works in the cli
  • Works in code. image

Issues and Bugs.

  • If you think you have a bug, I'll quickly fix it, but first I need you to prove it to me. __Show me the entire error message, the code you're running, and if the SCTE-35 is in video, the video stream. You think your stream has proprietary data, we call those UPIDS. I am not going to spend my time trying to guess what your issue might be because you don't trust me.

Special Requests.

  • If need some work done, this is what I do for a living, you can hire me.
  • If you want to discuss your project open an issue and I'll send you my contact info.

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 audetects data being available on stdin and that allows it to autodetect the SCTE-35 format as well as MPEGTS steams. Now every SCTE-35 data format, except hls, is autodetected on the commandline, as well as stdin.HLS requires the hls ketyword.

The cli tool installs automatically with pip or the Makefile.

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
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 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

image image


Project details


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.9.tar.gz (51.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

threefive3-3.0.9-py3-none-any.whl (55.2 kB view details)

Uploaded Python 3

File details

Details for the file threefive3-3.0.9.tar.gz.

File metadata

  • Download URL: threefive3-3.0.9.tar.gz
  • Upload date:
  • Size: 51.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.7

File hashes

Hashes for threefive3-3.0.9.tar.gz
Algorithm Hash digest
SHA256 0b06798f8b95be11f2ecdff78c4bd3100496283dec8712e5c7254a4322fe0c48
MD5 df0f8d5fbbd10e22d006b1bd6fe8a6d5
BLAKE2b-256 7ac189a897f46e3bbbaae650f67e3d628f0ef44b59b12739f72e3e3caaace960

See more details on using hashes here.

File details

Details for the file threefive3-3.0.9-py3-none-any.whl.

File metadata

  • Download URL: threefive3-3.0.9-py3-none-any.whl
  • Upload date:
  • Size: 55.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.7

File hashes

Hashes for threefive3-3.0.9-py3-none-any.whl
Algorithm Hash digest
SHA256 36ce693e51499fea91c5e537990a8c494f9c9c8aaca31aa862c533d5f9c0fe63
MD5 df4d5dd9c2f2f907cef853457f2116a4
BLAKE2b-256 b5a5de8695c665aa40009ce7ee5a01f74865c2c9b356122dfc91137d7dc3d4ab

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page