=== MediaBlaster – Video CMS, IPTV, Podcasts & Streaming Toolkit ===
Contributors: robdavenport
Tags: video, video cms, streaming, iptv, vimeo, podcasts, subscriptions, media, roku
Requires at least: 6.3
Tested up to: 7.0
Requires PHP: 7.4
Stable tag: 3.1.1
License: GPL-2.0+
License URI: https://www.gnu.org/licenses/gpl-2.0.html

MediaBlaster helps creators, publishers, educators, and media brands turn WordPress into a powerful video and audio publishing platform.

== Description ==

MediaBlaster is the next evolution of WP Smart TV.

Originally launched as WP Smart TV, the plugin helped WordPress users create IPTV-style video feeds for platforms like Roku Direct Publisher. Roku Direct Publisher is discontinued, and the live Roku JSON feed has moved to the separate WP Smart TV – Legacy plugin (https://github.com/rovidxmedia/wp-smart-tv-legacy). MediaBlaster is the forward path for video CMS, players, podcasts, subscriptions, and the `/wp-json/mediablaster/v3/` REST API.

That is why WP Smart TV has been renamed and rebuilt as **MediaBlaster**.

MediaBlaster is a WordPress-powered media CMS for creators, publishers, educators, filmmakers, podcasters, and businesses that want to organize, publish, and monetize video and audio content from one central place.

Use it to build:

* Video libraries
* IPTV-style content catalogs
* Podcast and episode archives
* Membership-based media sites
* Headless WordPress media backends
* Custom video websites
* Roku, mobile, TV, or web app content sources
* AI-assisted media brands and creator platforms

Learn more at <a href="https://www.mediablaster.io">mediablaster.io</a>.

We also provide a full training course for free.  <a href="https://www.skool.com/ai-content-creators-6489/classroom/44d3f393">Check it out here</a>.

== MediaBlaster Launch Kits ==

Your content should not be stuck inside WordPress.

MediaBlaster Launch Kits help you turn your video library into real apps for Smart TV, mobile, and the web without monthly platform fees or expensive custom development.

Each Launch Kit is a one-time purchase and includes the full source code. That means you own the app, can customize it, and can keep improving it over time. We also include AI Skills to help you make design and feature changes faster.

Our first Launch Kit is for Roku.

The MediaBlaster Roku Launch Kit lets you launch a branded Roku video channel powered by your MediaBlaster WordPress content. It is ideal for creators, churches, educators, filmmakers, local media brands, businesses, and agencies that want their own Roku app without starting from zero.

Get the Roku Launch Kit today: <a href="https://www.mediablaster.io/roku-launch-kit">Click Here to get the kit</a>

== WP Smart TV is now MediaBlaster ==

If you previously used WP Smart TV, this is the same plugin project moving forward under a new name.

The name has changed because the plugin is no longer focused only on “smart TV” or Roku Direct Publisher workflows. MediaBlaster is designed for the broader media publishing landscape: web video, Vimeo libraries, podcasts, subscriptions, headless WordPress, custom apps, and creator-led media platforms.

Important notes for existing users:

* Existing WP Smart TV content remains supported.
* Existing video post types and metadata are preserved where possible.
* The user-facing name is now MediaBlaster.
* The live Roku Direct Publisher REST feed (`/wp-json/tv/roku/`) and legacy `/wp-json/wpst/v1/` routes are **not registered in 3.0.0**.
* Roku Direct Publisher admin screens (Roku Settings, Recipes, feed export) have been removed from MediaBlaster.
* If you still need a Roku Direct Publisher JSON feed, use the separate **WP Smart TV – Legacy** plugin: https://github.com/rovidxmedia/wp-smart-tv-legacy
* New development is focused on MediaBlaster as a modern WordPress media platform (REST API, players, podcasts, subscriptions).

== Key Features ==

= Video CMS for WordPress =

MediaBlaster adds structured media content management to WordPress, allowing you to organize video content using dedicated media post types and metadata.

Manage:

* Movies
* Episodes
* Series
* Short-form videos
* Video metadata
* Thumbnails
* Captions
* HLS and MP4 video URLs
* Vimeo-connected media
* Legacy video metadata (captions, trickplay, ad breaks) when Legacy Controls are enabled

= MediaBlaster Player =

MediaBlaster includes a modern HTML5 video player powered by Video.js with a native fallback.

Embed methods (all use the same PHP renderer):

* Shortcode `[mediablaster_player]` (legacy alias: `[tv-video-player]`)
* Gutenberg block `mediablaster/player`
* Elementor widget (when Elementor is active)

Features include HLS/DASH/MP4 playback, captions and chapter tracks, subscription-aware locked states, and post-backed source resolution from MediaBlaster video meta.

= Vimeo Integration =

Vimeo integration is **built into the core plugin** but **disabled by default**. Enable it under **MediaBlaster → General Settings → Enable Vimeo Integration**.

MediaBlaster supports creators and publishers using Vimeo Pro, Business, or other Vimeo-hosted libraries.

Features include:

* Vimeo OAuth connection flow
* Vimeo video URL support
* Vimeo metadata syncing
* Thumbnail importing
* HLS video URL support where available
* Tags, titles, and descriptions
* Guided Vimeo Mass Import workflow
* Review-before-import process

This replaces the older separate Vimeo Extender workflow and brings Vimeo support directly into the core plugin.

= Modern Vimeo Mass Importer =

The Vimeo Mass Importer has been redesigned to make importing large video libraries easier.

The new importer includes:

* Cleaner card-based interface
* Import readiness status
* Review & Import step
* Collapsed advanced settings
* Loading and progress states
* Better error handling
* Simpler workflow for non-technical users

= Podcast & Episode Publishing (Beta) =

Podcast support is **built into MediaBlaster** but **disabled by default**. Enable it under **MediaBlaster → General Settings → Enable Podcasts**.

When enabled, MediaBlaster adds:

* **Podcast Shows** and **Podcast Episodes** custom post types
* Per-show RSS feeds (Apple Podcasts / Spotify-compatible)
* Public show and episode pages (optional)
* Podcast Settings tab (RSS bases, public URLs, premium teasers when subscriptions are on)
* REST API at `/wp-json/mediablaster/v3/podcasts`
* **Podcast Audio Player** — shortcode `[mediablaster_audio_player]`, Gutenberg block `mediablaster/audio-player`, Elementor widget, and default episode templates

Podcast features are in beta and may change in future releases.

= Subscription Foundation =

MediaBlaster includes a subscription and entitlement foundation for publishers who want to restrict access to premium content.

Subscription features include:

* Subscription tiers
* Access groups
* Manual subscriber management
* Subscriber access rules
* Subscription-aware video and podcast content controls
* REST API auth and subscriber status endpoints
* Shortcodes for subscribe/account workflows

Subscriptions are **disabled by default**. Enable early access by adding `define( 'WPST_SUBSCRIPTIONS_ENABLED', true );` to `wp-config.php`, then configure under **MediaBlaster → Subscriptions**.

= Stripe Checkout Support =

MediaBlaster includes early Stripe Checkout support for web-based subscriptions.

Stripe features include:

* Stripe hosted checkout
* Stripe billing portal
* Tier-to-Stripe Price ID mapping
* Stripe webhook handling
* Subscription sync tools
* Stripe checkout shortcode
* Public subscription app configuration endpoint (`GET /app/config`)

Additional payment provider support is planned for app and platform-based payment workflows.

= App Config =

MediaBlaster includes a platform app configuration system for connected TV and mobile clients.

* Admin: **MediaBlaster → App Config** (under General Settings) with an **App Settings** tab (additional platforms planned)
* Public REST: `GET /wp-json/mediablaster/v3/config?platform=roku`
* Configure branding colors (color picker + custom hex), fallback hero/poster images (URL, `pkg:` path, or Media Library), navigation features, labels, home layout, and boot behavior
* Saved settings merge with sensible defaults; `homeRows` returns `[]` in v1
* Distinct from subscription `GET /app/config` (Stripe and auth client settings)

= REST API for Headless and App Builds =

MediaBlaster includes a modern REST API foundation under:

`/wp-json/mediablaster/v3/`

This API is designed for:

* Headless WordPress sites
* Custom front ends
* Mobile apps
* Roku apps
* TV apps
* AI-generated front ends
* Subscriber-aware media apps

The goal is to make WordPress the content hub while allowing developers and creators to build whatever front end they need.

= Legacy WP Smart TV Compatibility =

MediaBlaster preserves existing WP Smart TV content and metadata, but **does not serve the Roku Direct Publisher REST feed in 3.0.0**.

Removed in MediaBlaster 3.0.0:

* Live Roku Direct Publisher feed at `/wp-json/tv/roku/`
* Legacy REST namespace `/wp-json/wpst/v1/`
* Roku Direct Publisher admin screens (Roku Settings, Recipes, feed export UI)

Still available in MediaBlaster:

* Existing video post types, `rovidx_smarttv_*` meta, and series structures
* Optional **Legacy Controls** on General Settings (trickplay/BIF, subtitles, advanced fields, advertising metaboxes)
* Roku JSON **import** logic (internal; admin Import/Export tab removed — use REST API or the legacy plugin for feed output)
* Internal Roku feed builder class (for compatibility hooks only; not registered as a public REST route)

**Need a Roku Direct Publisher JSON feed?** Install the open-source legacy plugin maintained separately:

https://github.com/rovidxmedia/wp-smart-tv-legacy

That plugin (WP Smart TV – Legacy, v2.3.0) continues bug-fix support for Roku Direct Publisher workflows. MediaBlaster 3.0.0+ is the forward path for REST API, players, podcasts, and subscriptions.

= Shortcodes =

MediaBlaster includes shortcodes for displaying and interacting with media content inside WordPress pages and posts.

Available shortcodes include:

* `[mediablaster_player]` / `[tv-video-player]` — video player
* `[mediablaster_audio_player]` — podcast audio player (podcasts enabled)
* `[wpst_subscribe]` / `[wpst_stripe_checkout]` — Stripe checkout (subscriptions enabled)
* `[wpst_account]` — subscriber account and billing portal (subscriptions enabled)

Shortcode availability depends on which features are enabled.

= Built-in Documentation =

MediaBlaster includes in-plugin documentation inside WordPress admin.

Look for:

MediaBlaster → Docs

Documentation may include setup guides for:

* App Config (Roku and platform app settings)
* Vimeo integration
* Subscriptions
* Stripe Checkout
* REST API usage
* MediaBlaster Player and Podcast Audio Player
* Podcast publishing
* Developer references

Vimeo, podcast, and subscription guides appear only when those features are enabled.

== Who MediaBlaster Is For ==

MediaBlaster is built for:

* Video creators
* Podcasters
* Course creators
* Filmmakers
* Churches and ministries
* Educators
* Local media companies
* Niche streaming publishers
* AI content creators
* Agencies building media websites for clients
* Developers building custom app front ends
* Businesses that want a branded media library

If you want WordPress to act as the hub for a media-driven website, video platform, podcast network, or custom streaming app, MediaBlaster is built for that direction.

== What MediaBlaster Is Not ==

MediaBlaster is not a video hosting service.

You still need to host your media files with a proper video host, CDN, Vimeo account, cloud storage provider, or other media delivery system.

MediaBlaster helps you organize, manage, display, structure, and publish your media from WordPress.

== Recommended Media Hosting ==

MediaBlaster works best when paired with a dedicated media hosting solution.

Common options include:

* Vimeo
* Bunny.net
* Cloudflare Stream
* Amazon S3 and CloudFront
* Wasabi
* Custom HLS hosting
* Other CDN-backed media storage

YouTube is generally not recommended for direct video feed workflows because YouTube does not provide the direct HLS or MP4 URLs required for many custom video player and app workflows.

== Frequently Asked Questions ==

= Is WP Smart TV discontinued? =

WP Smart TV has been renamed and rebuilt as MediaBlaster.

The old WP Smart TV name no longer represents the direction of the plugin. MediaBlaster is the new name for the project moving forward.

= Why did the name change? =

The plugin started during the Roku Direct Publisher era. Since then, the media publishing landscape has changed.

Creators now need tools for websites, apps, podcasts, subscriptions, AI-assisted media workflows, Vimeo libraries, headless WordPress, and custom streaming platforms.

The MediaBlaster name better reflects the broader purpose of the plugin.

= Will my old WP Smart TV content still work? =

The goal is to preserve existing content and metadata wherever possible.

Existing users should back up their site before upgrading, especially when moving from older WP Smart TV versions to MediaBlaster 3.x.

= Does MediaBlaster still support Roku Direct Publisher? =

Not as a live JSON feed in 3.0.0. MediaBlaster removed the `/wp-json/tv/roku/` REST endpoint and Roku-specific admin screens because Roku Direct Publisher is discontinued.

Your existing video content and metadata remain in WordPress. For a Roku Direct Publisher JSON feed, install **WP Smart TV – Legacy** from GitHub:

https://github.com/rovidxmedia/wp-smart-tv-legacy

For new app and device workflows, use the MediaBlaster REST API at `/wp-json/mediablaster/v3/` or build a custom Roku channel against that API.

= Does MediaBlaster host my videos? =

No. MediaBlaster is not a video hosting service.

You should host your media files with Vimeo, Bunny.net, Cloudflare Stream, Amazon S3, Wasabi, or another media hosting/CDN provider.

= Does MediaBlaster work with Vimeo? =

Yes. MediaBlaster includes built-in Vimeo integration.

You can connect Vimeo, import video metadata, sync thumbnails, and use Vimeo-hosted video data inside your WordPress media library.

= Does MediaBlaster work with YouTube? =

Not for direct video app/feed workflows.

YouTube does not provide the direct media URLs required for many IPTV, app, and custom video player use cases.

= Can I use MediaBlaster for podcasts? =

Yes. Enable **Enable Podcasts** under **MediaBlaster → General Settings**, then configure **Podcast Settings** and create shows and episodes.

Podcast features include RSS feeds, public pages, REST API output, and the Podcast Audio Player. Podcast support is in beta and may evolve in future releases.

= Can I build a headless media site with MediaBlaster? =

Yes. MediaBlaster includes a REST API foundation designed for headless WordPress, custom front ends, mobile apps, TV apps, and other app-based media experiences.

= Can I charge for content? =

MediaBlaster includes a subscription foundation and early Stripe Checkout support.

Subscription features are disabled by default and can be enabled when needed.

= Where can I learn how to use MediaBlaster? =

Visit the MediaBlaster website at <a href="https://www.mediablaster.io">mediablaster.io</a>.

You can also join the community on <a href="https://www.skool.com/ai-content-creators-6489">Skool</a>.

The community is where we discuss MediaBlaster, AI-assisted content creation, media publishing, custom front ends, and creator monetization.

== Installation ==

1. Upload the plugin files to the `/wp-content/plugins/wp-smart-tv/` directory, or install the plugin through the WordPress plugins screen.
2. Activate the plugin through the Plugins screen in WordPress.
3. Go to MediaBlaster in your WordPress admin menu.
4. Configure your media post types, Vimeo integration, podcast settings, or subscription options as needed.
5. Add or import your media content.
6. Use shortcodes, templates, feeds, or the REST API to display and publish your content.

== Getting Started ==

After activating MediaBlaster:

1. Go to MediaBlaster → General Settings.
2. Choose which media features you want to enable (post types, Vimeo, podcasts).
3. If using Vimeo, enable Vimeo Integration and connect your Vimeo app.
4. If using podcasts, enable Podcasts and configure Podcast Settings.
5. Add or import your video or podcast content.
6. Review your content metadata.
7. Use MediaBlaster shortcodes, templates, or REST API endpoints to publish your content.
8. Visit MediaBlaster → Docs for setup guides.

== Upgrade Notice ==

= 3.1.1 =

Moves Roku ad settings out of **MediaBlaster → App Config** into the **MediaBlaster Roku License Auth** addon (**MediaBlaster → Roku App → Monetization**). Existing advertisement values migrate automatically when the addon is active. The public App Config REST response is unchanged.

= 3.1.0 =

Adds platform App Config for connected TV and mobile clients — admin UI under **MediaBlaster → App Config**, public `GET /wp-json/mediablaster/v3/config?platform=roku`, color pickers, and Media Library fallback images.

= 3.0.0 =

WP Smart TV is now MediaBlaster.

This is a major update and rebrand. Existing users should back up their site before upgrading.

MediaBlaster 3.0.0 introduces a modernized admin experience, built-in Vimeo integration, a redesigned Vimeo Mass Importer, REST API foundation, subscription groundwork, Stripe Checkout support, and a broader focus on video, podcasting, headless publishing, and creator media platforms.

The Roku Direct Publisher REST feed (`/wp-json/tv/roku/`) and related admin screens have been removed. Existing content and metadata are preserved.

If you depend on a Roku Direct Publisher JSON feed, install **WP Smart TV – Legacy** before or after upgrading:

https://github.com/rovidxmedia/wp-smart-tv-legacy

== Changelog ==

= 3.1.1 =

* UPDATE: Minor bug fixes and additions to support our new <a href="https://www.mediablaster.io/roku-launch-kit">Roku Launch Kit</a>.

= 3.1.0 =

* NEW: Platform App Config admin screen — **MediaBlaster → App Config** (positioned under General Settings) with an **App Settings** tab for connected TV and mobile clients.
* NEW: Public App Config REST endpoint — `GET /wp-json/mediablaster/v3/config?platform=roku` (discoverable via `links.config` on the v3 index).
* NEW: App Config covers app name, content availability, branding colors, fallback images, support/privacy links, sidebar, navigation features, labels, home layout, home tag rows, and boot behavior.
* NEW: App Config branding colors use WordPress color pickers with custom hex input.
* NEW: App Config fallback images support manual URL or Roku package paths (`pkg:/images/…`) plus WordPress Media Library selection with admin preview.
* NEW: App Config **Clear** on image fields restores built-in Roku placeholder paths.
* NEW: App Config admin uses CMB2-style grouped sections, toggle switches, inline field descriptions, and a read-only REST endpoint card.
* NEW: App Config in-plugin documentation under **MediaBlaster → Docs** (App Config and REST API — App Config guides).
* NEW: App Config is distinct from subscription `GET /app/config` (Stripe and auth client settings when subscriptions REST is enabled).

= 3.0.0 =

* REBRAND: WP Smart TV is now MediaBlaster.
* NEW: Updated plugin positioning for modern media publishing, video libraries, podcasts, subscriptions, and headless WordPress workflows.
* NEW: MediaBlaster website added: <a href="https://www.mediablaster.io">mediablaster.io</a>
* NEW: Community link added: <a href="https://www.skool.com/ai-content-creators-6489">Skool community</a>
* NEW: Vimeo integration is now built into the core plugin.
* NEW: Vimeo OAuth connection flow.
* NEW: Vimeo metadata, thumbnail, tag, title, and description syncing.
* NEW: Redesigned Vimeo Mass Import workflow.
* NEW: Guided Review & Import process for Vimeo videos.
* NEW: General Settings reorganized into clearer feature sections.
* NEW: Subscription and entitlement foundation.
* NEW: Subscription tiers and access groups.
* NEW: Stripe Checkout foundation for web subscriptions.
* NEW: Stripe billing portal and webhook handling.
* NEW: REST API foundation under `/wp-json/mediablaster/v3/`.
* NEW: API direction for headless WordPress, custom apps, mobile apps, TV apps, and subscriber-aware media experiences.
* NEW: Podcast Shows and Episodes (beta), RSS feeds, public pages, and Podcast Audio Player.
* NEW: MediaBlaster Player — Video.js HTML5 player with shortcode, Gutenberg block, and Elementor widget.
* NEW: In-plugin documentation under MediaBlaster → Docs.
* NEW: Legacy Controls toggle for optional trickplay, subtitle, advanced, and advertising metaboxes.
* UPDATED: Vimeo integration and podcasts are opt-in via General Settings (off by default).
* UPDATED: Subscriptions require `WPST_SUBSCRIPTIONS_ENABLED` in `wp-config.php`.
* UPDATED: Documentation and branding moved to MediaBlaster.
* REMOVED: Roku Direct Publisher REST feed at `/wp-json/tv/roku/` (use WP Smart TV – Legacy plugin: https://github.com/rovidxmedia/wp-smart-tv-legacy).
* REMOVED: Legacy REST namespace `/wp-json/wpst/v1/`.
* REMOVED: Roku Direct Publisher admin screens (Roku Settings, Recipes, feed export UI).
* REMOVED: Import/Export admin tab (prefer REST API for catalog access).
* REMOVED: Separate Vimeo Extender add-on requirement (merged into core).
* REMOVED: EDD software licensing and automatic update checker.
* FIXED: Improved Vimeo importer reliability, security, and error handling.
* FIXED: Better admin structure for modern WordPress media workflows.

= 2.2.5 =

* NEW: Merged the former Vimeo Extender add-on into the core plugin.
* NEW: Added Vimeo Integrations and Vimeo Settings tabs.
* NEW: Added Vimeo OAuth connection flow.
* NEW: Added Vimeo URL metabox support.
* NEW: Added Vimeo Mass Import tools.
* SECURITY: Hardened Vimeo AJAX requests.
* COMPAT: Preserved existing Vimeo option keys, post meta keys, and AJAX action names.
* FIXED: Vimeo Mass Import DataTables Ajax errors.
* FIXED: Vimeo API SSL certificate handling.
* REMOVED: Removed the separate Vimeo Extender license/update requirement.

= 2.2.4 =

* UPDATE: Admin menu labels renamed.
* UPDATE: General Settings deprecation notices added.
* UPDATE: Roku Publisher deprecation notice added.
* MISC: Readme and internal version bump.

== Roadmap ==

MediaBlaster is being developed as a broader media publishing system for WordPress.

Planned areas of focus include:

* Podcast publishing improvements (currently in beta)
* More REST API endpoints
* Improved headless front-end support
* Better subscription workflows
* Additional payment provider support
* Better app-focused content delivery
* Creator and agency documentation
* Example front-end builds
* Tutorials for building custom MediaBlaster themes and apps

Join the community to follow development, ask questions, and help shape the roadmap on <a href="https://www.skool.com/ai-content-creators-6489">Skool</a>.

== Developer Notes ==

MediaBlaster is designed to support both traditional WordPress sites and headless WordPress builds.

Developers can use the MediaBlaster REST API (`/wp-json/mediablaster/v3/`), custom post types, metadata, and WordPress theme system to build custom media experiences.

For Roku Direct Publisher JSON feeds specifically, use the legacy plugin at https://github.com/rovidxmedia/wp-smart-tv-legacy. For custom Roku channels or other apps, consume the MediaBlaster v3 REST API.

Potential use cases include:

* Custom WordPress themes
* Next.js front ends
* React Native apps
* Roku apps
* Expo mobile apps
* TV-style interfaces
* Subscriber-only media portals
* AI-generated content sites
* Niche streaming networks

== Support ==

For documentation and updates, visit <a href="https://www.mediablaster.io">mediablaster.io</a>.

For community discussion, tutorials, and creator workflows, join us on <a href="https://www.skool.com/ai-content-creators-6489">Skool</a>.

== License ==

MediaBlaster is licensed under the GPL v2 or later.

See:
https://www.gnu.org/licenses/gpl-2.0.html