Git Product home page Git Product logo

markuspfundstein / imf-frameserver Goto Github PK

View Code? Open in Web Editor NEW
5.0 2.0 0.0 34.16 MB

WIP: Frame server for Interoperable Master Format

Makefile 1.32% C 75.03% Shell 0.65% C++ 2.79% CMake 0.14% M4 0.08% Perl 5.67% Roff 0.04% Tcl 0.03% Java 0.09% Objective-C 2.23% Inno Setup 0.01% HTML 7.56% Python 0.41% DIGITAL Command Language 0.01% Assembly 3.80% eC 0.01% Module Management System 0.01% Emacs Lisp 0.01% XSLT 0.16%

imf-frameserver's Introduction

IMF Frameserver - (CPL decoder)

Goal

Open Source Program to decode Interoperable Master Format (IMF) CPL & OPL into raw audio and video so that we can pipe it into ffmpeg or other processors

This is a WIP! Contains quite some shortcuts and unsecure code (e.g. strcpy). Please use with caution :-)

Features so far

  • take CPL & ASSETMAP as input and output .nut file with r210 10-bit RGB444 and pcms24le
  • supports multiple segments with start points and repeat counts
  • output can be piped into ffmpeg to produce whatever you want

Drawbacks

  • only CDCI(YUV422) yet, RGBA coming soon, color problems with YUV444
  • audio only wav s24le
  • only .nut pipe output
  • Not tested yet on content with broadcast framerates such as 23.97
  • running it still a bit clumsy (see test.sh)
  • might only compile under Ubuntu (nothing else tested)

Install

Ubuntu (WSL)

  • apt install libtool, automake, autoconf, cmake
  • run sh install-deps.sh
  • run make

Run it

(see test.sh)

CUR_PATH=$(pwd)
IMF_ENC=${CUR_PATH}/imf_fs

# we need to be in IMF directory for relative path resolve to work (to be fixed)
cd ~/bs500a-dalet-a-ov

CPL=CPL_52a5343e-1184-44b4-86e3-43477636ae69.xml
ASSETMAP=ASSETMAP.xml

# hack
export LD_LIBRARY_PATH=${CUR_PATH}/third_party/openssl/lib

#direct piping
${IMF_ENC} ${CPL} ${ASSETMAP} | ffmpeg -i - -f mp4 -y ~/xpipe.mp4

License

LGPL

imf-frameserver's People

Contributors

markuspfundstein avatar

Stargazers

Gerard avatar Audrey avatar Sam Sousa avatar Alexis Michaltsis avatar Joe avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.