https://github.com/media-toolbox/avbroadcast
avbroadcast - republish media streams for mass consumption
https://github.com/media-toolbox/avbroadcast
Last synced: 1 day ago
JSON representation
avbroadcast - republish media streams for mass consumption
- Host: GitHub
- URL: https://github.com/media-toolbox/avbroadcast
- Owner: media-toolbox
- License: agpl-3.0
- Created: 2018-11-12T02:41:25.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2019-03-25T11:12:55.000Z (about 6 years ago)
- Last Synced: 2024-11-07T21:42:49.343Z (5 months ago)
- Language: Python
- Homepage:
- Size: 85.9 KB
- Stars: 11
- Watchers: 5
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.rst
- License: LICENSE
Awesome Lists containing this project
- awesome-video - media-toolbox/avbroadcast: avbroadcast - republish media streams for mass consumption - avbroadcast - republish media streams for mass consumption - media-toolbox/avbroadcast (Encoding / Talks Presentations Podcasts)
README
.. image:: https://img.shields.io/badge/Python-3.5,%203.6,%203.7,%203.8-green.svg
:target: https://pypi.org/project/avbroadcast/.. image:: https://img.shields.io/pypi/v/avbroadcast.svg
:target: https://pypi.org/project/avbroadcast/.. image:: https://img.shields.io/github/tag/media-toolbox/avbroadcast.svg
:target: https://github.com/media-toolbox/avbroadcast|
###########
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... _ffmpeg: https://ffmpeg.org/
.. _packager: https://github.com/google/shaka-packager/.. attention::
Please note some of its functionality is based on the new `HTTP upload feature`_
of Shaka Packager which is a work in progress. It is currently living
in the `http-upload branch`_ and is being tracked at `issue #149`_.Please use the beta-build `packager-linux`_ for your own experiments,
which is also available through the corresponding Docker baseline image... _HTTP upload feature: https://github.com/3QSDN/shaka-packager/blob/http-upload/docs/source/tutorials/http_upload.rst
.. _issue #149: https://github.com/google/shaka-packager/issues/149
.. _http-upload branch: https://github.com/3QSDN/shaka-packager/tree/http-upload
.. _packager-linux: https://packages.elmyra.de/3q/foss/packager-linux-http-upload***************
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.
.. _virtualenv: https://github.com/media-toolbox/avbroadcast/blob/master/doc/virtualenv.rst
Usage
=====
Ingest media stream::avbroadcast ingest \
--stream="rtmp://184.72.239.149/vod/mp4:bigbuckbunny_450.mp4?reuse=1" \
--base-port=50000 \
--verbosePackage using HLS and publish to HTTP server::
avbroadcast publish \
--name="bigbuckbunny" \
--base-port=50000 \
--target="http://localhost:6767/hls-live" \
--verboseAltogether now::
avbroadcast io \
--name="bigbuckbunny" \
--stream="rtmp://184.72.239.149/vod/mp4:bigbuckbunny_450.mp4?reuse=1" \
--target="http://localhost:6767/hls-live" \
--verboseWatch 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/avbroadcastMake 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 `_... _GNU-AGPL-3.0: https://github.com/media-toolbox/avbroadcast/blob/master/LICENSE
.. _EUPL-1.2: https://opensource.org/licenses/EUPL-1.1----
Have fun!