casparcg-connection
v7.0.0
Published
Node.js Javascript/Typescript library for CasparCG connection and commands.
Readme
casparcg-connection
Introduction
CasparCG Server is an open source graphics- and video server for broadcast and streaming productions. This library lets you connect and interact with CasparCG Servers from Node.js in Javascript. This library is also a part of the Sofie TV News Studio Automation System.
Features
- CasparCG AMCP 2.3 protocol implemented
- CasparCG AMCP 2.1 protocol largely implemented
- Parsing of command parameters and response
- Queueing of commands
- Promise-based commands for easy chaining and sequences
Project
- Node.js
- npm package
- TypeScript, strongly typed
- ES2020 target
- Linted with standard ESLint rules
- API Docs
- MIT license
Getting started
Installing with NPM
npm install casparcg-connection --saveThis installs the full project with sourcecode and dependencies, typescript project files and the compiled .js output with typings.
In your code, include and use the CasparCG object from this library with a code similar to:
const { CasparCG } = require('casparcg-connection')
const connection = new CasparCG({ host: 'localhost', port: 5250 })
const { error, request } = await connection.play({ channel: 1, layer: 1, clip: 'amb' })
if (error) {
console.log('Error when sending', error)
} else {
const response = await request
console.log(response)
}Note: as of 6.0.0 the library has had a major rewrite with significant API changes and support for CasparCG 2.0 was dropped.
Build from source
Installing with yarn adds the dev-dependencies needed to compile TypeScript. A set of commands help you managing development and testing:
yarn cleanEmpties the/distdirectory.yarn buildRuns a single build command without watching for changes.yarn build -wRebuilds on every change.yarn lintRuns code linting. Pull Requests won't be accepted without lint compliance.yarn testRuns code tests through vitest.
Doing a release
- Run
yarn changelogto generate the changelog, tags and commit. Push to Github. - A Github Action will automatically build and publish to npm.
Prerelease / nightly
You can manually trigger publishing a nightly built at https://github.com/SuperFlyTV/casparcg-connection/actions/workflows/publish.yaml
Documentation
Visit https://superflytv.github.io/casparcg-connection/ for API documentation.
About
Created and published by SuperFly.tv
Acknowledgements:
- Many thanks to SVT for the CasparCG project
- Inspired by https://github.com/respectTheCode/node-caspar-cg
