Video Marketing Automation

Video is the best way to dramatically increase the ROI of your MA tool. It is said that a one-minute video contains as much information as 18,000 characters. By making good use of video and linking it to your MA tool, we hope you will be able to predict your customers’ customer journeys and use this to nurture them.

HOW SALES CAN USE VIDEO TO TURN PROSPECTS INTO LEADS

As video marketers, we want to educate interested prospects through content focused on our personas. We hear it all the time: If we want our video marketing efforts to pay off, we have to create rich, engaging stories, rather than push our product. But are we forgetting our friends in sales?

Sales reps are trying to determine which leads have a real interest in the product and, of those, which ones are a good fit and actively looking to buy. This is where things can get messy. Content certainly isn’t one size fits all. The ways in which we can approach prospects via content are becoming more varied every day: video, interactive video, flipbooks, quizzes, even social chat bots.

Sales needs video content that speaks directly to the benefits of the products to further their conversations and move leads from interest to consideration, but are we listening?

We often write about video marketing across the customer journey. Within this, there’s been an assumption that this journey is a responsibility owned exclusively by marketing. What we haven’t addressed is how the qualification, discovery, and solution evaluation stages of the sales cycle overlap with marketing’s engagement phase of the customer journey, so activities during these stages are jointly led by marketing and sales.

This is only one such case in which sales and marketing have to combine initiatives to drive prospect and lead behavior forward. When you align the needs of both marketing and sales teams as you’re developing content, you can share resources while supporting the goals of each department.

ALIGNING SALES AND MARKETING THROUGH BUSINESS VIDEO

Customer Journey and Sales Cycle

By aligning sales with marketing, you create the right mix of videos. Armed with the right content, your sales reps can use video to have more meaningful conversations with prospects and shorten the sales cycle.

CREATING QUALIFICATION AND DISCOVERY VIDEOS

The most successful salespeople know that while it takes more time up front, the easiest way to win business is to ask questions, do a lot of listening and truly understand what the prospect is looking for. Impatience or too much excitement can ruin this, meaning many new sales people will skip the discovery phase.

But a preliminary conversation about the prospect’s search for a solution needs to take place for the opportunity to enter the pipeline. Can video help your sales team to move the discovery process forward or even secure a meeting?

Questions to Answer

  • What problems do your prospects need to solve?
  • Why is it important to solve the problems?
  • What is your brand’s solution to the problems?

Fully understanding the prospect’s problem is the common ground where sales and marketing teams meet. By developing content that answers the above questions you’ll build trust and rapport, potentially increase the size of the deal and of course, close business faster.

Types of Videos that Work

  • Video introductions
  • Tip series
  • Business use case videos
  • Webinars
  • Interactive, self-guided demos

HOW TO CREATE A PRE-CALL VIDEO VOICEMAIL

Provide your sales reps with the capability to “self-author,” i.e. create their own custom videos.To secure a sales call or ramp up anticipation for an in-person meeting, give sales the tools to send along personalized video communications.

Before a sales call, reps can send a quick video to humanize your brand, demonstrate value, and inspire the target prospect to take a meeting. This unique approach to video allows the sales team to articulate the value in working with your brand.

After a call, your sales rep can follow up with a prospect by sending a personalized demo that they recorded themselves, digging into product features and addressing the prospect’s need.

Of course, you’ll want to be able to track this data. This can be done easily if your company has an online video platform (OVP) that connects to your CRM.

Video Sales Outreach Script, A How-to

Need a little help getting your sales team started with video follow-ups? Use this handy script.

Hi {NAME},

{SALES REP} here from {BUSINESS NAME}. Thanks so much for reaching out to demonstrate your interest in {X PRODUCT}. It looks/sounds like you could stand to benefit from our {X FEATURES}. I’d love to talk with you about this more and how to solve {X PROBLEM}. I’ve outlined a few meeting options in this email, just reply back to confirm.

Thanks again {NAME}.

Alternate line: Thanks so much for making the time to talk to us at {X CONFERENCE}.

