Skip to main content

Muxing archived media (and more!).

Project description

====
marm
====

.. image:: https://travis-ci.org/mayfieldrobotics/marm.svg
:target: https://travis-ci.org/mayfieldrobotics/marm

.. image:: https://coveralls.io/repos/mayfieldrobotics/marm/badge.svg?branch=master&service=github
:target: https://coveralls.io/github/mayfieldrobotics/marm?branch=master

.. image:: https://img.shields.io/pypi/v/marm.svg
:target: https://pypi.python.org/pypi/marm

Supports *windowed/resumable* transcoding of recorded media codec packets by:

- Reading stored/archived media packets (e.g. `pcap'd <http://www.tcpdump.org/pcap.html>`_ `rtp <https://tools.ietf.org/html/rfc3550>`_)
- Reconstructs media frames (e.g. depacketized encoded frame fragmented by network protocol)
- Synchronizes reconstructed media frame streams (e.g. paired audio and video)
- Muxing media frame stream(s) to a container (e.g. `mkv <http://www.matroska.org/>`_ file) using `libav* <http://www.ffmpeg.org/>`_
- Detecting *stitching* information used to seamlessly resumed transcoding
- ...

deps
----

Install devel `libav* <https://www.ffmpeg.org>`_, e.g.:

.. code:: bash

git clone git://source.ffmpeg.org/ffmpeg.git
cd ffmpeg
./configure --enable-gpl --enable-version3 --enable-nonfree --enable-gpl --enable-libass --enable-libfaac --enable-libfdk-aac --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264
make
sudo make install

and `libpcap <https://github.com/cisco/libsrtp>`_, e.g.:

.. code:: bash

sudo apt-get install libpcap-dev

if you need them.

install
-------

If you just want to use it:

.. code:: bash

pip install marm

but if you are developing then get it:

.. code:: bash

git clone git@github.com:mayfieldrobotics/marm.git ~/code/marm
cd ~/code/marm

create a `venv <https://virtualenv.pypa.io/en/latest/>`_:

.. code:: bash

mkvirtualenv marm
workon marm
pip install Cython
pip install -e .[test]

and test it:

.. code:: bash

py.test test/ --cov marm --cov-report term-missing --pep8

docs
----

**todo**

release
-------

Tests pass:

.. code:: bash

py.test test/ --cov marm --cov-report term-missing --pep8

so update ``__version__`` in ``marm/__init__.py``. Commit and tag it:

.. code:: bash

git commit -am "release v{version}"
git tag -a v{version} -m "release v{version}"
git push --tags

and `travis <https://travis-ci.org/mayfieldrobotics/marm>`_ will publish it to `pypi <https://pypi.python.org/pypi/marm/>`_.

Project details


Release history Release notifications

History Node

0.3.0

History Node

0.2.12

History Node

0.2.11

History Node

0.2.10

History Node

0.2.9

History Node

0.2.8

History Node

0.2.7

History Node

0.2.6

History Node

0.2.4

History Node

0.2.3

History Node

0.2.2

History Node

0.2.1

History Node

0.2.0

History Node

0.1.7

History Node

0.1.6

History Node

0.1.5

History Node

0.1.4

History Node

0.1.3

This version
History Node

0.1.2

History Node

0.1.1

History Node

0.1.0

History Node

0.0.0

Download files

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

Filename, size & hash SHA256 hash help File type Python version Upload date
marm-0.1.2.tar.gz (114.6 kB) Copy SHA256 hash SHA256 Source None Nov 23, 2015

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page