Giter VIP home page Giter VIP logo

awesome-ncl's Introduction

Awesome

Awesome NCL

Nested Context Language (NCL) is an XML-based declarative language to support the development of interactive multimedia presentations. It is part of Ginga, an ISDB-T international standard for Terrestrial Digital TV and ITU-T recommendation for IPTV services.

This page is a curated lists of resources supporting NCL and Ginga.

Applications, Players, and Plugins for NCL viewing

Open source players

  • Ginga Reference Implementation is the ITU-T reference NCL player mainly developed by TeleMídia Lab/PUC-Rio.
  • Ginga.ar is a fork of Ginga-NCL Reference Implementation being developed by the Argentine Community. You can also find the most recent code here.
  • GHTV NCL Player by Expertise Solutions.
  • WebNCL is a lightweight NCL presentation machine based on the Web technologies stack (HTML5/JavaScript/CSS). By using WebNCL, NCL documents can be presented in any device that has an HTML5 compatible browser, such as tablets, smartphones, smart TVs and PCs.
  • pywebncl is a Python wrapper for WebNCL which allows local reprodution of NCL documents.
  • NCL4Web is a tool for presenting NCL documents in web browsers. It translates an NCL 3.0 multimedia document into an HTM5 + JavaScript document using a XSLT Stylesheet.
  • The NCLua library.

Commercial players

Virtual machines

Some developers trying to easy the use of the system as a whole have created Virtual Machines with everything you need already configured. It is the case of:

  • Ginga-NCL Virtual Set-top Box is a Linux-based VMWare image with including Ginga-NCL. (It looks outdated!)
  • GingaAIO is a virtual machine for execution and authoring of NCL application. Unlike Ginga-NCL Vittual Set-top Box, gingaaio also includes a graphical environment to easy the creation and execution of NCL applications. (It looks outdated!)

Others

  • Ginga CDN
  • ffginga is a standard compliant free software implementation of the SBTVD middleware (Ginga-NCL and Ginga-J). (It looks outdated!).
  • GingaBuild is a shell script program to install and configure a Ginga development environment. (It looks outdated!)

Authoring support

Authoring tools

  • NCL Composer is an extensible authoring tool to support mixed (textual and visual) authoring of NCL applications.
  • NCL Eclipse is an Eclipse plugin aware of NCL syntax and elements relations.
  • ISB Designer is an authoring tool with the aim of supporting interactive storyboards. The tool can export NCL documents.
  • Cacuriá is an authoring tool suporting the creating of hypervideo-based learning objects, and that can export to NCL.
  • NCL/Lua plug-in for Gedit
  • NCL/Lua plug-in for Latex
  • Berimbau iTV Author was created focused on designers and media professionals, allowing them to create interactive applications without programming knowledge. The tool is free to use (but it is not open-source).
  • Celula is an authoring tool developed by INCoD focused on creating interactive content for digital TV.
  • CreaTVDigital is a tool aiming at easing the development of interactive Digital TV application by media professionals. It follows a WYSIWYG approach and does not require authors to know NCL or Lua.
  • Iris (Cpqd) is a graphical tool that allows for content producer to create interactive multimedia application without the necessity of coding.
  • Creative-NCL is a web-based tool that allows for the creation of NCL documents through visual abstractions.
  • Guri Project FIXME.
  • NEXT is an authoring tool for NCL documents using templates. It is based on plugins, where each plugin provides a different view of the document (spatial, textual and structural) or a facility for creating document parts (connector plugin). NEXT allows the author to choose a template from a template base and fill it, through a set of screens, in order to create an NCL document (available at request).
  • STEVE is an authoring tool designed based on commercial tools for creating multimedia presentations. It allows the author to create an NCL document from its temporal view. STEVE allows creating temporal relations among media objects, including interaction relations.
  • Ginga Studio FIXME.

Validation tools

Template-based authoring

  • LuaTPL enables Lua to be used as a template specification language in a similar way to how PHP, ASP, JSP, etc. are integrated to HTML. In special, the use of Lua as base for template specification in the scope of Ginga-NCL also allows for processing this templates in the client side, since Lua is a standard for developing iDTV applications for Ginga-NCL.
  • TAL (Template Authoring Language) is an authoring language for hypermedia document templates.
  • XTemplate 3.0 is a language to create composite templates for NCL. The composite templates describe, in a generic way, the behavior of an NCL context.
  • EDITEC is an authoring tool for XTemplate 3.0 templates.
  • LUAR is a framework for agile development of applications written in NCL/NCLua for Digital TV.
  • NCLForms aims at providing NCL developers with a set of graphical interface widgets to easy the integration of forms into Digital TV applications.

Libraries and frameworks

Alternative syntaxes

  • JNS (JSON NCL Script) is an alternative syntax to write NCL documents. Instead of XML, JNS uses JSON. Additionally, JNS includes new features aiming at to improve reuse and easy programming. For instance, JNS allows inline declaration of descriptors, rules and regions in the document's body. (If you do not know what is descritor, rule, or region in the context of NCL language, please see the NCL Handbook.
  • sNCL (Simple NCL) is a simpler, alternative, syntax to write NCL documents.

Conversion tools

  • Diet NCL is a tool to remove the syntactic sugar from NCL documents.
  • ppt2ncl is a simple tool to convert PPT files into NCL documents.
  • ncl2html: NCL Raw Profile application on your browser.
  • ncls3d is a lua script to convert an NCL application to its stereoscopic counterpart. The final application is ready to run on stereoscopic 3D displays. It allows both off-line conversion, and on-line (client-side) conversion---through an NCLua media object.
  • Lua2NCL is a Lua-based API to create NCL documents.

Books and tutorials

NCL only

NCLua integration:

Slides and courses material

Application Examples

Repositories

Test suites

Showcases

Other applications

Ginga Communities

NCL is part of the specification of Ginga middleware, the standard for terrestrial digital TV in most part of Latin America.

Here, you can find the link for some of the communities in different countries working with Ginga and NCL:

News

A non-extensive list of news about Ginga and NCL.

Other related links

awesome-ncl's People

Contributors

robertogerson avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  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.