Bonus points if you house videos on their own landing pages with interactive capabilities to schedule a meeting within the video.

CREATING SOLUTION EVALUATION VIDEOS

Show prospects that you understand their concerns by giving them concrete examples of solutions that alleviate their problems and allow them to accomplish their goals.

By helping your sales team to stress the brand’s authority and leadership within the field prospects will feel confident going deeper into the evaluation process with your team and give the sales proposal more consideration.

Questions to Answer

  • How, specifically, does your product solve the prospect’s problems?
  • What are your product’s features and benefits?
  • How can your product impact the prospect’s users and business?
  • What sets your brand/product apart from your competitors?

Because you are demonstrating authority in your space, sales will readily utilize both product-centric and customer-centric content that marketing has created, or in some cases, can create their own.

Types of Videos that Work

  • How-to/tutorials
  • Webinars
  • FAQs
  • Buying guides
  • Personalized demos created by sales rep

Many companies believe video belongs exclusively to marketing. But as with sourcing any type of content, sales teams offer terrific insight into the types of content needed and the compelling messages that convince prospects to listen. Listening and developing a video plan together allows both marketing and sales to hit their numbers.

MONETIZING CONTENT WITH A TURNKEY OTT SOLUTION

Brightcove OTT Flow, our turnkey OTT solution, maximizes the value of your content. With an OTT solution, you can expand your content’s reach by distributing it across platforms, giving viewers access anytime, anywhere. As you advance your OTT strategy, it’s essential to consider how you plan to monetize your content.

Whether you choose to monetize through advertising (AVOD), subscriptions (SVOD), or a combination of both, OTT Flow provides the features and functionality needed to bring your content to market quickly and effectively. OTT Flow offers a comprehensive AVOD and SVOD solution, enabling you to deliver a flexible service tailored to your content. This includes advertising models, discount options, and payment gateways, making it easier to reach new subscribers in diverse regions. With video, application, and subscriber analytics, OTT Flow offers a detailed understanding of content consumption patterns, advertising effectiveness, and key subscriber activities. These insights allow you to define and measure key performance indicators (KPIs), optimize content delivery, and minimize subscriber churn.

The combination of AVOD and SVOD models is increasingly popular. For example, ad-supported content may be offered alongside “locked” content available through a subscription. In advanced models, ads can be removed from the ad-supported content once a subscription is activated.

For short-form and non-premium content, AVOD is a common monetization method. OTT Flow supports Google’s ad-serving platform, DoubleClick for Publishers (DFP).

For long-form and premium content, SVOD is a typical approach to building an OTT subscriber base and monetizing content. However, not all SVOD services or providers are the same. Key factors to consider when evaluating an SVOD service include:

  • Subscriber management: Integration with existing subscriber databases and access to dashboards and reports to manage users and reduce churn.
  • Flexible subscription models: Options for weekly, monthly, or annual subscriptions.
  • Support for promotions: Features like video metering, trial periods, subscription vouchers, promotional campaigns, and flexible discount models.
  • Paywall support: Compatibility with specific local and regional payment gateways through secure (SSL), PCI-DSS-compliant transactions.

OTT Flow incorporates technology from Cleeng, a global leader in subscription management and monetization services. This integration ensures that Brightcove delivers a market-leading OTT solution. Through Cleeng, OTT Flow supports SVOD, pay-per-view (PPV), video rentals, and electronic sell-through (EST) in 19 currencies and 180 payment methods. Additionally, it includes a subscriber dashboard, enabling you to monitor and manage subscriber activity related to video and application usage, providing a comprehensive view of your OTT service.

HOW TO DRIVE SALES AT EVERY STAGE OF THE CUSTOMER JOURNEY

Getting time with prospects is more challenging than ever. When it comes to communication, there are few mediums more powerful than video. Brands that strategically use video for marketing distinctly set themselves apart in marketing performance from those that don’t. Video creates a 66% greater increase in MQLs delivered to sales (11.2% vs. 6.7%), 2.5 times the growth in marketing’s contribution to revenue, and 54% more growth in brand awareness year-over-year (10.5% vs. 6.8%).

