Skip to main content

A library for decoding/encoding TTML RTP payloads

Project description

rtpPayload_ttml

This python library provides a means to decode, encode, and interact with TTML RTP payloads as defined in RFC 8759. It is designed for use with an RTP library such as RTP. It only encodes/decodes the payload bitstreams. It DOES NOT provide a means to render or edit TTML documents. It also doesn't provide any network functionality. To send these payloads over UDP, check out rtpTTML.

Installation

pip install rtpPayload-ttml

Example usage

from rtp import RTP, PayloadType, Extension
from rtpPayload_ttml import RTPPayload_TTML
from copy import deepcopy

baseRTP = RTP(
    marker=True,
    payloadType=PayloadType.DYNAMIC_96,
    extension=Extension(
        startBits=getExtStartBits(),
        headerExtension=getExtBody()
        ),
    csrcList=getCSRCList()
)
thisRTPBitstream = baseRTP.toBytearray()

while runing:
    nextRTP = deepcopy(baseRTP)
    nextRTP.sequenceNumber += 1
    nextRTP.timestamp = getNextTimestamp()
    nextRTP.payload = RTPPayload_TTML(userDataWords=getNextDoc())

    transmit(nextRTP)
from rtp import RTP
from rtpPayload_ttml import RTPPayload_TTML

decodedPayload = RTPPayload_TTML.fromBytearray(
    RTP().fromBytearray(getNextPacket()).payload)
document = decodedPayload.userDataWords

render(document)

Contributing

We desire that contributors of pull requests have signed, and submitted via email, a Contributor Licence Agreement (CLA), which is based on the Apache CLA.

The purpose of this agreement is to clearly define the terms under which intellectual property has been contributed to the BBC and thereby allow us to defend the project should there be a legal dispute regarding the software at some future time.

If you haven't signed and emailed the agreement yet then the project owners will contact you using the contact info with the pull request.

License

See LICENSE.

Authors

  • James Sandford

For further information, contact cloudfit-opensource@rd.bbc.co.uk

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

rtpPayload_ttml-0.0.3-py3-none-any.whl (5.9 kB view details)

Uploaded Python 3

File details

Details for the file rtpPayload_ttml-0.0.3-py3-none-any.whl.

File metadata

File hashes

Hashes for rtpPayload_ttml-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 76eb163efc57def33c4199783ab344f278c588a07dc83db05edeb684d9ad27f8
MD5 de17d54f8d5310d74cd6461f8076d746
BLAKE2b-256 df62f8aadf9e778c9ebeea618f78d35991aefc86c2952fad76f2e777060337dd

See more details on using hashes here.

Supported by

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