scte35


Namescte35 JSON
Version 0.0.17 PyPI version JSON
download
home_pagehttps://github.com/superkabuki/scte35
Summaryscte35 is a SCTE-35 Decoder and Encoder for MPEGTS, HLS and Everything else.
upload_time2024-12-10 07:12:45
maintainerNone
docs_urlNone
authorAdrian of Doom
requires_python>=3.6
licenseNone
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # `scte35`
threefive continued.  SCTE-35 for the People.

# `Install`
* python3 via pip
```rebol
python3 -mpip install scte35
```
* pypy3 
```rebol
pypy3 -mpip install scte35
```
* from the git repo
```rebol
git clone https://github.com/superkabuki/scte35.git
cd scte35
make install
```
___


# `The Cli tool`
* [Inputs](#inputs)
* [Outputs](#outputs)
* [streams](#streams)

### `Inputs` 
* the cli can __decode SCTE-35__ from
 * [__Base64__](#base64)
 * [__Hex,__](#hex)
 * [__HLS,__](#hls)
 * [__JSON,__](#json)
 * [__Xml,__](#xml)
 * [__Xml+Bin__](#xmlbin)
 * [__MPEGTS Streams__](#streams)

* 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__
#### `Base64` 
* parse SCTE-35 encoded in Base64
```rebol
scte35 '/DAsAAAAAyiYAP/wCgUAAAABf1+ZmQEBABECD0NVRUkAAAAAf4ABADUAAC2XQZU='
```

#### `Hex`
* parse SCTE-35 encoded in Hex
```rebol
scte35 0xfc302c00000003289800fff00a05000000017f5f999901010011020f43554549000000007f8001003500002d974195
```

#### `HLS`

* parse SCTE-35 from HLS manifests and segments
```rebol
scte35 hls https://example.com/master.m3u8
```

#### `Json`

```rebol
cat json.json | scte35
```
#### `Xml`
* you can make a xml.xml file like this:
  * redirect 2 (stderr) to the file 
```awk
./scte352  '/DAsAAAAAyiYAP/wCgUAAAABf1+ZmQEBABECD0NVRUkAAAAAf4ABADUAAC2XQZU=' xml 2> xml.xml
```
* pass in
```rebol
scte35  < xml.xml
```
#### `Xmlbin`

```rebol
scte35 < xmlbin.xml
```
___
### `Outputs`

 * the cli can __encode SCTE-35__ to
 * [__Base64__](#base64-1)
 * [__Bytes__](#bytes)
 * [__Hex,__](#hex-1)
 * [__HLS,__](#hls-1)
 * [__JSON,__](#json-1)
 * [__Xml,__](#xml-1)
 * [__Xml+Bin__](#xmlbin-1)

* default output is `json`

#### json
```rebol
scte35 '/DAsAAAAAyiYAP/wCgUAAAABf1+ZmQEBABECD0NVRUkAAAAAf4ABADUAAC2XQZU='
```

#### `base64`
```rebol
scte35 '/DAsAAAAAyiYAP/wCgUAAAABf1+ZmQEBABECD0NVRUkAAAAAf4ABADUAAC2XQZU=' base64
```
#### `bytes`
```rebol
scte35 '/DAsAAAAAyiYAP/wCgUAAAABf1+ZmQEBABECD0NVRUkAAAAAf4ABADUAAC2XQZU=' bytes
```
#### `hex`
```rebol
scte35 '/DAsAAAAAyiYAP/wCgUAAAABf1+ZmQEBABECD0NVRUkAAAAAf4ABADUAAC2XQZU=' hex
```
#### `int`
```rebol
scte35 '/DAsAAAAAyiYAP/wCgUAAAABf1+ZmQEBABECD0NVRUkAAAAAf4ABADUAAC2XQZU=' int
```
#### `xml`
```rebol
scte35 '/DAsAAAAAyiYAP/wCgUAAAABf1+ZmQEBABECD0NVRUkAAAAAf4ABADUAAC2XQZU=' xml
```
#### `xml+bin`
```rebol
scte35 '/DAsAAAAAyiYAP/wCgUAAAABf1+ZmQEBABECD0NVRUkAAAAAf4ABADUAAC2XQZU=' xmlbin
```
___
## Streams
### `File and Network Protocols`

#### `File` 
```rebol
scte35 video.ts
```
#### `Http(s)` 
```rebol
scte35 https://example.com/master.m3u8
```
#### `Multicast`
```rebol
scte35 udp://@235.35.3.5:9999
```
#### `stdin`
```rebol
cat video.ts | scte35
```
#### `Udp Unicast`
```rebol
scte35 udp://10.0.0.7:5555
```
___

### `hls`
* parse hls manifests and segments for SCTE-35
```rebol
scte35 hls https://example.com/master.m3u8
```
___
### `Iframes`
* Show iframes PTS in an MPEGTS video
```rebol
scte35 iframes https://example.com/video.ts
```
___
### `packets`   
* Print raw SCTE-35 packets from multicast mpegts video
```rebol
scte35 packets udp://@235.35.3.5:3535
```
___
### `proxy`   
* Parse a https stream and write raw video to stdout
```rebol
scte35 proxy video.ts
```
___
### `pts`    
* Print PTS from mpegts video
```rebol
 scte35 pts video.ts
```
___
### `sidecar`  
* Parse a stream, write pts,write SCTE-35 Cues to sidecar.txt
```rebol
  scte35 sidecar video.ts
```
___
### `sixfix`  
* Fix SCTE-35 data mangled by ffmpeg
```rebol
 scte35 sixfix video.ts
```
___
### `show`  

* Probe mpegts video _( kind of like ffprobe )_
```rebol
 scte35 show video.ts
```
___
### `version`     
* Show version
```rebol
 scte35 version
```
___
### `help`        
* Help
```rebol
 scte35 help
```
___



            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/superkabuki/scte35",
    "name": "scte35",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.6",
    "maintainer_email": null,
    "keywords": null,
    "author": "Adrian of Doom",
    "author_email": "spam@iodisco.com",
    "download_url": "https://files.pythonhosted.org/packages/e6/5b/032faf6f37388cc73b507bd216e5ffdf631b08a8083be3c24e454bec1c96/scte35-0.0.17.tar.gz",
    "platform": null,
    "description": "# `scte35`\nthreefive continued.  SCTE-35 for the People.\n\n# `Install`\n* python3 via pip\n```rebol\npython3 -mpip install scte35\n```\n* pypy3 \n```rebol\npypy3 -mpip install scte35\n```\n* from the git repo\n```rebol\ngit clone https://github.com/superkabuki/scte35.git\ncd scte35\nmake install\n```\n___\n\n\n# `The Cli tool`\n* [Inputs](#inputs)\n* [Outputs](#outputs)\n* [streams](#streams)\n\n### `Inputs` \n* the cli can __decode SCTE-35__ from\n * [__Base64__](#base64)\n * [__Hex,__](#hex)\n * [__HLS,__](#hls)\n * [__JSON,__](#json)\n * [__Xml,__](#xml)\n * [__Xml+Bin__](#xmlbin)\n * [__MPEGTS Streams__](#streams)\n\n* Most __inputs__ are __auto-detected.__ \n* __stdin__ is __auto selected__ and __auto detected.__\n* __SCTE-35 data is printed to stderr__\n* __stdout is used when piping video__\n#### `Base64` \n* parse SCTE-35 encoded in Base64\n```rebol\nscte35 '/DAsAAAAAyiYAP/wCgUAAAABf1+ZmQEBABECD0NVRUkAAAAAf4ABADUAAC2XQZU='\n```\n\n#### `Hex`\n* parse SCTE-35 encoded in Hex\n```rebol\nscte35 0xfc302c00000003289800fff00a05000000017f5f999901010011020f43554549000000007f8001003500002d974195\n```\n\n#### `HLS`\n\n* parse SCTE-35 from HLS manifests and segments\n```rebol\nscte35 hls https://example.com/master.m3u8\n```\n\n#### `Json`\n\n```rebol\ncat json.json | scte35\n```\n#### `Xml`\n* you can make a xml.xml file like this:\n  * redirect 2 (stderr) to the file \n```awk\n./scte352  '/DAsAAAAAyiYAP/wCgUAAAABf1+ZmQEBABECD0NVRUkAAAAAf4ABADUAAC2XQZU=' xml 2> xml.xml\n```\n* pass in\n```rebol\nscte35  < xml.xml\n```\n#### `Xmlbin`\n\n```rebol\nscte35 < xmlbin.xml\n```\n___\n### `Outputs`\n\n * the cli can __encode SCTE-35__ to\n * [__Base64__](#base64-1)\n * [__Bytes__](#bytes)\n * [__Hex,__](#hex-1)\n * [__HLS,__](#hls-1)\n * [__JSON,__](#json-1)\n * [__Xml,__](#xml-1)\n * [__Xml+Bin__](#xmlbin-1)\n\n* default output is `json`\n\n#### json\n```rebol\nscte35 '/DAsAAAAAyiYAP/wCgUAAAABf1+ZmQEBABECD0NVRUkAAAAAf4ABADUAAC2XQZU='\n```\n\n#### `base64`\n```rebol\nscte35 '/DAsAAAAAyiYAP/wCgUAAAABf1+ZmQEBABECD0NVRUkAAAAAf4ABADUAAC2XQZU=' base64\n```\n#### `bytes`\n```rebol\nscte35 '/DAsAAAAAyiYAP/wCgUAAAABf1+ZmQEBABECD0NVRUkAAAAAf4ABADUAAC2XQZU=' bytes\n```\n#### `hex`\n```rebol\nscte35 '/DAsAAAAAyiYAP/wCgUAAAABf1+ZmQEBABECD0NVRUkAAAAAf4ABADUAAC2XQZU=' hex\n```\n#### `int`\n```rebol\nscte35 '/DAsAAAAAyiYAP/wCgUAAAABf1+ZmQEBABECD0NVRUkAAAAAf4ABADUAAC2XQZU=' int\n```\n#### `xml`\n```rebol\nscte35 '/DAsAAAAAyiYAP/wCgUAAAABf1+ZmQEBABECD0NVRUkAAAAAf4ABADUAAC2XQZU=' xml\n```\n#### `xml+bin`\n```rebol\nscte35 '/DAsAAAAAyiYAP/wCgUAAAABf1+ZmQEBABECD0NVRUkAAAAAf4ABADUAAC2XQZU=' xmlbin\n```\n___\n## Streams\n### `File and Network Protocols`\n\n#### `File` \n```rebol\nscte35 video.ts\n```\n#### `Http(s)` \n```rebol\nscte35 https://example.com/master.m3u8\n```\n#### `Multicast`\n```rebol\nscte35 udp://@235.35.3.5:9999\n```\n#### `stdin`\n```rebol\ncat video.ts | scte35\n```\n#### `Udp Unicast`\n```rebol\nscte35 udp://10.0.0.7:5555\n```\n___\n\n### `hls`\n* parse hls manifests and segments for SCTE-35\n```rebol\nscte35 hls https://example.com/master.m3u8\n```\n___\n### `Iframes`\n* Show iframes PTS in an MPEGTS video\n```rebol\nscte35 iframes https://example.com/video.ts\n```\n___\n### `packets`   \n* Print raw SCTE-35 packets from multicast mpegts video\n```rebol\nscte35 packets udp://@235.35.3.5:3535\n```\n___\n### `proxy`   \n* Parse a https stream and write raw video to stdout\n```rebol\nscte35 proxy video.ts\n```\n___\n### `pts`    \n* Print PTS from mpegts video\n```rebol\n scte35 pts video.ts\n```\n___\n### `sidecar`  \n* Parse a stream, write pts,write SCTE-35 Cues to sidecar.txt\n```rebol\n  scte35 sidecar video.ts\n```\n___\n### `sixfix`  \n* Fix SCTE-35 data mangled by ffmpeg\n```rebol\n scte35 sixfix video.ts\n```\n___\n### `show`  \n\n* Probe mpegts video _( kind of like ffprobe )_\n```rebol\n scte35 show video.ts\n```\n___\n### `version`     \n* Show version\n```rebol\n scte35 version\n```\n___\n### `help`        \n* Help\n```rebol\n scte35 help\n```\n___\n\n\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "scte35 is a SCTE-35 Decoder and Encoder for MPEGTS, HLS and Everything else.",
    "version": "0.0.17",
    "project_urls": {
        "Homepage": "https://github.com/superkabuki/scte35"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "880b0bd832c13807e2198671281315d980fd609e6fc648f9cdffe596849f7830",
                "md5": "f3dd909813dd6346056abbaa6dc86d12",
                "sha256": "35127b1e45edddce13508e3b31c9456421ddb2c8f1ce5a385dcb6d48fa683b17"
            },
            "downloads": -1,
            "filename": "scte35-0.0.17-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "f3dd909813dd6346056abbaa6dc86d12",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.6",
            "size": 49569,
            "upload_time": "2024-12-10T07:12:42",
            "upload_time_iso_8601": "2024-12-10T07:12:42.077180Z",
            "url": "https://files.pythonhosted.org/packages/88/0b/0bd832c13807e2198671281315d980fd609e6fc648f9cdffe596849f7830/scte35-0.0.17-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "e65b032faf6f37388cc73b507bd216e5ffdf631b08a8083be3c24e454bec1c96",
                "md5": "a6d4fe28d66aae210398a2cf277126c9",
                "sha256": "4e3a5ab5ab8fcb79747b077f5d2be943e0646e0d38011a982e64626ef32ac182"
            },
            "downloads": -1,
            "filename": "scte35-0.0.17.tar.gz",
            "has_sig": false,
            "md5_digest": "a6d4fe28d66aae210398a2cf277126c9",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.6",
            "size": 43833,
            "upload_time": "2024-12-10T07:12:45",
            "upload_time_iso_8601": "2024-12-10T07:12:45.495451Z",
            "url": "https://files.pythonhosted.org/packages/e6/5b/032faf6f37388cc73b507bd216e5ffdf631b08a8083be3c24e454bec1c96/scte35-0.0.17.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-12-10 07:12:45",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "superkabuki",
    "github_project": "scte35",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "scte35"
}
        
Elapsed time: 0.42479s