But that’s only the beginning. Your sales team can use video to better engage prospects and communicate value at every stage of your sales cycle. With relevant content, you have a good reason to follow-up and stay top-of-mind with prospects, keep them engaged, and accelerate the sales cycle. Sales guides the customer journey as marketing qualified leads (MQLs) become sales qualified leads (SQLs), and as SQLs are converted into buyers. Ditching the sales-marketing divide and using video strategically throughout the entire customer journey creates a holistic approach to outreach and provides a seamless customer experience that delivers business results.

Marketing’s role in leading the customer journey during the Awareness stage, and the Interest phase of Engagement, is well-understood. What might not be understood widely is that for your sales team, the opportunity lies in using video to complement the team’s calls, pitches, and proposals. In fact, video-enabled salespeople outperform those without video in critical success metrics like customer retention rates (72% vs. 66%), lead acceptance rates (56% vs. 47%), and percent of reps reaching quota (54% vs. 50%).

But first, for career marketers, let’s make sure we’re all using the same language. How can we make the traditional funnel or pipeline that sales uses and turn it into a continuum that matches the customer journey?

Sales StageWhat Happens in the Stage
AwarenessProspect has made initial contact with your brand but has not engaged. No sales action is required at this stage.
QualificationVet opportunities with prospects who have engaged with your brand at a high level (e.g. took a phone call with an outbound sales rep or viewed marketing video/downloaded collateral).
DiscoveryVet opportunities with prospects who have shown interest in your product to determine if your solution might be a best fit and if the prospect is actively looking to buy.
Solution EvaluationFor opportunities considering your product as an option, create a vision of value for how your solution and brand addresses their business pain, and how it’s different from competitors. Build a business case.
Proposing/ClosingFor opportunities that have committed to purchase your solution, finalize the contract terms, provide proof-of-concept, and address any lingering reservations the prospect has.
DealThe contract is signed and the deal is closed/won.

Video Marketing with Sales and Customer Success Teams

At Brightcove, we often educate our prospects and customers on using video across the customer journey, integrating video into a multi-channel strategy. Strategically done, video is just one of the mediums prospects interact with across the stages: awareness, engagement, conversion, retention, and advocacy. And while we’ve charted the journey, there are nuances within this process during which sales becomes involved. Have you planned for these interactions? Without appropriate foresight your video marketing can become disjointed.

After all, all three teams—marketing, sales, and customer success—share focus on the customer journey and contribute to each stage. Which department leads the journey changes as the customer moves across the stages is displayed below, with video content suggestions.

Sales StagesAwarenessQualification DiscoverySolution EvaluationProposing and Closing  
Customer Success Stages    Client Health LoyaltyBrand Recommendation
Marketing StagesAwarenessEngagement InterestEngagement ConsiderationConversionRetentionAdvocacy
Department Leading the StageMarketingMarketing, SalesMarketing, SalesSalesCustomer SuccessCustomer Success
Types of Video Content that Work in Each Stage

-Brand promotion videos

-Infographic videos

-Expert interviews

-Thought leadership presentations

-Teaser videos

-Interactive video

-Explainer videos

-Tips series

-Business use case videos

-Webinars

-Self-guided demos

-Interactive video

-How to/tutorials

-Webinars

-FAQs

-Micro-demos created by sales reps

-In-depth product demos

-Technical demos

-Customer testimonials

-Case studies

-ROI videos

-Contract overview videos

-“Meet Your Support Team” videos

-Onboarding videos

-Knowledge base videos

-Training videos

-How to/tutorials

-New product videos

-Troubleshooting videos

-FAQs

-Brand videos promoting your values and culture

-Customer reviews

-Testimonials

-Case studies

-User-generated videos

-Customer panels at events (live streamed and recorded)

-Executive videos (live streamed and recorded)

-Employee-generated videos

