organist v0.0.1
organist
Orchestrating the nodes and pulling out all the stops.
This project has two separate although related parts:
- Orchestrating dynamic software infrastructure using AWS step functions.
- Some early examples of how an updated FIMS could be used to describe work carried out by streaming infrastructure (read on).
New FIMS and NMOS
Demonstration of building the JT-NM jigsaw
It all starts with the conceptual model from the JT-NM Reference Architecture. The elements of this model can be broken down into:
- transport standards and file wrappers - grains;
- NMOS - flows, sources, senders, receivers, devices, nodes, registry;
- FIMS:
- business services: capabilities, tasks, content & product management.
- cross cutting services: continuous integration, measurement, monitoring and resource management.
An emerging vision of how to put the pieces of the jigsaw together.
Dynamic software infrastructure
Nodes on a single Node-RED instance
Scale up in the same system
Scale out to many systems
Local context
Each element in the global context can be the sender or receiver of one or more streams.
Global context
Framework for services
The aim is to use the existing FIMS models as a template for a lightweight, micro-services style approach to setting up and tearing down virtual infrastructure to achieve specific jobs. In particular, the FIMS state model and job resource should be a basis for further development.
Example content item ... a TV Clip.
{
"@context": "http://schema.org/",
"@type": "TVClip",
"name": "Streampunk Subculture",
"file": "Streampunk Media Ltd",
"fileFormat": "video/raw; width=1920; height=1080",
"url": "Documents/media/examples/rtp-video-rfc4175-1080i50-sync.pcap",
"dateCreated": "2016-09-10",
"actor": {
"type" : "Person",
"name" : "Richard Cartwright",
"jobTitle" : "Big Punk"
}
}
In the demo, we run a javascript program from the command line that ....
- Run up dynamorse and ledger.
- Receives the details of work to do, content to use and duration, e.g. run
node [index.js](./index.js) transform.json subculture.json 120
- Deploy infrastructure.
- Runs a transcode process for two minutes.
- Stops the transcode.
The job could be described as actions. For example:
{
"@context": "http://schema.org/",
"@type": "Action",
"name": "Live Transform",
"description" : "Do a live transcode of a stream.",
"instrument" : {
"type" : "Thing",
"name" : "dynamorse transform",
"url" : "transform.json" },
"target" : {
"type" : "EntryPoint",
"httpMethod" : "POST",
"urlTemplate" : "http://localhost:8000",
"contentType" : "application/json"
},
"location" : "Holiday Inn, RAI",
"startTime" : "20160911T11:32:51Z",
"endTime" : "20160911T11:34:51Z",
"actionStatus" : { "type" : "PotentialActionStatus" , "name" : "Queued" },
"object" : { "type" : "CreativeWork" },
"result" : { "type" : "CreativeWork" }
}
8 years ago