{"id":13906801,"url":"https://github.com/Eyevinn/iaf-plugin-encore-local","last_synced_at":"2025-07-18T04:32:46.586Z","repository":{"id":44686415,"uuid":"413765323","full_name":"Eyevinn/iaf-plugin-encore-local","owner":"Eyevinn","description":"Ingest application framework plugin for locally transcoding video files with SVT Encore","archived":false,"fork":false,"pushed_at":"2024-06-28T13:47:51.000Z","size":485,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":9,"default_branch":"master","last_synced_at":"2024-11-17T23:11:54.935Z","etag":null,"topics":["library"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Eyevinn.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-10-05T10:10:13.000Z","updated_at":"2024-06-28T13:47:52.000Z","dependencies_parsed_at":"2024-06-19T20:37:08.435Z","dependency_job_id":"33a8ee9f-6094-4dbf-91e1-0cc34465ee29","html_url":"https://github.com/Eyevinn/iaf-plugin-encore-local","commit_stats":{"total_commits":23,"total_committers":2,"mean_commits":11.5,"dds":"0.21739130434782605","last_synced_commit":"000b1f4baf075a7d5bc43e6cef3360b4c9b9b52c"},"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Eyevinn%2Fiaf-plugin-encore-local","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Eyevinn%2Fiaf-plugin-encore-local/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Eyevinn%2Fiaf-plugin-encore-local/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Eyevinn%2Fiaf-plugin-encore-local/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Eyevinn","download_url":"https://codeload.github.com/Eyevinn/iaf-plugin-encore-local/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":226353452,"owners_count":17611706,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["library"],"created_at":"2024-08-06T23:01:42.728Z","updated_at":"2024-11-25T15:30:44.094Z","avatar_url":"https://github.com/Eyevinn.png","language":"TypeScript","funding_links":[],"categories":["HarmonyOS"],"sub_categories":["Windows Manager"],"readme":"# IAF Plugin Encore-local\n\nThe Eyevinn Ingest Application Framework (Eyevinn IAF) is a framework to simplify building VOD ingest applications. A framework of open source plugins to integrate with various transcoding and streaming providers. This is the plugin for interacting with the [SVT Encore video transcoding tool](https://github.com/svt/encore).\n\n## Installation\n\nTo install the plugin in your project, run the following command.\n\n```\nnpm install --save @eyevinn/iaf-plugin-encore-local\n```\n\n## Using the module in your application based on Eyevinn IAF\nTo use the Encore upload module in your Eyevinn IAF setup, your `index.ts` should look like this:\n```TypeScript\n// other imports\nimport {EncoreUploadModule} from \"@eyevinn/iaf-plugin-encore-local\";\n\nconst encoreUploader = new EncoreUploadModule(/** args **/);\nconst fileWatcher = /** initialize your file watcher of choice**/\n\nfileWatcher.onAdd(encoreUploader.onFileAdd);\n```\n\n# Plugin Documentation\n\n## `EncoreUploadModule`\nDefault plugin export. This class is plug-and-play with the Ingest Application Framework, as described in the previous section.\n\n### Methods\n`constructor(encoreEndpoint: string, inputLocation: string, outputDestination: string, encodeParams: string, logger: winston.Logger)`\n\nCreates a new `EncoreUploadModule` object. You need to provide the Encore endpoint URL as well as the name of your ingest and output destinations. If you want to use custom Encore settings you also need to provide those as the encodeParams. A winston logger is also needed. These parameters are used to initialize the sub-modules.\n\n`onFileAdd = (filePath: string, readStream: Readable)`.\n\nMethod that is executed when a file is added to the directory being watched. `filePath` is the full path to the added file, and `readStream` is a `Readable` stream of the file data. Any file watcher plugins are *required* to provide these. The method dispatches a transcoding job to the Encore endpoint. On job completion a SMIL-file will be generated in the `outputDestination` containing all transcoded video/audio files.\n\n## `EncoreDispatcher`\nSub-module that dispatches Encore transcoding jobs.\n\n### Methods\n`constructor(encoreEndpoint: string, inputLocation: string, outputDestination: string, encodeParams: string, logger: winston.Logger)`\n\nInstantiates a new `EncoreDispatcher`. logging is injected in order to avoid multiple logging objects.\nIn most cases, the parameters will be passed down to the parent `EncoreUploadModule`.\n\n`async dispatch(fileName: string)`\n\nDispatches a Encore transcoding job. Jobs are executed with the settings specified in `resources/exampleJob.json` or those that are specified in the encodeParams, and are in Encore job format. `fileName` is the filename of the input file.\n# [Contributing](CONTRIBUTING.md)\n\nIn addition to contributing code, you can help to triage issues. This can include reproducing bug reports, or asking for vital information such as version numbers or reproduction instructions.\n\n# About Eyevinn Technology\n\nEyevinn Technology 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.\n\nAt Eyevinn, every software developer consultant has a dedicated budget reserved for open source development and contribution to the open source community. This give us room for innovation, team building and personal competence development. And also gives us as a company a way to contribute back to the open source community.\n\nWant to know more about Eyevinn and how it is to work here. Contact us at work@eyevinn.se!\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FEyevinn%2Fiaf-plugin-encore-local","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FEyevinn%2Fiaf-plugin-encore-local","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FEyevinn%2Fiaf-plugin-encore-local/lists"}