With this change to customer-journey alignment, brands are improving the customer experience by communicating in one seamless motion as the prospect becomes the customer becomes the advocate. With marketing, sales, and customer success teams focused on the journey, the only question becomes which group leads at each stage and how the hand-off between these organizations is handled. It’s worth sitting down with your sales and customer success teams however (your greatest source of content in my option), to brainstorm and figure it all out. Your organization has everything to gain: reduced sales time for converting prospects to customers, higher customer satisfaction, and more loyal brand advocates who make repeat purchases and recommend the brand’s products to others.

COLLECTING AND USING VIDEO ANALYTICS TO DRIVE DEMAND

Marketers love data, it’s true. We embrace both the art and science of our roles, utilizing data and optimizing our efforts to drive demand for our businesses.

When it comes to video, many of us are still exploring what it means to create and start a video marketing initiative. And of course, when putting budget into anything you’re going to want to build a business case for your investment. Let’s start strategizing.

Video analytics are one of the most useful tools for digital marketers and communications professionals to determine the value of their campaigns. By using video’s deep analytics, we’re going to help you change the conversation from budget to ROI.

Ready to assess the success of existing video content and evolve your marketing strategies for the future?

PLAY RATE: WHY ARE VIEWERS WATCHING MY VIDEO?

The question that plagues many a video marketer: “Are people watching my videos?” Are you wondering how often a viewer, given the opportunity to view a video, clicks “play?” This is a play rate. This number is calculated by dividing the views by the impressions. While it might seem simple, it’s actually quite telling.

A landing page conversion would be a similar metric: Your prospect is signing up to learn more. In this case however, a play button is wildly more attractive and less barrier-ridden than a form, right? Before we go any further, let’s make sure we’re using the same vernacular.

  • View. When presented with the opportunity to watch the video, the viewer actually clicked play.
  • Impression. The viewer visited the page where the video lives and had the opportunity to watch the video, but did not.

TIPS FOR INCREASING YOUR VIDEO PLAY RATE

Not thrilled with your play rate? Ask yourself:

  • Is the still/thumbnail image I’m using interesting? Human faces, close ups, or high-action shots often perform best. Also consider using frames with copy to help jumpstart an understanding for your viewer as to what exactly this video is about. When crafting video content for social audiences watching on Facebook and Twitter, remember they’ll need not just an interesting thumbnail, but an interesting social video lead-in that catches their attention and keeps it.
  • Is video content readily apparent on the page? You’d be flabbergasted by how many marketers “bury the lead,” or place video content as an afterthought at the bottom of the page. Consider a placement that best aligns with where you want a visitor’s focus. Utilize heat maps and speak to your web team about testing placement.
  • Is the playing experience optimal? Are you allowing viewers to play the video inline on the page or forcing them to open it in an overlay? Aggregate customer metrics tell us that inline video typically performs better than videos embedded in a light box or overlay.

ENGAGEMENT: DO VIEWERS LIKE MY VIDEO?

Next, let’s look at the engagement score. An engagement score is calculated by dividing a video into 100 equal segments (100%), and tracking how many people watched each of those segments. Reviewing this information gives insight to where viewers may have jumped ship before completing the video.

TIPS FOR INCREASING YOUR VIDEO ENGAGEMENT

If your engagement score is lower than you’d like, ask yourself:

  • How’s the content? Do analytics show a specific point in the video where people are dropping off? If so, look at your creative. Is there simply a lull in energy or informative content, or a seismic shift? Earlier this year one of our customer’s presented learnings at our annual user conference in which she identified a huge drop-off at about the 85% mark of her video. Upon reviewing content she realized there was a shift from a message about the potential customer, to a message about the company. This video content, which was very awareness and engagement driven, held the viewer’s attention when it was about them and their needs. When it became a soapbox for the brand, viewers stopped watching and didn’t make it to the CTA at the end. Our customer relaunched her content armed with this information and ultimately found her new video to be 93% more effective at delivering sales engagements than other visual content created for this campaign.
  • Is the content of my video relevant to its host page? If the video content isn’t related to the page content, viewers will feel duped and bounce back, leaving your site. Remember marketers, it’s important to keep your (implied) promises.
  • Is this the best place for a video? Consider the user experience when adding video content to your campaigns. Are you adding a video because it enhances the user experience or because you want richer content marketing data? Also, is the content a fit for the placement? Should a product video be shared socially on Facebook? Maybe not.
  • Looking at a collection of video assets, which have performed exceptionally well? Can you create a template for success? Analyze these for trends you can capitalize on. Review video length, a specific talent on the screen, or a specific topic. Analyze these same elements when looking at a group of videos that have performed poorly. Don’t swear off anything, but look for commonalities in your video analytics—infer, then test.

