{"id":327387,"date":"2026-06-17T08:08:18","date_gmt":"2026-06-17T08:08:18","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/truce-label-video-player-with-vast-ads\/"},"modified":"2026-06-17T08:08:03","modified_gmt":"2026-06-17T08:08:03","slug":"truce-label-video-player-with-vast-ads","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/truce-label-video-player-with-vast-ads\/","author":23517725,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"1.0.0","tested":"7.0","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"Truce Label Video Player with VAST Ads","header_author":"Truce Label Labs","header_description":"Lightweight MP4 \/ HLS video player with a built-in post-roll video ad (Google IMA \/ VAST). Includes a Gutenberg block and a shortcode. No server-side fetching, no custom tables, no cron.","assets_banners_color":"414141","last_updated":"2026-06-17 08:08:03","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/trucelabel.com","header_plugin_uri":"","header_author_uri":"https:\/\/trucelabel.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":26,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"trucetech","date":"2026-06-17 08:08:03"}},"upgrade_notice":{"1.0.0":"<p>Initial release.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3575420,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3575420,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3575420,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3575420,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":{"truce-label\/vast-video-player":{"$schema":"https:\/\/schemas.wp.org\/trunk\/block.json","apiVersion":3,"name":"truce-label\/vast-video-player","version":"1.0.0","title":"VAST Video Player","category":"media","icon":"video-alt3","description":"Play an MP4 or HLS video with a built-in post-roll ad.","keywords":["video","vast","ads","player"],"textdomain":"truce-label-video-player-with-vast-ads","attributes":{"video":{"type":"string","default":""},"poster":{"type":"string","default":""},"postroll":{"type":"string","default":""}},"supports":{"html":false,"align":["wide","full"]},"editorScript":"vvp-block-editor"}},"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"The Settings \u2192 VAST Video Player admin page where you paste your post-roll VAST tag.","2":"The player on the front end, with a custom play button and poster.","3":"The VAST Video Player block in the Gutenberg editor."}},"plugin_section":[],"plugin_tags":[127055,267472,14229,5637,6402],"plugin_category":[],"plugin_contributors":[267473],"plugin_business_model":[],"class_list":["post-327387","plugin","type-plugin","status-publish","hentry","plugin_tags-hls","plugin_tags-postroll","plugin_tags-vast","plugin_tags-video-player","plugin_tags-video-ads","plugin_contributors-trucetech","plugin_committers-trucetech"],"banners":{"banner":"https:\/\/ps.w.org\/truce-label-video-player-with-vast-ads\/assets\/banner-772x250.png?rev=3575420","banner_2x":"https:\/\/ps.w.org\/truce-label-video-player-with-vast-ads\/assets\/banner-1544x500.png?rev=3575420","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/truce-label-video-player-with-vast-ads\/assets\/icon-128x128.png?rev=3575420","icon_2x":"https:\/\/ps.w.org\/truce-label-video-player-with-vast-ads\/assets\/icon-256x256.png?rev=3575420","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p><strong>Truce Label Video Player with VAST Ads<\/strong> is a lightweight WordPress video player that plays your own video and shows a single <strong>post-roll<\/strong> video ad \u2014 a VAST ad that runs when the video finishes. Add it to any post or page with a Gutenberg block or a shortcode.<\/p>\n\n<p>It is built to stay out of your server's way: there is <strong>no server-side fetching, no custom database tables, and no cron jobs<\/strong>. Your ad tag and settings live in a single WordPress option, the player uses the browser's native <code>&lt;video&gt;<\/code> element (no heavy third-party libraries are loaded), and the ad is rendered entirely in the visitor's browser by Google's IMA SDK. The player script and the ad code load <strong>only on pages that actually contain a player<\/strong>, so the rest of your site is untouched.<\/p>\n\n<h4>What the free version does<\/h4>\n\n<ul>\n<li><strong>Native MP4 playback<\/strong> in every modern browser, plus <strong>HLS<\/strong> (<code>.m3u8<\/code>) in browsers that support it natively (Safari and iOS).<\/li>\n<li><strong>One post-roll video ad<\/strong> when the video ends, using a single VAST tag URL from your own ad network.<\/li>\n<li><strong>Native skip handling<\/strong> \u2014 the ad's own <code>skipoffset<\/code> controls whether it can be skipped; the IMA SDK draws the skip button automatically.<\/li>\n<li><strong>Graceful ad failure<\/strong> \u2014 if the ad errors or does not load within 8 seconds, playback ends cleanly with no black screen.<\/li>\n<li><strong>Gutenberg block + shortcode<\/strong> \u2014 add the <strong>VAST Video Player<\/strong> block, or use <code>[vastvp_player]<\/code> in classic content.<\/li>\n<li><strong>Optional poster image<\/strong> for the pre-play thumbnail (no scraping, no network calls).<\/li>\n<li><strong>Responsive<\/strong> and touch-friendly.<\/li>\n<\/ul>\n\n<h4>Shortcode example<\/h4>\n\n<pre><code>[vastvp_player video=\"https:\/\/example.com\/video.mp4\" poster=\"https:\/\/example.com\/thumb.jpg\" postroll=\"https:\/\/your-ad-network.example\/vast.xml\"]\n<\/code><\/pre>\n\n<p>If you set a global post-roll tag under Settings, you can omit the <code>postroll<\/code> attribute and it will be used automatically.<\/p>\n\n<h4>Upgrade to Pro<\/h4>\n\n<p><strong>VAST Pro Player Ultimate<\/strong> (a separate add-on from <a href=\"https:\/\/trucelabel.com\">Truce Label<\/a>) builds on this free player and adds:<\/p>\n\n<ul>\n<li><strong>Pre-roll<\/strong> ads (before the video starts) and <strong>mid-roll<\/strong> ads (at timed intervals during playback), with a configurable interval.<\/li>\n<li>A <strong>four-slot VAST rotation<\/strong> with automatic fallback between tags.<\/li>\n<li><strong>Iframe-embed support<\/strong> \u2014 wrap a video embedded from another host in the player.<\/li>\n<li>A second, <strong>banner \/ social-bar ad engine<\/strong> \u2014 closeable, non-blocking overlays that don't pause the video, as an A\/B alternative to VAST.<\/li>\n<\/ul>\n\n<p><strong>Get Pro for $5\/month:<\/strong> <a href=\"https:\/\/checkout.freemius.com\/plugin\/31537\/plan\/51775\/\">Upgrade now<\/a> \u2014 or <a href=\"https:\/\/checkout.freemius.com\/plugin\/31537\/plan\/51775\/?trial=paid\">start a 3-day trial<\/a>.<\/p>\n\n<p>The free version is fully functional on its own; Pro is optional. Learn more at <a href=\"https:\/\/trucelabel.com\">trucelabel.com<\/a>.<\/p>\n\n<h3>External services<\/h3>\n\n<p>This plugin relies on the following third-party services, which run only on pages where the player is present:<\/p>\n\n<ul>\n<li><strong>Google IMA SDK<\/strong> \u2014 loaded from Google to render your VAST video ad in the visitor's browser. See Google's <a href=\"https:\/\/developers.google.com\/interactive-media-ads\/docs\/sdks\/html5\/client-side\/terms\">Terms of Service<\/a> and <a href=\"https:\/\/policies.google.com\/privacy\">Privacy Policy<\/a>.<\/li>\n<li><strong>Your configured VAST ad endpoint<\/strong> \u2014 the VAST tag URL you paste in the settings is requested by the visitor's browser when the video ends, to fetch the ad. This is the ad network <em>you<\/em> choose; please review that network's terms and privacy policy.<\/li>\n<\/ul>\n\n<p>The plugin sends no data to Truce Label and contacts no other services.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>In your WordPress admin, go to <strong>Plugins \u2192 Add New<\/strong>, search for <strong>Truce Label Video Player with VAST Ads<\/strong>, and click <strong>Install Now<\/strong>, then <strong>Activate<\/strong>. (Or upload the <code>truce-label-video-player-with-vast-ads<\/code> folder to <code>\/wp-content\/plugins\/<\/code> and activate it.)<\/li>\n<li>Go to <strong>Settings \u2192 VAST Video Player<\/strong> and paste your post-roll VAST tag URL from your ad network. (Optional \u2014 leave it blank to play videos with no ad.)<\/li>\n<li>Add the <strong>VAST Video Player<\/strong> block to a post or page, or use the <code>[vastvp_player]<\/code> shortcode, and set your video URL.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"what%20ad%20format%20does%20the%20free%20version%20show%3F\"><h3>What ad format does the free version show?<\/h3><\/dt>\n<dd><p>A single <strong>post-roll<\/strong> VAST video ad that plays when the video finishes. You supply a VAST tag URL from your own ad network. Pre-roll, mid-roll, the four-slot rotation, iframe-embed support, and the banner\/social-bar engine are part of the Pro add-on.<\/p><\/dd>\n<dt id=\"where%20do%20i%20get%20a%20vast%20tag%3F\"><h3>Where do I get a VAST tag?<\/h3><\/dt>\n<dd><p>From whichever video ad network you use. The plugin does not provide ads or an ad account \u2014 it simply renders the VAST tag you paste into the settings.<\/p><\/dd>\n<dt id=\"does%20hls%20work%20in%20every%20browser%3F\"><h3>Does HLS work in every browser?<\/h3><\/dt>\n<dd><p>The free player uses the browser's built-in video support, so HLS (<code>.m3u8<\/code>) plays in browsers with native HLS support (Safari and iOS). MP4 plays everywhere. Universal HLS playback and iframe embeds are part of the Pro add-on.<\/p><\/dd>\n<dt id=\"will%20it%20slow%20down%20my%20site%20or%20hit%20my%20database%3F\"><h3>Will it slow down my site or hit my database?<\/h3><\/dt>\n<dd><p>No. The plugin makes no server-side HTTP requests when rendering, creates no custom tables, and schedules no cron jobs. The player script and ad code load only on pages where a player is present.<\/p><\/dd>\n<dt id=\"is%20this%20gpl%3F\"><h3>Is this GPL?<\/h3><\/dt>\n<dd><p>Yes \u2014 GPLv2 or later. The Pro add-on is sold separately from trucelabel.com.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial WordPress.org release: native MP4\/HLS player with a post-roll VAST ad, Gutenberg block, and shortcode.<\/li>\n<\/ul>","raw_excerpt":"Lightweight MP4\/HLS video player with a built-in post-roll video ad (VAST). Gutenberg block and shortcode included.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/327387","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=327387"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/trucetech"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=327387"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=327387"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=327387"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=327387"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=327387"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=327387"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}