Ever wonder how we create personalized videos? I like to think of it like the mail merges with Microsoft Word we did back in the day. Two files were needed to run the merge — a Microsoft Word document or template, which was the general letter that you wanted to send to a group of people. And an Excel spreadsheet with all of the information particular to each person that you wanted to “merge” with the letter, to produce unique letters for each individual in the spreadsheet.
Personalized Video is a similar process. Our process replaces the Microsoft Word document with an Adobe After Effects file or template, and instead of using a Microsoft Excel spreadsheet for data, we use a couple of different sources: Google Sheets or a JSON data feed. A schematic of a video targeting college-bound students might look like this:
Now that we have a means to dynamically assemble a video based on available data, what steps are involved in a typical Personalized Video project? The process is similar to the video production process for a single video, but also must consider production of personalization segments needed for each recipient of a personalized video.
First we look at the overall message we’d like to convey to our group of video recipients, and break the script down into elements that can be personalized based on the data we have available. We have the ability to vary:
- video segments
- audio segments
- text blocks
Video and audio segments are then produced, which incorporate the personalization that we’ve identified in the conceptualization stage. With client approvals of all individual segments that will make up any personalized video, we assemble an After Effects file, which includes layers that will contain the variable content. The After Effects file is the document that will be merged with the data source to create each personalized video.
Versioning, the creation of unique videos from one video template, can consist of just a few videos to a virtually unlimited number of videos. It is critical that the versioning process be optimized for speed. The rate-controlling step is the processing done within After Effects for each personalized video. Processing a large number of personalized videos can be trimmed by hours, even days, by being deliberate about certain production factors. Factors that affect render times are:
- Consistency of video parameters between elements that make up a versioned video — using some video segments rendered at 720p, and others rendered at 1080p for a final rendered video that will be 720p takes more time than one that is made up of segments that are all 720p
- Complexity of After Effects effects that are rendered uniquely in each versioned video — render out complex effects into the video segments, rather than have After Effects render the effects with every versioned video
- Duration of final versioned video
The versioning process results in a group of videos, typically of high resolution, and high data rate. In order to convert the videos into a more network friendly video size, we transcode the file into a more appropriate size. The program we use to do this is FFMPEG, a free, industry-standard application. The transcoding process is substantially quicker than the versioning process, but essential for delivering videos that customers can play back on any device and play under a wide range of connectivity speeds.
Final video sizes are generally too big to email as an attachment to a customer. Instead, we typically email a unique link, which links to a video player page with their video. We host videos with Amazon Web Services’ (AWS) S3 service. The service is highly available, low cost, and provides the ability to manage files through an expiration service, so that videos are deleted after a reasonable amount of viewing time.
There are two methods in which videos can be shared with customers:
- Email/texting of a direct link to the video’s URL on AWS. This is perhaps the easiest approach, but bypasses any real opportunity to gather playback statistics.
- Webpage with video player. We typically construct a webpage with an embedded JWPlayer player. Customers are sent a unique URL and query string that identifies the page and video that should be played when accessed. Not only do users get a better presentation of their video, but we’re able to gather video-related statistics regarding playback.
From concept to playback, personalized video is a complex process. However, with the right tools and the right partner, you can connect with your customers through video on a much more personal level.