Knowing what is and isn’t working with your videos allows you to evolve your video marketing and video communications strategy thoughtfully and with a focus in business-metrics. By reviewing metrics such as the number of views a video receives, the length of time people view, what they are consuming and where they drop off, marketers are able to revise their strategies and determine new best practices.

Play rate and engagement rate aren’t the only metrics you can expect from a sophisticated video marketing platform. Advanced video analytics inform marketing automation campaigns, audience segmentation, and lead profiles. Video analytics, when integrated with a marketing automation platform, tell you:

  • Impressions. How many times the video player loads for the visitor
  • Total views. How many times the viewer clicked play
  • Device types. Which devices your viewer is using
  • Operating Systems. What operating system your viewer is using
  • Referral source. Where s/he was before coming to your site

Video metrics can give you deep insight into viewer engagement in a way that other formats such as PDFs can’t possibly do. Marketers can move from intuition to informed decisions using video analytics to prove the business results of marketing campaigns. By tying video performance to these metrics and sharing impact on the business bottom line, video marketing transforms into an effective business tool for the C-suite. Are you making the business case for video marketing?

IMPROVING HLS PLAYBACK FOR LIVE STREAMING

We are busy working on making HLS playback within the Brightcove Player better, faster, and more stable. To do that, we have had to throw out our assumptions and start looking at the problem we were facing without any preconceptions.

THE CHALLENGE

One of the primary responsibilities of any playback engine that leverages Media Source Extensions (MSE) is to make decisions about what video data (termed segments or fragments) to request from the server at any given time.

With video on demand (VOD) HLS sources, the decisions are fairly simple. We know about all the segments and (roughly) their durations. Making a choice about which segment to download given that information is straightforward.

Unfortunately, things aren’t so simple in a live HLS stream. Not only do we lack the entire history of segments, but without the PROGRAM-DATETIME tag in HLS (a recent addition to the HLS specification), we also don’t have any easy way to correlate segments across variant playlists. The only option left to the player is to speculatively download segments in order to use the internal timestamps of the media.

In short, the problem with live playback is that there are times where the many “unknowns” make selecting the correct segment the first time a difficult task.

FETCH ALGORITHM

To combat the tendency of any fetch algorithm to select the wrong segment, we borrowed some concepts from control theory. Previously, the fetch algorithm would:

  • Make the best guess possible given the limited information
  • If the guess was wrong, use the information gained from that request to make a better guess (lower the “error”)
  • Repeat

The hope was that the algorithm would iteratively improve and eventually download the correct segment. The problem comes about when you start to consider what an “error” is. For our algorithm, we defined error as a region of the video buffer that was missing data.

The thinking here is that if we fetched segment A followed by segment C, we would have created a B-sized gap that would need to be filled. The algorithm should then backtrack to fill that error and select segment B before continuing forward to D.

Fetch Algorithm

The good news is that 99% of the time this worked and worked quite well. The bad news is that 1% of the time it would got stuck trying to fill a gap that was essentially unfillable. When this happened it was usually due to nature of the sources we were playing. Some HLS sources are poorly segmented so that audio and video aren’t segmented at the same point in time across all variants, leading to gaps. Some HLS sources have corrupt or missing frames (audio or video) which also cause gaps.

