Is it possible to make a banner ad with a video in it respecting the size limit of for example google ads?
Asked Answered
L

3

8

How would I make a banner ad with video implemented in, for example, Animate CC which respects the common size limits (150kB)?

I found out you can implement a HTML5 video with Javascript? Perhaps a gif? Any tutorials or guides are welcome.

Louralourdes answered 1/7, 2016 at 15:23 Comment(0)
L
8

Yes, it is possible. Here is a very small 7K video, within SO's size limit (6.6K zipped):

<!DOCTYPE html><html>
<meta charset="utf-8"><meta name="ad.size" content="width=320,height=100">
<body>
<script>
setTimeout( function(){
   var v = document.querySelector( '#video' );
   v.removeAttribute('loop'); /* Stop loop after 1 seconds (set below) */
   v.addEventListener('ended', function(){
      v.currentTime = 0.6; /* Rewind to 0.6 sec */
      v.pause(); /* Stop video for IE 11 */
   });
 }, 1000 );
</script>
<video id="video" width="272" height="48" onclick='this.play()' autoplay loop src='data:video/mp4;base64,AAAAIGZ0eXBpc29tAAACAGlzb21pc28yYXZjMW1wNDEAAAAIZnJlZQAAFg5tZGF0AAACsAYF//+s3EXpvebZSLeWLNgg2SPu73gyNjQgLSBjb3JlIDE0OCByMjY2NSBhMDFlMzM5IC0gSC4yNjQvTVBFRy00IEFWQyBjb2RlYyAtIENvcHlsZWZ0IDIwMDMtMjAxNiAtIGh0dHA6Ly93d3cudmlkZW9sYW4ub3JnL3gyNjQuaHRtbCAtIG9wdGlvbnM6IGNhYmFjPTEgcmVmPTE2IGRlYmxvY2s9MTowOjAgYW5hbHlzZT0weDM6MHgxMzMgbWU9dW1oIHN1Ym1lPTEwIHBzeT0xIHBzeV9yZD0xLjAwOjAuMDAgbWl4ZWRfcmVmPTEgbWVfcmFuZ2U9MjQgY2hyb21hX21lPTEgdHJlbGxpcz0yIDh4OGRjdD0xIGNxbT0wIGRlYWR6b25lPTIxLDExIGZhc3RfcHNraXA9MSBjaHJvbWFfcXBfb2Zmc2V0PS0yIHRocmVhZHM9MSBsb29rYWhlYWRfdGhyZWFkcz0xIHNsaWNlZF90aHJlYWRzPTAgbnI9MCBkZWNpbWF0ZT0xIGludGVybGFjZWQ9MCBibHVyYXlfY29tcGF0PTAgY29uc3RyYWluZWRfaW50cmE9MCBiZnJhbWVzPTggYl9weXJhbWlkPTIgYl9hZGFwdD0yIGJfYmlhcz0wIGRpcmVjdD0zIHdlaWdodGI9MSBvcGVuX2dvcD0wIHdlaWdodHA9MiBrZXlpbnQ9MjUwIGtleWludF9taW49MjUgc2NlbmVjdXQ9NDAgaW50cmFfcmVmcmVzaD0wIHJjX2xvb2thaGVhZD02MCByYz1jcmYgbWJ0cmVlPTEgY3JmPTI4LjAgcWNvbXA9MC42MCBxcG1pbj0wIHFwbWF4PTY5IHFwc3RlcD00IGlwX3JhdGlvPTEuNDAgYXE9MToxLjAwAIAAAAF4ZYiBAA///uTPuZY+yUglG4ugbAGtaMFpBZ45QLlYjDmM786yt3JhmUaqq/WpH2SdEEQrn9UggFVflQ/uiVqLqbzW5teh0pwLNNXI36BPkFyuzCAVjGbR7n3RtztnvW9HEP5+M0FPsa/2YGPlLsXH00yABQAZTN+V8x8wcGdRNZ5nibjjWYuirJ+a2MW3xZHqYt0fJUJdtqAYR1gr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'>
</body></html>

The original answer was more negative, but we have since gained more experience.

First, animated GIF is bad. It is very inefficient. You can get 150k, sure, but with very low colour count and some heroic and lossy compression. Not pretty at all.

As for video, it is not explicitly banned but HTML5 adsword ad may not contain HTML5 video files. However it can be circumvented with data uri or by renaming the video to .css.

