GumletGumlet logo
Pricing
Login
Book a Demo
Signup

Video Streaming

7 min read

How to Embed Video in Bootstrap?

Struggling to embed videos in your Bootstrap website? This guide will walk you through the process of adding responsive videos with or without controls, ensuring a seamless user experience across devices.

Feature image

Yash Patadia 

Updated on Aug 06, 2024
How to Embed Video in Bootstrap?

Share this Article

If you're using Bootstrap to build your website, incorporating videos seamlessly might seem like a hurdle. This guide will help you effortlessly embed videos in your Bootstrap website, ensuring they adapt and display beautifully on any device. Whether you want a video with full controls or a simpler, more streamlined look, we'll cover the steps to achieve both. So, grab your favorite video file and let's get started!

How to Embed Video in Bootstrap?

Embedding videos in Bootstrap ensures they are responsive and look good on all devices, from smartphones to large desktop screens. Here's a detailed step-by-step guide on using Bootstrap's responsive embed feature to include videos in your web projects:

Step-1: Choose the Right Container

Start by wrapping your video in a div element with the class embed-responsive. This wrapper will ensure the video maintains the correct aspect ratio and scales properly on different screen sizes.

<div class="embed-responsive">
  <!-- Video embed code goes here -->
</div>

The .embed-responsive class allows a video to maintain its aspect ratio while adapting to the width of its parent container. This class needs to be paired with an aspect ratio class to define the proportion of the video.

Step-2: Select the Aspect Ratio

Bootstrap supports various aspect ratios through specific classes to ensure the video fits well within different layouts. You should add one of these classes to your embed-responsive div based on the original aspect ratio of your video:

  • .embed-responsive-16by9 (16:9 ratio, commonly used for HD videos)
  • .embed-responsive-21by9 (21:9 ratio, wide cinematic look)
  • .embed-responsive-4by3 (4:3 ratio, traditional broadcast video format)
  • .embed-responsive-1by1 (1:1 ratio, perfect square)

For example, for a standard YouTube video, you would use:

<div class="embed-responsive embed-responsive-16by9">
  <!-- Video embed code goes here -->
</div>

Step-3: Embed the Video

Inside the embed-responsive div, place your video or iframe. If you are embedding a video from YouTube, Vimeo, or another platform that provides an iframe, it would look something like this:

<div class="embed-responsive embed-responsive-16by9">
  <iframe class="embed-responsive-item" src="https://www.youtube.com/embed/videoID" allowfullscreen></iframe>
</div>

For a local video file, the code snippet would be:

<div class="embed-responsive embed-responsive-16by9">
  <video class="embed-responsive-item" controls>
    <source src="path_to_video.mp4" type="video/mp4">
    Your browser does not support the video tag.
  </video>
</div>

Step-4: Ensure Responsiveness

The class embed-responsive-item is crucial as it makes the video responsive. This class should be added to the iframe, video, or object element to ensure it scales correctly.

Aspect ratios are fundamental in video embedding as they define how video content is displayed across different devices. A mismatch in aspect ratio can lead to black bars on the sides (letterboxing) or top and bottom (pillarboxing) of your video, or even cropping of the video content. Bootstrap's aspect ratio classes handle this by using padding-top hacks that create a percentage-based padding. This technique uses the top padding to dictate the height relative to the width, maintaining the aspect ratio regardless of the screen size. For example, the embed-responsive-16by9 class has a padding-top of 56.25%, which is derived from the ratio calculation 9/16=0.5625. 

By properly selecting and applying these aspect ratio classes, you can ensure that your videos will scale neatly and maintain the intended viewing experience on any device, providing a seamless integration into your responsive web design.

Customizing Bootstrap Video Player

Customizing video players in Bootstrap not only enhances the visual appeal of your media but also improves its functionality and accessibility. Here's a comprehensive guide on how to effectively use Bootstrap’s features to tailor the video player to your needs.

Styling Video Containers

To make your video player visually appealing and consistent with the rest of your site’s design, consider styling the video container. Bootstrap's utility classes can be applied to the video wrapper for margins, padding, borders, and shadows, which can significantly enhance the visual presentation. For example:

