=== MediaBlaster – Video CMS, Vimeo Import, Live TV & Podcasts === Contributors: robdavenport Tags: video player, vimeo, podcast, iptv, roku Requires at least: 6.3 Tested up to: 7.0 Requires PHP: 7.4 Stable tag: 3.2.0 License: GPL-2.0+ License URI: https://www.gnu.org/licenses/gpl-2.0.html Turn WordPress into a video CMS with HLS/DASH playback, Vimeo import, podcast RSS, live channels/EPG, and an app-ready REST API. == Description == MediaBlaster turns WordPress into a structured media CMS for video, podcasts, and scheduled live channels. Manage your catalog, embed native players, import Vimeo libraries, publish podcast RSS feeds, and expose app-ready content through the MediaBlaster REST API. MediaBlaster is the content and configuration layer. It is not a video host or a complete frontend theme. Use a WordPress theme, Gutenberg blocks, Elementor, or a custom website or app to present your content. Bring your own Vimeo account, CDN, or direct HLS, DASH, or MP4 hosting. == Core Features == = Video CMS = Manage Movies, Videos, Series, Episodes, metadata, posters, thumbnails, captions, chapter tracks, and HLS, DASH, or MP4 sources. No complete frontend video library layout is included. = MediaBlaster Player = HLS, DASH, and MP4; Video.js with native fallback; post-backed sources; captions and chapters; locked states when experimental subscriptions are enabled. * Shortcode: `[mediablaster_player]` * Legacy alias: `[tv-video-player]` * Gutenberg block: `mediablaster/player` * Elementor widget when Elementor is active = WordPress-native editing = * MediaBlaster Player Gutenberg block * MediaBlaster Audio Player Gutenberg block * MediaBlaster Player Elementor widget * MediaBlaster Audio Player Elementor widget = Vimeo integration = Opt-in, disabled by default. OAuth; browse/select videos; metadata and thumbnail import; import supported Vimeo playback URLs; review-before-import; bulk import; drafts by default. Playback data depends on account, permissions, and API response. = Podcasts = Disabled by default. Production-ready shows and episodes, immutable GUIDs, directory-quality RSS, subscriber-aware playback, write-capable podcast REST, RSS diagnostics, and Audio Player (`[mediablaster_audio_player]`, `mediablaster/audio-player` block, Elementor widget). = Live Channels and EPG — Beta = Disabled by default. Live streams, Channel Playlists, Channels, weekly scheduler, compiled airings, now/schedule data, EPG/Linear REST, live-channel deep links. Content/schedule/API layer only—not a Pluto TV replacement. = REST API and App Config = `/wp-json/mediablaster/v3/` for content, search, categories, podcasts, channels, EPG, deep links, and app config. See **MediaBlaster → Docs**. = Subscription foundation — Developer Preview = Disabled by default. Requires `WPST_SUBSCRIPTIONS_ENABLED` in `wp-config.php`. Early entitlements, tiers, access groups, subscribers, and Stripe Checkout. Test before production membership use. Extra provider classes are not complete integrations. == What You Can Build == * Content backend for a video library or streaming website * Podcast network with RSS and embedded audio players * Scheduled live channels with app-ready EPG data * Headless media site or content API for apps, including custom Roku apps == How MediaBlaster Works == 1. MediaBlaster manages content, metadata, players, schedules, feeds, and app configuration in WordPress. 2. The site owner selects and pays for their own media hosting. 3. A theme, page builder, custom frontend, or connected app presents the content. MediaBlaster does not upload, encode, host, or deliver video as a SaaS platform. Use HLS, DASH, or MP4 URLs from compatible hosts. Vimeo is a native opt-in integration; other providers are owner-configured. == Optional Roku Launch Kit == The free plugin can be the WordPress backend for custom apps. The MediaBlaster Roku Launch Kit is an optional commercial product sold separately. It connects a custom Roku app to MediaBlaster content and App Config and is not included with the WordPress.org plugin: https://www.mediablaster.io/roku-launch-kit == External Services == = Vimeo = Contacted only after an administrator enables Vimeo and starts OAuth or import. May transmit client ID, redirect URL, authorization code, and credentials or tokens. Library requests retrieve account/video metadata, thumbnails, tags, descriptions, durations, and playback files from Vimeo. Thumbnail import downloads the remote image. Connection data is stored in options. Activation alone does not connect Vimeo. Vimeo Terms of Service: https://vimeo.com/terms Vimeo Privacy Policy: https://vimeo.com/privacy = Stripe = For the subscription developer preview only. Contacted when subscriptions are enabled, Stripe credentials are set, and checkout, customer, subscription, or billing-portal actions run. May include name/email, user ID, site URL metadata, Price ID, and return URLs. Stripe returns IDs/statuses; webhooks send events. Checkout/portal users go to Stripe-hosted pages. Activation alone does not contact Stripe. Stripe Services Agreement: https://stripe.com/legal/ssa Stripe Privacy Policy: https://stripe.com/privacy = User-selected media hosting = During playback, the browser connects to media URLs configured by the site owner. That provider may receive IP, browser, referrer, cookies, or other request data under its terms. MediaBlaster does not auto-select a provider. Site owners document services they configure. == Screenshots == 1. MediaBlaster General Settings lets administrators enable only the video, Vimeo, podcast, and Live Channels tools they need. 2. The MediaBlaster Player block embeds a post-backed HLS, DASH, or MP4 video in the WordPress block editor. 3. Vimeo connection settings provide an opt-in OAuth workflow for importing a site owner's video library. 4. The Vimeo Mass Importer lets administrators search, review, configure, and import selected Vimeo videos. 5. Podcast Shows and Podcast Episodes include RSS settings and the MediaBlaster Audio Player. 6. Channel Playlists arrange Movies, Videos, Episodes, Series, and Live items into reusable programming blocks. 7. The Channel Scheduler builds a weekly linear schedule and compiles app-ready EPG data. 8. App Config centralizes branding, navigation, fallback images, and feature settings for connected applications. == Installation == 1. Install and activate MediaBlaster. 2. Open **MediaBlaster → General Settings**. 3. Enable only the modules you need (Vimeo, podcasts, and Live Channels are off by default). 4. Configure a video source or connect Vimeo if desired. 5. Add or import content. 6. Use MediaBlaster blocks, Elementor widgets, shortcodes, theme templates, or the REST API. 7. Review **MediaBlaster → Docs**. Activation alone does not create a finished streaming website. == Frequently Asked Questions == = Does MediaBlaster host or encode my videos? = No. It manages content and playback metadata. You supply compatible media hosting. = Can MediaBlaster build a complete streaming website by itself? = No. It supplies content, players, blocks, widgets, and APIs. Theme, page builder, or custom frontend still provide catalog and design. = How can I display MediaBlaster content in WordPress? = Player and Audio Player Gutenberg blocks, matching Elementor widgets, `[mediablaster_player]` / `[mediablaster_audio_player]`, theme templates, and `/wp-json/mediablaster/v3/`. = Does MediaBlaster work with Vimeo? = Yes, as an opt-in OAuth and import integration. Available playback files depend on Vimeo’s API, account, and video permissions. = Does the free plugin include a Roku application? = No. It supplies the WordPress backend and REST API. A custom Roku app can use the API; the optional Roku Launch Kit is sold separately. = Are podcasts and Live Channels production-ready? = Podcasts are production-ready in 3.2.0 (still disabled by default). Live Channels remain Beta and should be tested for your workflow. = Are subscriptions production-ready? = They are an explicitly enabled developer preview. Test thoroughly before production use. = What happened to WP Smart TV and Roku Direct Publisher? = WP Smart TV was renamed MediaBlaster. Existing content and legacy metadata are preserved where possible. Roku Direct Publisher endpoints and admin screens were removed in 3.x after Direct Publisher was discontinued. Old JSON feed: https://github.com/rovidxmedia/wp-smart-tv-legacy Back up before upgrading from WP Smart TV 2.x. == Upgrade Notice == = 3.2.0 = Podcasts leave Beta (immutable GUIDs, entitlements, production RSS, write REST, diagnostics). Adds optional Live Channels Beta module with scheduling/EPG. == Changelog == = 3.2.0 = * NEW: Admin UI shell, Features settings, grouped sections, toggles. * NEW: Setup Wizard onboarding (skip/resume/restart; drafts apply on Finish Setup). * NEW: Vimeo Integration rebuild (Connection, import defaults, Connect guard, metabox, API/SSL). * NEW: Import from Vimeo card UI with Review & Import bulk flow. * NEW: Live Channels & EPG (Beta) via Features (`rovidx_smart_tv_live_channels_enabled`). * NEW: Live, Channel Playlists, Channels, weekly Channel Schedule UI, airings compiler. * UPDATED: Channel Scheduler — local times, precise resize, overnight blocks, Undo, DST-safe weekly recurrence. * NEW: Linear REST `/channels`, `/now`, `/schedule`, `/epg`, `/live`, admin `/linear/*`. * NEW: App Config `linearTv`; deep link `mediaType=liveFeed`; Linear TV docs. * NEW: Podcasts → Integrations admin shell and Distribution side panels via `mediablaster_podcast_distribution_actions` for paid distribution add-ons. * UPDATED: Features switchboard for Podcasts, Live Channels/EPG, Vimeo (off by default). * UPDATED: Podcasts leave Beta — immutable GUIDs, canonical entitlements, production RSS, write-capable REST, RSS diagnostics, accessible audio player. = 3.1.2 = * NEW: Deep-link API and `deep_link` metadata on content items. Earlier history: see `changelog.txt` in the plugin package. == Support == * Built-in docs: **MediaBlaster → Docs** * Product info: https://www.mediablaster.io * Free training: https://www.skool.com/ai-content-creators-6489/classroom/44d3f393 * WordPress.org support forum for free-plugin questions. == License == MediaBlaster is licensed under the GPL v2 or later. https://www.gnu.org/licenses/gpl-2.0.html