Google may add video detection in the future - they already detects it if you rename it to an image - but for now video itself is not a reason of rejection.

Another issue is that mobile platforms do not autoplay video. It is simple to make them click-to-play, but you may want to spare some byte budget for the image placeholder.

That leaves the main problem of size.

For video, the common format is MP4 (H.264). Technically, all video ads can be compressed into 150K, with the right tools you just reduce the quality until it hits the mark. The only question is whether the quality will be acceptable.

Audio, if any, is the harder part. You need extreme bitrate like 28kbps or lower to not eat up too much quota. For Google, the audio must also be user-initiated. So you much choice to auto-plays without audio, or click to play, or script a volume on/off button.


These are the steps I took to cook up a 141K demo ad, plus some enhancements I discovered later:

  1. Open the scaled (right dimension) but high quality video with Avidemux.
  2. On the left, set "Video Output" to Mpeg4 x264, and set Output Format to "MP4 Muxer".
    1. Try save the video now to make sure Avidemux can handle the source video.
  3. Click the "Configure" button right below Video Output.
    1. General tab, set Threads to 1, then set Quality to 32. Leaves encoding as "Constant Rate Factor".
    2. Motion tab, set Motion Estimation to "Hadamard Exhaustive Search", and Subpixel Refinement to 10. Increase Vector Search Range to 64.
    3. Partition tab, enable all partition blocks.
    4. Frame tab, set Max. Reference Frames to 16, Max. Consecutive B-frames to 16, B-frame Bias to 20 (or higher), Adaptive B-frame Decision to Optimal, and GOP Size Max. to 1000.
    5. Analysis tab, set Trellis Quantization to Always On.
    6. Quantiser tab, set Variance AQ to Auto.
    7. Click OK.
  4. Back to main screen. Open Audio menu > Select Track.
    1. Disable (uncheck) all audio tracks. Click ok.
  5. On the main screen, click the save button and input a name for the video.
    1. Check video size. If it is not around 150KB, adjust Quality (step 2.1) and save again.
    2. In my version (2.6.12) Frame tab's B-frame Bias seems to be bugged and will reset every time I change config.
    3. Video size can be slightly above 150, for example 152K may become 147K after compression.
    4. If it really goes over by a little bit, like 155k, set Analysis's Noise Reduction to 512 or 1024 to fine tune the size.
    5. Once we have the perfect video, convert it to data uri.
  6. Create index.html, put in doctype, <html>, meta ad.size, <body>, and the video tag. Use the data uri as video src.
    1. Add attributes and scripts to control the video. In the demo we set video to autoplay and loop, then remove the loop attribute after 10 seconds and listen for video end to rewind it.
    2. Note that IE 11 will loop forever until we explicitly call .pause().
    3. Verify the file in all major browsers. File size should be around 200K.
  7. Using 7zip, add index.html to archive:
    1. Archive Format must be "zip".
    2. Set Compression Level to "Ultra".
    3. Set Word Size to 256 and CPU Threads to 1.
    4. Click OK.
  8. You should get an index.zip that's a bit smaller than the saved video, and that you can upload to Google Adwords as HTML5 image banner!

The steps are based on Avidemux 2.6.12's defaults. I can't list every options because there are too many, but since x264 encoder is pretty stable I don't expect the defaults to change.

We also tried Average Bitrate a few times, but CRF consistently yields better result.

The settings trade encoding time for better quality or smaller size. It may not be obvious but single thread increase byte efficiency too. When you only have 153,600 bytes, these little bits helps.

Adjusting B-Frame Bias is not advised in general encoding, but a moderate increase really helps to shave more bytes off.

As of 7-zip 16.02, Deflate is the second best compression algorithm for video - better than bzip, lzma, or ppmd. Deflate64 is marginally better, but is not supported by Google.

