{"id":24881089,"url":"https://github.com/taext/mediabyte","last_synced_at":"2025-03-27T06:26:00.750Z","repository":{"id":57440572,"uuid":"178961207","full_name":"taext/mediabyte","owner":"taext","description":"Mediabyte is an open-source poly-platform playlist format and succinct online media referencing syntax.","archived":false,"fork":false,"pushed_at":"2020-02-14T13:06:07.000Z","size":106,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-08T09:31:17.375Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","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/taext.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":"2019-04-01T23:12:15.000Z","updated_at":"2020-02-14T13:06:09.000Z","dependencies_parsed_at":"2022-09-26T17:20:42.744Z","dependency_job_id":null,"html_url":"https://github.com/taext/mediabyte","commit_stats":null,"previous_names":[],"tags_count":13,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/taext%2Fmediabyte","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/taext%2Fmediabyte/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/taext%2Fmediabyte/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/taext%2Fmediabyte/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/taext","download_url":"https://codeload.github.com/taext/mediabyte/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245794129,"owners_count":20673127,"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":[],"created_at":"2025-02-01T11:32:10.095Z","updated_at":"2025-03-27T06:26:00.731Z","avatar_url":"https://github.com/taext.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n\n\n# Mediabyte \n\n\u003cbr\u003e\n\nMediabyte is a succinct online media referencing syntax. Think MIDI for online media.\n\n\u003cbr\u003e\n\n### Scope\nThe mediabyte format is\n- an open-source online media playlist format\n- an online media referencing format \n  - a succinct alternative to the URL format\n  - with optional explicit metadata (title, tags, time-codes)\n- a simple Mixtape HTML player\n- a Python API for hacking with the format\n- friendly with Jupyter Notebook\n\n\u003cbr\u003e\n\n### Value Proposition\n\n- tag the content of specific YouTube videos\n  - e.g. to help discoverability of favourite content\n- remix YouTube videos with 1-second precision \n  - e.g. to create a topical mix of clips from a video series\n- play a YouTube search directly\n- reference, tag and access any online content\n  - native Bitly hash support (incl. custom hashes)\n- index and remix podcast episodes\n  - native MP3 support\n\n\u003cbr\u003e\n\n\n\n\n\u003cbr\u003e\n\n\n### .omm Mixtape file\n\n![OMM syntax highlight example](https://v1d.dk/omm/omm_syntax_highlight.jpg)\n\n[link to](https://v1d.dk/omm/mixtape24.omm) the Mixtape file above (Mixtape links can be parsed by the system, copy the link and [try it](http://skillporn.tv/) yourself)\n\n\u003cbr\u003e\n\n\n### The mediabyte tag syntax\n\n1. tags are separated by dots\n2. title-case tags are titles\n3. YouTube time code tags are such\n4. remaining tags are ordinary tags\n5. **y.youtubehash** or **b.bitlyhash** is mandatory\n6. all other tags are optional\n\n\u003cbr\u003e\n\n\n### The yota objects: Yota, Cue, Sample, Mixtape\n\n1. a yota with no start code is a **Yota** object (the original YouTube video)\n2. a yota with a start time code is a **Cue** object (the YouTube video with a start time)\n3. a yota with start and end time codes is a **Sample** object (the YouTube video clip)\n4. a **Mixtape** is a collection of **Yota**, **Cue**, **Sample**, and **bit** objects\n\n\n\nCheck out the mediabyte [documentation](https://github.com/taext/mediabyte/blob/master/user_guide/README.md) for details and examples.\n\n\u003cbr\u003e\n\n### The bit objects: Link and Mp3 (beta)\n\n1. a **bit.Link** is a bitly link: `b.bitlyhash` (general link support)\n2. a **bit** can have title and tags (just like the yota objects)\n3. a **bit** can be a yota tag `y.youtubehash.b.bitlyhash` or stand alone\n2. a **bit.Mp3** - a **bit.Link** with the tag `mp3` - is a bitly MP3 link (MP3 support)\n3. a **bit.Mp3** has 0-2 time codes, yota-style handling and VLC playback\n4. a **Mixtape** of **bit.Mp3** (e.g. podcast clips) can be saved to local harddisk as\n    - individual **Sample** MP3 files or\n    - one combined **Mixtape** MP3 file\n\n\n\n\u003cbr\u003e\n\n\n### Project Status\n\nThe mediabyte back-end is feature-complete.\n\nThe mediabyte syntax is feature-complete.\n\nGeneral interface `omm()` to parse any mediabyte string, Mixtape file or Mixtape link.\n\nSyntax highlighting and `.omm` file association using the contained Atom [package](https://github.com/taext/mediabyte/tree/master/atomSyntaxHighlighting). (beta)\n\nSearch YouTube directly and get results in **Mixtape** with `youtube('copenhagen 10')`.\n\nKeyword search using YouTube auto-generated subtitles with `Yota.srt_search` and `Mixtape.srt_search`.\n\n**Mixtape** files [supports](https://github.com/taext/mediabyte/blob/master/user_guide/Demo:%20Mixtape%20Arbitrary%20White-Space.ipynb) arbitrary white-space. (freestyle formatting)\n\nBitly links. (general link support)\n\nCustom Bitly link support, e.g. `b.sn-704.Security Now`. (a title tag is needed, to be fixed)\n\nMP3 support.\n\nPip installation `pip install mediabyte`.\n\nWindows 10 support. (beta)\n\n`mediabyte.hash` referencing: `o.diu5ir4jkk3` (full hash) or `omm('o.diu')` (uniquely match).\n\n[Write](https://github.com/taext/mediabyte/blob/master/user_guide/Demo:%20bit.Mp3%20Mixtape%20Cutting.ipynb)  bit.MP3 **Mixtape** chapters to MP3s or splice chapters to single **Mixtape** MP3. (MP3 remixing) (alpha)\n\n[Load](https://github.com/taext/mediabyte/blob/master/user_guide/Demo:%20Online%20.omm%20support.ipynb) online .omm **Mixtape** files.\n\nSearch history with `search('podcast')`. (tag, title or mediabyte hash search)\n\nConvert manually saved YouTube .htm file to **Mixtape**.\n\nConvert YouTube Takeout watch history file to **Mixtape**.\n\nOnline mediabyte and Mixtape link [player](http://skillporn.tv/).\n\nOnline YouTube search to [player](http://skillporn.tv/search).\n\nNative `a.amazonhash` Amazon link support. (alpha)\n\nStream .m3u8 link support `b.bitlyhash.m3u8`.\n\nLocal history search with regex and save filter option.\n\n\u003cbr\u003e\n\nCurrently the output options are: \n\n- basic continuous HTML/JavaScript [player](https://v1d.dk/yno/mix22.htm), HTML [Wall-of-TV](https://v1d.dk/yno/mix22_iframe.htm), HTML [links](https://v1d.dk/yno/mix22_html.htm), VLC playback* and open in tabs for **Mixtape**\n\n- VLC playback, HTML Iframe and open in tab for **Sample**, **Cue**\n  and **Yota**\n\n- VLC playback and open in tab for **bit.Link**\n\n- VLC playback for **bit.Mp3**\n\n- **Mixtape** MP3 or **Sample** MP3s for **bit.Mp3** **Mixtape**\n\n\u003cbr\u003e\n\n\\* currently Yota-only Mixtapes\n\n\n\u003cbr\u003e\n\n\n                                        Updated Nov 4th 2019\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftaext%2Fmediabyte","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftaext%2Fmediabyte","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftaext%2Fmediabyte/lists"}