Automatic Property Video Generation at NoBroker.com | FLIXER

Rukmangadh Sai Myana
NoBroker Engineering
4 min readMar 8, 2022
A video camera

The eye solicited alone makes the ear impatient, the ear solicited alone makes the eye impatient.

— Robert Bresson

Introduction

History tells us that video is very powerful medium of communication. The emotions captured in a video can elicit a broad range of responses from the people viewing it. These responses can range from giving people the hope to fight against oppression to something as simple as bringing a smile to your face. At NoBroker.com, we believe in this might of the video.

NoBroker is a C2C brokerage free platform for house hunting. It is the largest and only proptech unicorn in India. We were able to reach this stage because of the trust that the our customers place on our products and we will always endeavour to rise up to their expectations. In this endeavour, the goal of our company is to provide value added services that make it easy for our customers to rent/buy and sell properties on our platform.

As part of this larger undertaking, we wanted to develop a video generation system that takes the images corresponding to a property and stitches them together into a nice Property Video Story.

Hence Flixer was born.

Sample Video

Before moving any further we would like to show a sample video that was — as mentioned previously — automatically generated by stitching together the various images that a customer uploaded on to a property.

As you can see there are many aspects to creating such a clean and engaging video.

  1. We need to make sure that we are conveying information to the customer in every frame. This requires us to overlay text relevant to the image displayed and the property.
  2. Secondly, we need to add visual effects to the video. These effects make the video landscape fresh enough for the customer to not lose interest in the video — it ‘unborings’ the video.
  3. Finally, we also need to add QR codes that can take any customer viewing the video to the appropriate property page once he/she scans it — this makes it easy for the customer to obtain more details about the concerned property.

These challenges are addressed with the help of some clever engineering, the details of which are revealed in the coming sections.

Flixer Workflow

Now let’s move onto the technical details of designing such a system. We will start with a thematic diagram of the Flixer workflow. This can be seen below:

Flixer Workflow

The Flixer system is triggered whenever a customer or a nobroker agent wants to create a video for a particular property. Flixer takes information from the Image Intelligence (Iris) and the Attribute Recognition (Nudger) systems at NoBroker. The job of Iris is to analyze images and the job of Nudger is to highlight the sellable attributes in each property. These inputs are combined by Flixer to generate an appropriate video for the property.

Looking under the hood

Next, we will take look inside the Flixer system. Firstly, we need to talk about the many challenges that are needed to be overcome to make Flixer successful. I list these below:

  1. Filtering Engine: A good video needs good images. So, we created a filtering engine that filters out properties that do not have good images. For this purpose, we take the help of the Image Intelligence system — Iris. Iris tells us if the images of a property are good or bad. It also ranks the images by their ‘goodness’. You can read more about it in this article — Computer Vision at Consumer Scale at NoBroker.com. We take this information and filter out those properties that do not have any good images.
  2. Text Generation: A good video needs good text that can be displayed on each image. This text should be generated in such a way that it highlights the sellable attributes each property actually has (like low rent or good locality etc). In this context, we build a text generation framework that looks at the various sellable attributes of a property that we get from Nudger and appropriately constructs texts that can be shown in the video.
  3. Video Generation: A good video needs good visual effects. So, we used the FFMPEG library to programmatically edit the video to have such effects. We choose the effects in such a way that they look pleasing to the eye and gel well for each other. We also use the PIL and qrcode python packages to generate QR codes that are then overlaid onto the video with the help of FFMPEG.

The following figure succinctly summarizes what goes on inside Flixer:

Under the hood of Flixer

As you can see this system was built on top of other Artificial Intelligence systems we created at NoBroker. Building tech is an incremental journey. It requires perseverance, planning and passion. We will be posting more about this Data Science and AI/ML journey in the coming days. Watch this space for more of the amazing things that we are building here at NoBroker.com

If you are interested in this journey, we are hiring.

--

--