<div class="embed-responsive embed-responsive-16by9 p-3 border rounded shadow-lg">
  <iframe class="embed-responsive-item" src="https://www.youtube.com/embed/videoID" allowfullscreen></iframe>
</div>

In this example, p-3 adds padding, border adds a border line around the video, rounded gives the corners a rounded shape, and shadow-lg applies a large shadow for a 3D effect.

Using Bootstrap's Grid System

Bootstrap’s grid system is invaluable for positioning and sizing video content. You can place your video within the grid columns to ensure that it fits well within the overall layout of the page. This is especially useful when you need to display additional content alongside the video, such as text explanations or related media. Here’s how you might set it up:

<div class="container">
  <div class="row">
    <div class="col-md-8">
      <div class="embed-responsive embed-responsive-16by9">
        <video class="embed-responsive-item" controls>
          <source src="path_to_video.mp4" type="video/mp4">
        </video>
      </div>
    </div>
    <div class="col-md-4">
      <h5>Video Description</h5>
      <p>This video shows...</p>
    </div>
  </div>
</div>

Enhancing Style with .embed-responsive-item

While .embed-responsive-item is primarily used to make videos responsive, it can also be used to apply additional CSS styles directly to the video or iframe. For instance, if you want to add a fade-in effect or slight zoom on hover, you can add custom CSS:

.embed-responsive-item:hover {
  transform: scale(1.03);
  transition: transform 0.3s ease-in-out;
}

This CSS will make the video slightly zoom and enhance the interactivity of your content.

Adding Video Controls, Playback Options, and Captions

To improve the functionality and accessibility of your video player, consider the following enhancements:

1. Video Controls: Most modern browsers support native HTML5 video controls, which can be enabled by adding the controls attribute to the video tag. Bootstrap does not style these controls, so they will appear as default in the browser.

2. Playback Options: HTML5 offers several attributes to control playback, such as autoplay, loop, and muted. These can be easily added to your video tag:

<video class="embed-responsive-item" controls autoplay loop muted>
  <source src="path_to_video.mp4" type="video/mp4">
</video>

3. Captions: For accessibility, adding captions to your videos is crucial. This can be done using the <track> element inside the video block, which references a WebVTT file (.vtt) containing the captions:

<video class="embed-responsive-item" controls>
  <source src="path_to_video.mp4" type="video/mp4">
  <track src="captions_en.vtt" kind="captions" srclang="en" label="English">
</video>

By employing these customization techniques, you can significantly enhance the user interface, functionality, and accessibility of your Bootstrap video player, making it not only visually appealing but also more user-friendly and compliant with web accessibility standards.

Bootstrap Video: Best Practices & Troubleshooting Tips

When incorporating video content into your Bootstrap-based projects, adhering to best practices can enhance accessibility, optimize performance, and minimize potential issues. This section provides insights on how to optimize your video content for a better user experience and troubleshooting tips for common problems you might encounter during the video embedding process.

Best Practices for Bootstrap Video

Here are some best practices to follow when embedding videos in your Bootstrap website:

  • Use Captions and Subtitles: Provide captions for your videos to assist users who are deaf or hard of hearing. This can be done using the <track> element within the <video> tag, pointing to a WebVTT file.
  • Transcripts: Offer a full transcript of the audio portion of the video beneath the video player or on a separate page. This is particularly helpful for users who prefer reading over watching and for those in environments where audio playback isn't feasible.
  • Accessible Player Controls: Ensure that all video player controls are accessible with keyboard navigation and properly labeled with ARIA roles for screen reader users.
  • Compress Video Files: Use video compression tools to reduce the file size without significantly affecting quality, enabling quicker loading times.
  • Use Appropriate File Formats: Different browsers support different video formats. Provide multiple sources in formats such as MP4, WebM, and Ogg to ensure compatibility.
  • Lazy Load Videos: Implement lazy loading for videos, which delays the loading of video resources until they are needed, typically when they enter the viewport.

Errors & Resolutions

