OVOS Common Playback - Stream Extractor Plugins
OVOS Common Playback (OCP) Stream Extractor Plugins are designed to handle the extraction of playable streams and their associated metadata just before playback. This delegation allows skills to focus on their core functionality without having to worry about stream extraction, thus preventing additional latency during search or other operations. The relevant plugin is automatically invoked based on the Stream Extractor Identifier (SEI) or a matching URL pattern.
A SEI typically precedes the URI, which is used to access the stream. If the required plugin is missing, the corresponding request will be ignored.
Available Plugins
Here are the key stream extractor plugins available in OVOS:
Plugin | Description | Stream Extractor IDs (SEIs) | URL Pattern |
---|---|---|---|
ovos-ocp-rss-plugin | Handles RSS feed URLs | rss// |
N/A |
ovos-ocp-bandcamp-plugin | Handles Bandcamp URLs | bandcamp// |
"bandcamp." in url |
ovos-ocp-youtube-plugin | Handles YouTube URLs | youtube// , ydl// , youtube.channel.live// |
"youtube.com/" in url or "youtu.be/" in url |
ovos-ocp-m3u-plugin | Handles .pls and .m3u file formats |
m3u// , pls// |
".pls" in uri or ".m3u" in uri |
ovos-ocp-news-plugin | Handles dedicated news websites | news// |
any([uri.startswith(url) for url in URL_MAPPINGS]) |
Each plugin is designed to extract and process streams from specific types of content sources, ensuring seamless integration of services like YouTube, Bandcamp, RSS feeds, and more without introducing delays in skill interactions.
Standalone Usage
TODO: Instructions for using the plugins in a standalone setup
Plugin Template
TODO: Template for creating a new stream extractor plugin
Summary
These plugins delegate the task of stream extraction to just before playback, relieving skills from the burden of handling it themselves and preventing latency during search or other tasks. They ensure OVOS can integrate various streaming services efficiently by using SEIs to identify the stream and process the corresponding URI automatically.