Skip to content

EyalLavi/ebu-tt-live-toolkit

 
 

Repository files navigation

ebu-tt-live-toolkit

This is the repository for the interoperability kit of EBU-TT Live.

The kit is envisaged to contain a set of components for generating, testing and distributing subtitle documents in EBU-TT Part 3 format.

This is an open source project. Anyone is welcome to contribute to the development of the components. Please see the wiki for the list of required components, guidelines and release plan.

If you would like to contribute, please contact subtitling@ebu.ch or nigel.megitt@bbc.co.uk

Preparing the build environment

Make sure you have python 2.7+. Make sure you have python virtual environment capability.

If not you can install virtualenv systemwide from your operating system's package repository or by pip:

sudo pip install virtualenv

After that creating a virtual environment should be as simple as:

virtualenv env

Let's activate it (source makes sure the current shell executes the script and assumes the environment variables that the activation script sets):

source ./env/bin/activate

After having created the python virtual environment and having activated it the package can be built by typing make if you have GNU build tooling on your system.

make

Alternatively:

pip install -r requirements.txt
pip install -r requirements-test.txt
python setup.py develop

pyxbgen -r --binding-root=./ebu_tt_live/bindings -m __init__ --schema-root=./ebu_tt_live/xsd1.1/ -u ebutt_live.xsd

After this you are supposed to be able to launch the command line tools this python package provides i.e.:

ebu-dummy-encoder

Windows users

Windows is not the best friend of Makefiles. So there is a make.bat file for those who would like to develop using Windows. Assuming python 2.7 and virtualenv is installed and are on the PATH.

make

This will make sure a virtual environment is created and activated and installs all the tools into it.

After that the following command should work:

ebu-dummy-encoder

The Schema definitions XSD

The schema definitions are to be found embedded in the Python library in the xsd1.1 subfolder. The root schemadocument is called ebutt_live.xsd.

The Python library

The library uses XSD schemas from the xsd1.1 subdirectory. The bindings are auto-generated by PyXB. For binding generation one can use the following code:

pyxbgen -r --binding-root=./ebu_tt_live/bindings -m __init__ --schema-root=./ebu_tt_live/xsd1.1/ -u ebutt_live.xsd

The bindings will keep the validation sane and PyXB makes sure that updates are working as expected. Should the schema be modified a regeneration can be run and the bindings will respect the changes.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 86.9%
  • Batchfile 7.9%
  • Makefile 5.2%