Whatever the cause, these unfillable parts of the buffer created situations where the algorithm was stuck trying to fill it. We eventually built in many approaches to try and keep the fetcher from getting stuck:

  • Consider very small gaps as something intrinsic to the source and ignore them
  • Force the algorithm to fetch one or more segments forward if it ever tried to fetch the same segment as it did during the last iteration
  • Considering segments whose bounds were 90% or more represented in the buffer as loaded to avoiding wasting unnecessary bandwidth

The problem with each of these strategies is that they have very specific circumstances under which they breakdown. With each “fix,” we attempted the number of corner-cases was multiplying. In many cases, we discovered that even small changes to the fetch algorithm failed under odd scenarios that previously worked.

STARTING FRESH

All these problems led us to one inescapable conclusion: We needed a drastic change to our approach. Examining the problem, we realized that we had a lot of assumptions about the way the fetch algorithm should function that made things more difficult on us.

One of those assumptions was that the fetch algorithm should always avoid requesting segments that were already buffered. The problem is that the state of the buffer is very hard to reason about once you combine the effects of seeking, buffer garbage collection (something MSE does automatically behind the scenes), and sources that naturally introduce gaps. In the end, it meant that our algorithm was inextricably reliant on MSE’s ever changing buffer.

The new fetcher does away with this and many other assumptions in order to simplify things as much as possible. For example, the player now cleans up the buffer after every seek so that the state of the buffer is easier to reason about and doesn’t try to guard against loading a segment that is already present in the buffer.

WALKING THE WALK

After re-examining our assumptions we realized that making an accurate guess 100% of the time is impossible but making a conservative guess 100% of the time is entirely possible. A conservative guess is one that is the segment at or before the desired segment. Making a conservative guess means that you can always find the right segment by simply walking forward through the segments in a playlist.

With this understanding, we drastically change the nature of the problem. Now, we are always fetching contiguous regions after making an initial guess. That means that details about the state of the buffer—gaps—are no longer a concern to us since they are, by definition, intrinsic to the media and not due to the behavior of the fetching algorithm.

New Segment Fetcher

The only remaining question was how do we correlate segments and times between variants in a live playlist. For this purpose, we introduce the concept of a “sync-point.” A sync-point is defined as a known mapping between a segment index and a display-time—the time you get from calling player.currentTime().

The new fetch algorithm has just three modes of operation:

  • Conservatively guessing which segment to start downloading from
  • Simply walking forward through the playlist
  • Attempting to create a sync-point

That last state is only ever entered when the fetcher can’t use any of the information it has saved to make a guess. It is a rare event but when that happens, we must download a segment – any segment – and utilize the internal timestamps in the media to generate a “sync-point” which the fetch algorithm can then use to make a conservative guess before walking forward.

The end result of these changes is an improved HLS playback experience. Live playback in particular should start more quickly and play more reliably.

USING AN MP4 INSPECTOR TO ANALYZE VIDEO TRANSMUXING OUTPUT

While building Mux.js—the transmuxer at the heart of videojs-contrib-hls—we faced a problem: How do we determine if the output from Mux.js is correct?

Early on, we managed to figure out how to coax FFmpeg into creating MP4s from MPEG2-TS segments that would play back in a browser with Media Source Extensions (MSE), which at the time meant only Chrome. However, we needed a simple way to compare the output of our transmuxer with what was produced by FFmpeg. The comparison had to be aware of the MP4 format since the two outputs are extremely unlikely to be byte-identical.

BUILDING AN MP4 INSPECTOR

The answer to that problem was to build an mp4 inspector—a tool that would parse MP4s and display a sort of JSON-like dump of any relevant boxes and their contents. By generating a dump of the output from Mux.js and comparing it to a known-good fragment generated with FFmpeg, we could see where our transmuxer’s output differed.

The mp4 inspector was built as a web page so that we can have a graphical color-coded diff of the two segments. Over time, the page gained a video element and we started appending the results of transmuxing segments directly into the video element’s MediaSource to aid in instant feedback and validation of changes to Mux.js.

