Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/eyevinn/segment-emsg-parser
Parse EMSG data out of segments
https://github.com/eyevinn/segment-emsg-parser
library
Last synced: 5 days ago
JSON representation
Parse EMSG data out of segments
- Host: GitHub
- URL: https://github.com/eyevinn/segment-emsg-parser
- Owner: Eyevinn
- License: mit
- Created: 2023-03-24T11:51:38.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-06-10T10:08:38.000Z (5 months ago)
- Last Synced: 2024-10-10T22:47:05.519Z (about 1 month ago)
- Topics: library
- Language: TypeScript
- Homepage:
- Size: 96 MB
- Stars: 1
- Watchers: 4
- Forks: 0
- Open Issues: 10
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# Segment EMSG Parser
A small package for reading emsg boxes from a mp4 segment.
## Usage
`npm install @eyevinn/segment-emsg-parser`
`yarn add @eyevinn/segment-emsg-parser`
```typescript
import { extractEmsgArrayFromSegment } from "@Eyevinn/segment-emsg-parser";const response = await fetch("segment.m4s");
const buffer = await response.arrayBuffer();const emsgArray = extractEmsgArrayFromSegment(buffer);
```## Develop
Install Node, npm, and yarn v3. Clone the repo and run `yarn` to install dependencies.
`yarn dev` will start a dev server where you can test parsing of segments.
### Git Ways of Working
The project uses feature branches, and a [rebase merge strategy](https://www.atlassian.com/git/tutorials/merging-vs-rebasing).
Make sure you have `git pull` set to rebase mode:
`git config pull.rebase true`
Optionally, you can add the `--global` flag to the above command.
To start working on a new feature: `git checkout `.
As the project uses semantic-release to **automatically generate release notes** based on commits, it is important to follow some rules when committing.
This project uses [conventional commits](https://www.conventionalcommits.org/en/v1.0.0/#summary).
Read [Using Git with Discipline](https://drewdevault.com/2019/02/25/Using-git-with-discipline.html).
Read [How to Write a Commit Message](https://chris.beams.io/posts/git-commit/).
A commit should:
- contain a single change set (smaller commits are better)
- pass tests, linting, and typescript checks
- not be brokenAlong with enabling time saving automation, it enables extremely powerful debug workflows via [git bisect](https://git-scm.com/docs/git-bisect), making bug hunting a matter of minutes instead of days. There are a number of articles out there on the magic of bisecting.
Basic structure of a commit message:
```
[optional scope]:[optional body]
[optional footer]
```For automated release notes to work well, try to describe what was added or changed, instead of describing what the code does. Example:
`fix(seek): rewrite calculation in seek module` `// bad, the consumer does not know what issue this fixes`
`fix(seek): stop player from freezing after seek` `// good, the consumer understands what is now working again`
### Releasing
Releases are triggered via a github action that will automatically increment the version and write a changelog based on commits.
Manual releases can be made by running `yarn release`.
# Support
Join our [community on Slack](http://slack.streamingtech.se) where you can post any questions regarding any of our open source projects. Eyevinn's consulting business can also offer you:
- Further development of this component
- Customization and integration of this component into your platform
- Support and maintenance agreementContact [[email protected]](mailto:[email protected]) if you are interested.
# About Eyevinn Technology
[Eyevinn Technology](https://www.eyevinntechnology.se) is an independent consultant firm specialized in video and streaming. Independent in a way that we are not commercially tied to any platform or technology vendor. As our way to innovate and push the industry forward we develop proof-of-concepts and tools. The things we learn and the code we write we share with the industry in [blogs](https://dev.to/video) and by open sourcing the code we have written.
Want to know more about Eyevinn and how it is to work here. Contact us at [email protected]!