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.
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:
<html>
, meta ad.size, <body>
, and the video tag. Use the data uri as video src.
.pause()
.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.