{"id":19640098,"url":"https://github.com/chimeejs/chimee-kernel","last_synced_at":"2025-04-28T11:31:03.116Z","repository":{"id":57197963,"uuid":"96195850","full_name":"Chimeejs/chimee-kernel","owner":"Chimeejs","description":"chimee kernel ","archived":false,"fork":false,"pushed_at":"2018-11-07T14:52:41.000Z","size":795,"stargazers_count":8,"open_issues_count":1,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-18T14:06:02.650Z","etag":null,"topics":["chimee","flv","hls","mp4","video","video-player"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Chimeejs.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-07-04T08:42:17.000Z","updated_at":"2018-06-03T15:34:45.000Z","dependencies_parsed_at":"2022-09-16T13:11:19.659Z","dependency_job_id":null,"html_url":"https://github.com/Chimeejs/chimee-kernel","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Chimeejs%2Fchimee-kernel","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Chimeejs%2Fchimee-kernel/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Chimeejs%2Fchimee-kernel/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Chimeejs%2Fchimee-kernel/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Chimeejs","download_url":"https://codeload.github.com/Chimeejs/chimee-kernel/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251304764,"owners_count":21567933,"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":["chimee","flv","hls","mp4","video","video-player"],"created_at":"2024-11-11T14:04:37.789Z","updated_at":"2025-04-28T11:30:59.963Z","avatar_url":"https://github.com/Chimeejs.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# [DEPRECATED] chimee-kernel has been merged into chimee.\n\n# chimee-kernel\n\nChimee-kernel is a manger of video decoder.\n\n## Introduction\n\nThere are so many video type in the world. Each one may have its own decoder. In that case, we need a manger to handle it. In other word, we need a uniform statute.\n\nWhat's more, as chimee handle most of the logic of a video player, a decoder can be just simple. It only need to provide normal function like load, play, pause etc.\n\nIn chimee, we call these decoder as `VideoKernel`. As a `VideoKernel`, it should fit rules below.\n\n| name        | meaning                                  | type          | arguments                                | note                   |\n| ----------- | ---------------------------------------- | ------------- | ---------------------------------------- | ---------------------- |\n| isSupport   | A method to tell us whether the decoder can be runned in this browser | static method | none                                     | Must be a staic method |\n| constructor | The constructor of `VideoKernel`, we will passed in with three arguments, an HTMLVideoElement, an Object as `KernelConfig`, another Object as `CustomConfig` | method        | videoElement: HTMLVideoElement, kernelConfig: Object, customConfig: Object |                        |\n| load        | A method to load src                     | method        | src: string                              |                        |\n| stopLoad    | stop the network loading                 | method        | None                                     |                        |\n| startLoad   | Resume from stopLoad or any network error | method        | src: string                              |                        |\n| play        | A method to play the vidoe               | method        | None                                     |                        |\n| pause       | A method to pause the playing            | method        | None                                     |                        |\n| refresh     | A method to reload the src               | method        | none                                     | not ready to use yet   |\n| attachMedia |                                          | method        | none                                     |                        |\n| seek        | A method to seek to a specific point     | method        | second: number                           |                        |\n| destroy     | A method which will be called when we destroy the kernel | method        | none                                     |                        |\n| config      | The config you stored                    | attribute     |                                          |                        |\n| video       | You can store the video element here     | attribute     |                                          |                        |\n| on          | A method to listen on your video kernel  | method        | type: string, handler: Function          |                        |\n| off         | A method to stop listening on your video kernel | method        | type: string, handler: Function          |                        |\n| once        | A method to listen on your video kernel only one time | method        | type: string, handler: Function          |                        |\n| emit        | A method to emit event on your video kernel | method        | type: string, data: any                  |                        |\n\nIn nowaday, we will rebuild the video kernel when user change the src.\n\nIf you support src switch on your video kernel. Please contact us, we need to add you into whitelist.\n\n\u003e We may support use config on installKernel later.\n\n## Installation\n\n```\nnpm install --save chimee-kernel\n```\n## Usage\n```javascript\nimport ChimeeKernel from 'chimee-kernel'\n\nvar kernel = new ChimeeKernel(document.querySelector('video'),{\n    src: 'http://yunxianchang.live.ujne7.com/vod-system-bj/TL2791e64b69ea0bea234c284c694986aa.flv',\n    type: 'vod',\n    box: 'flv'\n});\n\n//load source\nkernel.load()\n```\n\nConfig:\n\n| Field        | Type                   | Description                              |\n| ------------ | ---------------------- | ---------------------------------------- |\n| src          | `String`               | video source                             |\n| isLive       | `Boolean`              | `'false'` or `'true'`，set video is a live stream or vod |\n| box          | `String`               | Indicates stream box `'flv'` , `'hls'` , `'native'` , `'mp4'` |\n| preset       | `{[string]: Function}` | set kernel decoder，example: `import chimeeKernelFlv for 'chimee-kernel-flv'; preset:{'flv': chimeeKernelFlv}` |\n| presetConfig | `{[string]: Object}`   | custom config to some kernel decoder     |\n\nEvent:\n\n| Field       | Type     | Description      |\n| ----------- | -------- | ---------------- |\n| `mediaInfo` | `Object` | video  mediaInfo |\n| `heartbeat` | `Object` | emit per-second  |\n| `error`     | `Object` | kernel error     |\n\nError code FLV:\n\n| Errno | Type     | Description        |\n| ----- | -------- | ------------------ |\n| `100` | `Number` | NET_ERROR          |\n| `101` | `Number` | CODEC_ERROR        |\n| `102` | `Number` | CANNOT_SEEK        |\n| `103` | `Number` | ENDOFSTREAM_ERROR  |\n| `104` | `Number` | MEDIASOURCE_ERROR  |\n| `105` | `Number` | SOURCEBUFFER_ERROR |\n| `106` | `Number` | SBABORT_ERROR      |\n| `106` | `Number` | APPENDBUFFER_ERROR |\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchimeejs%2Fchimee-kernel","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchimeejs%2Fchimee-kernel","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchimeejs%2Fchimee-kernel/lists"}