https://github.com/taext/mediabyte
Mediabyte is an open-source poly-platform playlist format and succinct online media referencing syntax.
https://github.com/taext/mediabyte
Last synced: about 1 year ago
JSON representation
Mediabyte is an open-source poly-platform playlist format and succinct online media referencing syntax.
- Host: GitHub
- URL: https://github.com/taext/mediabyte
- Owner: taext
- Created: 2019-04-01T23:12:15.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2020-02-14T13:06:07.000Z (over 6 years ago)
- Last Synced: 2025-03-08T09:31:17.375Z (over 1 year ago)
- Language: Python
- Homepage:
- Size: 104 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Mediabyte
Mediabyte is a succinct online media referencing syntax. Think MIDI for online media.
### Scope
The mediabyte format is
- an open-source online media playlist format
- an online media referencing format
- a succinct alternative to the URL format
- with optional explicit metadata (title, tags, time-codes)
- a simple Mixtape HTML player
- a Python API for hacking with the format
- friendly with Jupyter Notebook
### Value Proposition
- tag the content of specific YouTube videos
- e.g. to help discoverability of favourite content
- remix YouTube videos with 1-second precision
- e.g. to create a topical mix of clips from a video series
- play a YouTube search directly
- reference, tag and access any online content
- native Bitly hash support (incl. custom hashes)
- index and remix podcast episodes
- native MP3 support
### .omm Mixtape file

[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)
### The mediabyte tag syntax
1. tags are separated by dots
2. title-case tags are titles
3. YouTube time code tags are such
4. remaining tags are ordinary tags
5. **y.youtubehash** or **b.bitlyhash** is mandatory
6. all other tags are optional
### The yota objects: Yota, Cue, Sample, Mixtape
1. a yota with no start code is a **Yota** object (the original YouTube video)
2. a yota with a start time code is a **Cue** object (the YouTube video with a start time)
3. a yota with start and end time codes is a **Sample** object (the YouTube video clip)
4. a **Mixtape** is a collection of **Yota**, **Cue**, **Sample**, and **bit** objects
Check out the mediabyte [documentation](https://github.com/taext/mediabyte/blob/master/user_guide/README.md) for details and examples.
### The bit objects: Link and Mp3 (beta)
1. a **bit.Link** is a bitly link: `b.bitlyhash` (general link support)
2. a **bit** can have title and tags (just like the yota objects)
3. a **bit** can be a yota tag `y.youtubehash.b.bitlyhash` or stand alone
2. a **bit.Mp3** - a **bit.Link** with the tag `mp3` - is a bitly MP3 link (MP3 support)
3. a **bit.Mp3** has 0-2 time codes, yota-style handling and VLC playback
4. a **Mixtape** of **bit.Mp3** (e.g. podcast clips) can be saved to local harddisk as
- individual **Sample** MP3 files or
- one combined **Mixtape** MP3 file
### Project Status
The mediabyte back-end is feature-complete.
The mediabyte syntax is feature-complete.
General interface `omm()` to parse any mediabyte string, Mixtape file or Mixtape link.
Syntax highlighting and `.omm` file association using the contained Atom [package](https://github.com/taext/mediabyte/tree/master/atomSyntaxHighlighting). (beta)
Search YouTube directly and get results in **Mixtape** with `youtube('copenhagen 10')`.
Keyword search using YouTube auto-generated subtitles with `Yota.srt_search` and `Mixtape.srt_search`.
**Mixtape** files [supports](https://github.com/taext/mediabyte/blob/master/user_guide/Demo:%20Mixtape%20Arbitrary%20White-Space.ipynb) arbitrary white-space. (freestyle formatting)
Bitly links. (general link support)
Custom Bitly link support, e.g. `b.sn-704.Security Now`. (a title tag is needed, to be fixed)
MP3 support.
Pip installation `pip install mediabyte`.
Windows 10 support. (beta)
`mediabyte.hash` referencing: `o.diu5ir4jkk3` (full hash) or `omm('o.diu')` (uniquely match).
[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)
[Load](https://github.com/taext/mediabyte/blob/master/user_guide/Demo:%20Online%20.omm%20support.ipynb) online .omm **Mixtape** files.
Search history with `search('podcast')`. (tag, title or mediabyte hash search)
Convert manually saved YouTube .htm file to **Mixtape**.
Convert YouTube Takeout watch history file to **Mixtape**.
Online mediabyte and Mixtape link [player](http://skillporn.tv/).
Online YouTube search to [player](http://skillporn.tv/search).
Native `a.amazonhash` Amazon link support. (alpha)
Stream .m3u8 link support `b.bitlyhash.m3u8`.
Local history search with regex and save filter option.
Currently the output options are:
- 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**
- VLC playback, HTML Iframe and open in tab for **Sample**, **Cue**
and **Yota**
- VLC playback and open in tab for **bit.Link**
- VLC playback for **bit.Mp3**
- **Mixtape** MP3 or **Sample** MP3s for **bit.Mp3** **Mixtape**
\* currently Yota-only Mixtapes
Updated Nov 4th 2019