As development continued, we would sometimes encounter streams that would fail in new and interesting ways. Some of these failures were, admittedly, due to bugs in Mux.js. As Mux.js itself became more robust, failures were increasingly caused by problems with the streams or issues with a particular implementation of the MSE specification.

It eventually dawned on us that we really needed to learn more about what was happening inside of those videos. We needed to see not just what was happening at the media container level but we had to go deeper—we needed to peek into the video data itself. For that purpose, we created Thumbcoil.

Thumbcoil is a suite of tools designed to give you a peek into the internals of H.264 video bitstreams contained inside either an MP4 or MPEG2-TS container file. Using the tools in Thumbcoil you can get a detailed view of the internal structure of the two supported media container formats.

In addition, the tools have the ability to show you the information contained within the most important NAL units that make up the H.264 bitstream. Ever wonder what kind of secret information the video encoder has squirreled away for decoders to use? With Thumbcoil, you can see for yourself.

WHY WE BUILT AN MP4 INSPECTOR

In 2016, there were very few good tools to generate a somewhat graphical display of the structure of media containers and the data that they contain. Debugging problems with video playback is usually a tedious task involving various esoteric FFmpeg and FFprobe incantations. Unfortunately at it’s best, FFprobe is only able to print out a small portion of the data we were interested in.

The exact data inside of the various parameter sets for instance is not available via the command-line. Inside of FFprobe, that data is parsed and stored but there is no easy way to dump that information in a human readable form.

In H.264, there are two special types of NAL units: the seq\_parameter\_set (SPS) and the pic\_parameter\_set (PPS). These two NAL units contain a lot of information. The decoders require this information to reconstruct the video.

Thumbcoil not only provides parameter set information in excruciating detail but also keeps the information with its surrounding context—the boxes it was contained by or the frame it was specified along with. This context is often very important to understanding issues or peculiarities in streams.

HOW WE BUILT AN MP4 INSPECTOR

One of the more interesting things about how Thumbcoil parses parameter sets is that is builds what is internally called a “codec” for each NAL unit type. These codecs are specified using what is essentially a fancy parser combinator-type setup.

Much of the data in the two parameter sets are stored using a method called exponential-golomb encoding. This method uses a variable number of bits to store numbers and is particularly suited to values that tends to be small.

Each function used to build the codec returns an object with two functions: decode and encode. This means that we can specify the format of, say, a seq\_parameter\_set NAL unit just once and then we can both parse from and write to the bitstream for that particular NAL unit.

The grammar used to specify NAL unit codecs is very similar to the grammar used by the H.264 specification (ISO/IEC 14496-10). The data-types that the codecs in Thumbcoil understand are, with some extensions, merely the same types defined in the specification such as signed- and unsigned- exponential golomb encoded integers.

In addition to the parameter sets, Thumbcoil provides insight into the structure of the slice layers themselves by parsing the slice\_header data. However, we stop short of parsing any of the actual slice\_data because things quickly become more difficult and less useful as you descend into that detail.

As with all Video.js projects, Thumbcoil is open-source software and we welcome suggestions, issues, and contributions on Github.

TECHNICAL GLOSSARY

  • Transmuxer. A transmuxer takes media contained in some file format, extracts the raw compressed video and audio from inside (a process called demuxing) and repackages the compressed data into another format (termed remuxing) without performing any re-compression.
  • MP4. MP4 files are composed of boxes—hierarchical logical units that, conveniently, all start with a 32-bit length and a 32-bit box-type. Boxes will often contain other sub-boxes.
  • Media container. Inside a media container such as MP4, video and audio are contained in data called bitstreams. Bitstreams are the data produced by encoders to represent the audio signals or video frames. Some common bitstreams are AAC for audio and H.264 (AVC) for video.
  • NAL units. An H.264 encoded bitstream is composed of what are called Network Abstraction Layer (NAL) units. NALs are a simple packet format designed to use bits as efficiently as possible.