Supports windowed/resumable transcoding of recorded media codec packets by:
- Reading stored/archived media packets (e.g. pcap'd rtp)
- Reconstructs media frames (e.g. depacketized encoded frame fragmented by network protocol)
- Synchronizing frame streams (e.g. paired audio and video)
- Muxing frame stream(s) to a container (e.g. mkv file) using libav*
- Detecting stitching information used to seamlessly resume transcoding
- ...
Install devel libav*, e.g.:
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, e.g.:
sudo apt-get install libpcap-dev
if you need them.
If you just want to use it:
pip install marm
but if you are developing then get it:
git clone git@github.com:mayfieldrobotics/marm.git ~/code/marm
cd ~/code/marm
create a venv:
mkvirtualenv marm
workon marm
pip install Cython
pip install -e .[test]
and test it:
py.test test/ --cov marm --cov-report term-missing --pep8
todo
Tests pass:
py.test test/ --cov marm --cov-report term-missing --pep8
so update __version__
in marm/__init__.py
. Commit and tag it:
git commit -am "release v{version}"
git tag -a v{version} -m "release v{version}"
git push --tags