Louielouis answered 4/7, 2016 at 4:27 Comment(5)
It would be a crowd partying with no audio in the background of the banner ad. Animating text and images is nothing new to me. About 7s, looped twice. Default google ad sizes. Still to no avail?Louralourdes
@hardcodepunk Animated gif is definitely out of question. Tried to encode some 7-sec party videos to 336x280 mp4. (use javascript to loop to save space) Gentle clips looks great. A vibrant party, however, may be rejected for low quality. Do you have a demo clip?Louielouis
I managed to create a banner in Edge Animate CC where you can just import a clip onto the stage. My banner wasn't much larger than the size of the clip itself. About 500kb (I used the advice of using avidemux). Any idea where I can upload an example with all the assets so I can show you the example? It's a 840x150 banner.Louralourdes
@hardcodepunk Dropbox, Google Drive, One Drive, Youtube, whatever... Now that I have the dimension, I got a clip from youtube and baked a jsfiddle demo. :) See updated answers for my exact steps.Louielouis
Thank you for your time. Here's your bounty (: I had to meet a deadline so I went for a simple animation of a jpg. But I will come back to this in the future.Louralourdes
S
1

Make a banner ads with video HTML5

HTML5 video tag demo with advertisement, message, information box/dialog on top of the video Play the video and wait till 8 seconds when a popup message/ad box will appear and it would go away at 18 sec!

Please refer here, Demo at here

// Get the Video Object
var v=document.getElementById("myvideo");


// Show the Adv Box i.e. the DIV
function show_adv() {
	document.getElementById("my_ad").style.visibility="visible";
}

// Hide the Adv Box i.e. the DIV
function hide_adv() {
	document.getElementById("my_ad").style.visibility="hidden";
}

// Execute this for each second when playing the Video
function catch_the_frame() {
	var t;
	t = Math.round(v.currentTime); // currentTime is float; Make it whole number to check
	document.getElementById("seek_status").innerHTML="Current Time: " + t + " seconds"; // Show the current playing time in seconds
	if ( t >= 8 && t <= 18) { // Target Second when we want to show the message/ad
		show_adv(); // Show the message/ad
	}else {


		hide_adv(); // Show the message/ad
	}	
}

// Hide the video when page loaded
hide_adv();
// Handle the playing event
v.addEventListener('playing', function() {setInterval(catch_the_frame,500);}, false);
#v_area{
    float:left;
    z-index: 99;
}

#my_ad {
	position:absolute;
    	width:350px;
	height:150px;
	top: 10;
	left: 10;
	font-family: Arial;
	font-size: 120%;
	background-color:rgba(255,0,0,0.2);
	z-index:100;
	color: #ff0000;
}

#close a {
	position:absolute;
	top: 5;
	left: 520;
	z-index:100;
	font-family: Arial;
	font-size: 40%;
	text-decoration: none;

}
.generic_txt{
	font-family: Droid Sans,sans-serif;
	font-size: 150%;    
	color: #0000ff;
}
.generic_txt_heading a {
    font-family: Droid Sans,sans-serif;
	font-size: 110%;    
	color: #00ff00;
	text-decoration:none;
}

.generic_txt_heading2 {
    font-family: Droid Sans,sans-serif;
	font-size: 100%;    
	color: #0000ff;
	text-decoration:none;
}
<div id="v_area">

	<div id="my_ad" style="visibility: hidden;">
	   How are you? I hope you are having a nice day. Cheers! 
	   <p>Visit <a href="www.debugpoint.com">www.debugpoint.com</a> for more tutorials!
	   </p><div id="close" onclick="this.parentNode.parentNode.removeChild(this.parentNode); return false;">
             <p></p><p><a href="#">[x]</a>
           </p></div>
	</div>
	
	<div>
		<video id="myvideo" controls="">
		<source src="http://video.webmfiles.org/big-buck-bunny_trailer.webm">
		Your browser doesn't support HTML5 video. Try a different browser instead.
		</video>
	</div>

</div>
Seymourseys answered 8/7, 2016 at 3:15 Comment(1)
Adword does not allow external resources (except a few google cdn javascript), otherwise we won't be so restrained by the 150K size limit.Louielouis
S
0

for implementing videos you can use the html5 video tag

<video>
<source src="video here" type="video/videotype">
</video>

but it's not supported in all browsers. A .gif should be much easier to implemented and the file is smaller as well. Although it does not offer video functions like play/pause

Serieswound answered 7/7, 2016 at 11:6 Comment(1)
A .gif is indeed much easier to implement. Can't agree with the "smaller" part though - gif is not a very efficient video format at common ad size. I added a demo to my answer; ezgif.com converted my 150K clip to a 4MB gif, or 1.7MB after heavy optimisation (colour loss).Louielouis

© 2022 - 2024 — McMap. All rights reserved.