Here are some common issues you might encounter when embedding videos in Bootstrap and how to address them:

  • Error: Video not displaying correctly across different browsers.
    Resolution: Ensure you're using widely supported video formats and include fallbacks. For instance, include both MP4 and WebM formats in your source tags.
  • Error: Video does not maintain aspect ratio when resizing window. Resolution: Make sure the .embed-responsive and corresponding aspect ratio classes (e.g., .embed-responsive-16by9) are correctly applied to the container.
  • Error: Video controls are not appearing as expected.
    Resolution
    : Confirm that the controls attribute is present in the <video> tag. If custom controls are used, check that they are implemented correctly with JavaScript and CSS.
  • Error: Video starts playing automatically, despite not setting autoplay. Resolution: Check for any JavaScript that might be triggering playback automatically and ensure that the autoplay attribute is not accidentally set in the video tag.

By following these best practices and keeping an eye out for common errors, you can ensure that your Bootstrap-embedded videos not only look great but also perform well and are accessible to all users.

Conclusion

Embedding and customizing videos in Bootstrap is straightforward with the right classes and techniques. By following the outlined methods and best practices, developers can enhance their websites with effective and responsive video content.

FAQs

1. How to add video in the carousel slider Bootstrap?

Use the Bootstrap carousel component and embed the video within each slide.

2. How do you create a responsive video embed in Bootstrap?

Utilize the .embed-responsive class along with an appropriate aspect ratio class.

3. Which aspect ratio is used with responsive video in Bootstrap?

Commonly used ratios include 16:9 and 4:3, depending on the video content.

4. Is Bootstrap 5 better than 4?

Bootstrap 5 brings more features and optimizations, making it preferable in most scenarios over Bootstrap 4.

Similar readings

image-68a603ad0b2c9b00105837cd
Enterprise Video Hosting vs Online Video Platform: Which is Right for Your Business?
Posted on Aug 20, 2025
image-688baaed0b2c9b001058360d
How to Screen Record on iPhone: Comprehensive Step-by-Step Guide
Posted on Jul 31, 2025
image-688ba85d0b2c9b00105835cb
10 Best Webinar Platforms in 2025 (Compared)
Posted on Jul 31, 2025
Images or videos loading slow?

We compress them so that your users don't need to wait.

Try Gumlet

Images or videos loading slow?We compress them so that your users don't need to wait.  Try Gumlet →

Ready to get started?

Sign up and start optimizing your videos by up to 57% with Gumlet. No credit card required. Reach out to contact sales or to get a custom pricing estimate that fits your needs.

Start now Contact sales →
Optimizing videos is hard, but our pricing is not
Simple per-minute pricing with no hidden fees.
Pricing details →
Effortlessly integrate Gumlet into your existing stack
Upload with API and set webhooks for output in minutes.
Integragtion guide →

Footer

Gumlet Company logo
USA

Gumlet LLC
8 The Green, Dover, DE 19901

Singapore

Gumlet Pte Ltd
20A, Tanjong Pagar Road, Singapore (088 443)

Gumlet aicp logoGumlet soc2 logoGumlet iso logo
PRODUCT
  • Video Overview
  • Video Analytics
  • DRM Video Protection
  • Video CMS
  • Video Protection
  • Video Player Customization
  • Video Streaming
  • Video Transcoding
  • Video DRM
  • Online Video Hosting
  • Image Optimization
  • No-code Integration
  • Wordpress
  • Vimeo Alternative
  • Cloudinary Alternative
  • Imgix Alternative
  • Wistia Alternative
  • ImageKit Alternative
  • Mux Alternative
RESOURCES
  • Blog
  • Learn
  • Glossary
  • Tools
  • Startup Credits
  • Why Gumlet
  • Webinars
  • Documentation
  • Howdrm.works
SUPPORT
  • Product Updates
  • Feedback
  • Community
  • Become an Affiliate
  • Contact Us
  • Service Status
COMPANY
  • Pricing
  • About Us
  • Customers
  • Careers
  • Press Kit

© 2025 Gumlet Pte. Ltd.

Privacy Policy

Terms of Service