Skip to main content
https://img.shields.io/badge/Python-3.5,%203.6,%203.7,%203.8-green.svg https://img.shields.io/pypi/v/avbroadcast.svg https://img.shields.io/github/tag/media-toolbox/avbroadcast.svg

avbroadcast

About

avbroadcast republishes media streams for mass consumption. It is a wrapper around the fine ffmpeg and packager programs, so it is standing on the shoulders of giants.

Getting started

Install

If you know your way around Python, installing this software is really easy:

pip install avbroadcast

Please refer to the virtualenv page about further guidelines how to install and use this software.

Usage

Ingest media stream:

avbroadcast ingest \
    --stream="rtmp://184.72.239.149/vod/mp4:bigbuckbunny_450.mp4?reuse=1" \
    --base-port=50000 \
    --verbose

Package using HLS and publish to HTTP server:

avbroadcast publish \
    --name="bigbuckbunny" \
    --base-port=50000 \
    --target="http://localhost:6767/hls-live" \
    --verbose

Altogether now:

avbroadcast io \
    --name="bigbuckbunny" \
    --stream="rtmp://184.72.239.149/vod/mp4:bigbuckbunny_450.mp4?reuse=1" \
    --target="http://localhost:6767/hls-live" \
    --verbose

Watch output directory:

avbroadcast watch --path=/var/spool/hls-local

Usage with Docker

Build Docker image "mediatoolbox/avbroadcast:analyzer":

make build-docker-image

You might want to skip this step as Docker images are already available at https://hub.docker.com/r/mediatoolbox/avbroadcast

Make alias for easy access:

# Use avbroadcast shipped with Docker image.
alias avbroadcast='docker run --name avb --interactive --tty --rm mediatoolbox/avbroadcast:analyzer avbroadcast'

# Alternatively, use avbroadcast from working tree.
alias avbroadcast='docker run --name avb --volume `pwd`:/avbroadcast --interactive --tty --rm mediatoolbox/avbroadcast:analyzer avbroadcast'

Pre-flight check:

avbroadcast --version

Attach to running transcoder:

docker exec --interactive --tty avb /bin/bash

Usage with tmux

avbroadcast ... --tmux --analyze

Attach to Docker container and tmux manager at once:

docker exec --interactive --tty avb tmux attach -t avb

Quit pipeline either by detaching from tmux:

CTRL+B, D

or exit each program individually by typing:

4x CTRL+C

In both cases, the Docker container will stop - and also self-destroy when running with --rm.

Project information

avbroadcast is released under the terms of the GNU AGPL 3.0 license. The code and documentation live on GitHub, the Python package is published to PyPI.

The software has been tested on Python 3.5 and Python 3.7.

Contributing

If you’d like to contribute you’re most welcome! Spend some time taking a look around, locate a bug, design issue or spelling mistake and then send us a pull request or create an issue.

Thanks in advance for your efforts, we really appreciate any help or feedback.

License

This software is copyright (c) 2018-2019 The avbroadcast authors. All rights reserved.

It is and will always be free and open source software.

Use of the source code included here is governed by the GNU Affero General Public License and the European Union Public License.


Have fun!

Release files for avbroadcast 0.8.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for avbroadcast 0.8.0
File Size Uploaded Provenance
avbroadcast-0.8.0.tar.gz 10.7 kB Without provenance Details

Release files / avbroadcast-0.8.0.tar.gz

Download URL avbroadcast-0.8.0.tar.gz
Size 10.7 kB
Tags Source
SHA-256 checksum
How to use checksums
b26340fae67ae39437a3a10f8ed8a55eb30ddfcd6d8a1096d8dab27026f03515
BLAKE2b-256 checksum
How to use checksums
c22104a1f1bdfd2957c10bdef3d0323fbd405d313b7933a2fd3d9b82247e058d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.12.1 pkginfo/1.4.2 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/2.7.15

Security for avbroadcast 0.8.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page