id3-ts-lib

1.2.0 • Public • Published

ID3-TS-LIB

The fat-free ID3-only MPEG2TS segment generator library!

Installation

As a library (into your fancy project):

$> npm install @brightcove/id3-ts-lib

Usage:

const fs = require('fs');

// The whole library exposes just a single function:
const generateID3Segment = require('id3-ts-lib');

// If a PID is falsey, then that track will not be included in the generated PMT
const options = {
  pmtPid: 0x100,
  id3Pid: 0x103,
  videoPid: null,
  audioPid: null,
  id3PTS: 282743,
  data: 'This is just some example payload...',
};

// The function returns a promise that resolves to a buffer
generateID3Segment(options).then((segment) => {
  fs.writeSync('test.ts', segment);
});

As a very rudimentary executable:

$> npm install -g @brightcove/id3-ts-lib

$> id3-ts 'This is just some example payload...' > test.ts

Performance

The entire segment construction process is performed using a single Buffer allocation. All operations are done in place including the ID3-creation which is "chunked" so that the ID3 can be created in-place "around" the TS packet headers. As a result, this code can generate an entire segment for a 4kb payload in about 9.6µs!

Readme

Keywords

none

Package Sidebar

Install

npm i id3-ts-lib

Weekly Downloads

6

Version

1.2.0

License

none

Unpacked Size

65.2 kB

Total Files

21

Last publish

Collaborators

  • dgonzalez89
  • areis10
  • vmnavarro
  • alfredo-reyes
  • jterranova
  • pradeep.vernekar
  • jfloresbc
  • mlopez.b
  • vasu.p
  • ttabrilla-bc
  • msivalls
  • sstevanus
  • rwbarber2
  • rwinger
  • bcc-bfranklin
  • apenigalapati
  • lmaultsby
  • sravan.pbr
  • agrojas-bc
  • ijunaidf
  • mgoncalves
  • mfregozo
  • arevelo
  • madhu_g
  • hugocjim
  • daniel_campos
  • kevin.schick
  • m.morrison
  • uomar
  • abarstowbc
  • sbarathan
  • kpandiyarajan
  • imorones
  • walterseymourbc
  • ddashkevich
  • albertogomez
  • gestrada-br
  • amillerbrightcove
  • lvohra
  • mcho-bc
  • awaldron
  • fsalazarbc
  • dawnpacko
  • ldominguez
  • bc-srimron-soutter
  • rsilva_brightcove
  • joeylesh
  • lmelchorx1
  • juan-sanchez
  • eolvera
  • cloewer_bc
  • carredondo
  • brianhsu
  • niklagbrightcove
  • tsraveling_bc
  • bcbclifford
  • bc-acgarcia
  • adavila1
  • vaishalijayaraman
  • kreynolds
  • bgs-devops
  • albinjohnson
  • rtezera
  • bcmneil
  • randresf
  • v.kozlov_bc
  • nagendra_m
  • michaelmccarthybc
  • poneill-bcov
  • mdeltorobcov
  • jmohneycove
  • inbc01
  • aperezbrightcove
  • ireyes94
  • brightcove-admin
  • tedk
  • abradley-brightcove
  • bc-alive
  • lasanchezc
  • marguinbc
  • brightcove-user
  • kmason
  • cbarstow
  • hikeh
  • myerramalla
  • pdias
  • jwhisenant
  • ebertaud
  • oespinosac
  • dsalnikov
  • sharanya.muruganandam
  • vikaskumar.gajula
  • xgarcia_npm
  • jguerra
  • rjune
  • jonbwalsh
  • khaipham
  • wswanbeck
  • gastafurov
  • adalwani
  • ekelson-bcove
  • syseng
  • mcarreiro
  • elbadawimustafa
  • hwoodbury
  • jblaker
  • bcmauleon
  • paco_oblea_bc
  • jsepulveda
  • biswaranjan
  • barroyo
  • bmartinez
  • bc-jcarlson
  • eledezma
  • jcueto
  • erodrigues
  • psousa
  • marcogaray
  • javibright
  • bcpsalas
  • etobin
  • ackbabe
  • cvillasenor
  • omartinez
  • mgonzalez_bc
  • pdohertybcov
  • muthukumar.bc
  • bzizmond
  • jmpmacedo
  • scorreia
  • lescorcio
  • cavieira
  • arunjeyaprasad
  • bvilvanathan
  • anand.gangadharan
  • rociosantos
  • agarciabcov
  • attinder
  • lauralopez
  • skumar85
  • hrodriguez2
  • jasilvaantonio
  • palvarezbc
  • ericramos
  • carlosabajo
  • ingrid.s.cruz
  • luis_fernando_lopez_ruiz
  • vishal64
  • tresa.baji
  • luis.garcia.brightcove
  • rodrigofdz
  • pgutierrezgil
  • harish17
  • jjeyaprakash
  • rrajendran1698
  • jlomeli
  • sjimenez
  • rwenger_brightcove
  • rujordan
  • stuartmh
  • jherrerabcov
  • mshiwal
  • ptamizh
  • akamalakkannan
  • roman-bc
  • tnwanna
  • bsahlas.npm
  • dherrera1109
  • hswaminathan
  • echengbc
  • sbarrettbc
  • imbcmdth
  • gkatsev