video embed api Archives - VdoCipher Blog Secure Video Streaming Tue, 09 Jul 2024 14:02:51 +0000 en-US hourly 1 https://wordpress.org/?v=6.4.5 https://www.vdocipher.com/blog/wp-content/uploads/2016/11/cropped-VdoCipher-logo2-32x32.png video embed api Archives - VdoCipher Blog 32 32 How to Embed Video in HTML using iframe or video tag element https://www.vdocipher.com/blog/how-to-embed-video-in-html/ Tue, 05 Sep 2023 15:46:22 +0000 https://www.vdocipher.com/blog/?p=12033 Embedding a video file in an HTML document allows the video playback directly in the web browser without needing a separate video player application. HTML video embedding is also important because it will enable videos to be played on mobile devices that do not have a dedicated video player application. For example, many smartphones and […]

The post How to Embed Video in HTML using iframe or video tag element appeared first on VdoCipher Blog.

]]>
Embedding a video file in an HTML document allows the video playback directly in the web browser without needing a separate video player application. HTML video embedding is also important because it will enable videos to be played on mobile devices that do not have a dedicated video player application. For example, many smartphones and tablets do not have a javascript video player application installed, but they can still play video files embedded in an HTML document. Additionally, HTML video embedding can be used to create a video gallery, where multiple videos can be displayed on a single page. An embed code is a chunk of HTML allowing you to embed content from one website into another. Most commonly, embed codes are used to embed video in HTML from video-sharing sites like YouTube. Embed codes are important because they allow you to embed content on your website without hosting it on the same server. This can save you a lot of bandwidth and storage space and prevent you from having to deal with copyright issues.

In this article, we will discuss major methods of embedding video files in an HTML document. The methods are easy enough, and most often, they require copying and pasting of an HTML string. These strings are available through your sharing snippet that either contains a video tag or an iframe tag. We will discuss about both methods of using a video tag and an iframe tag with their features and attributes.

VdoCipher and google widevine partnership

This partnership allows VdoCipher to leverage Google Widevine’s DRM technology as base encryption ensuring the utmost security for your video content. Also, you do not need to worry about Widevine DRM contract, approval and time delay.

Embed Video in HTML using < Video > tag

The < video > embed element in HTML is used to embed a video file into an HTML document. The HTML video element shows a video on a web page without the requirement of Flash Player, like additional plugins. After implementing HTML5, embedding videos to a web page became as easy as adding an image. Although the data in the video element is supposed to be video, you can also add images and audio. The content is written in between the opening < video > and closing < /video > tags.

Web browsers commonly supported video formats are mp4, WebM and Ogg. The < video > tag contains < source > tags that contain different video sources. The browser picks the one it supports. For example, different video sizes for iPad and retina displays can be provided with different source URLs. This can be seen in the below code snippet:

Syntax:

< video src=”video.webm” type=”video/webm” controls >
< /video >

Or

< video controls >
< source src=”movie.mp4″ type=”video/mp4″ >
< source src=”movie.ogg” type=”video/ogg” >
< /video >

Note: < source > tag is an empty tag. There is no need to close it except in the case of XHTML.

VdoCipher recognition by G2

This achievement underscores our commitment to providing true to words secure video hosting solutions with dedicated support. Join the growing number of businesses trusting VdoCipher with their video needs.

Browser MP4 WebM OGG
Google Chrome Yes Yes Yes
Firefox Yes Yes Yes
Opera Yes Yes Yes
Safari Yes Yes No
Edge Yes Yes Yes

Attributes of video element for embedding in HTML

There are three attributes which get mainly used with < video > tag namely, “src”, “controls” and “type”.

src – This attribute gets used to specify the source URL of the video. It specifies the URL or video file location to embed.

If you are not using the ‘src’ attribute of the video tag, then you need to use the < source > tag with its ‘src’ attribute to specify the source URL. The additional benefit a < source > tag provides is of having different source URLs for different display sizes and video types.

< video controls >
< source src=”movie-1080p.mp4″ type=”video/mp4″ >
< source src=”movie-480p.mp4″ type=”video/mp4″ >
< /video >

type – This attribute specifies one of the three supported video format types. Similar to the ‘src’ attribute, this attribute can also be specified with the < source > tag and have multiple types.

Video Format Type value
MP4 video/mp4
WebM video/webm
Ogg video/ogg

controls – The controls attribute displays player controls supported by browsers. If this attribute is not used, the player won’t display any controls, not even pause and play. If specified, the browse will offer video controls to the user, such as volume, play, pause, resume playback and more.

Other attributes:

autoplay – A boolean expression, when specified, automatically starts the video as soon as the data has finished loading.

The automatic video playback (mostly with an audio track) when a visitor visits a website is not liked by many and is often considered a bad user experience. Some browsers like Chrome70.0 allow autoplay only when the muted attribute is present.

To autoplay a video with muted audio, add ‘muted’ after ‘autoplay’.

< video width=”340″ height=”260″ autoplay muted >

preload – This attribute gives the author the freedom to hint to the browser whether to download the video or the metadata or not to load the video when the page loads the first time. The attribute allows 3 values to pass:

  • none – The video will not be preloaded. The video content part of the page will be displayed as a blank region on the screen.
  • metadata – Only the video metadata (height, width, duration etc) is fetched before the user starts video playback
  • auto – The entire video is downloaded irrespective of user interest. The auto request can be ignored by the browser.

Note: The autoplay attribute can override the preload. The preload attribute is just a hint for the browser. 

VdoCipher video drm encryption

Experience multi-DRM video security through VdoCipher with additional layers to make security full proof. We’ve dedicated years to mastering video security and DRM integrations, ensuring your content is safeguarded against piracy.

loop – A boolean expression, when specified, plays the video again once the playback has come to end.

height – Sets the video display area height.

width – Sets the video display area width.

muted – A boolean attribute to initially mute the audio in a video. If set to ‘false’, the audio will play when the video starts.

poster – A preview image that is shown when the video is loading or until the time user hits the play button. If the attribute is not specified, nothing is displayed till the time the first video frame is available. The first frame then becomes the poster frame.

Embed Video in HTML using < iframe > tag

The <iframe> HMTL element specifies an inline frame containing independent HTML. With this frame, you can embed another HTML page or external URL into the current page (parent page). Commonly it is used to embed videos, external ads, maps and other media. You can even use iframe to embed videos in wordpress.

The content is referenced in the ‘src’ attribute of each element, which makes it a completely independent resource in reference to the current document.

The embedded document or Video behaves like it is a part of the current page, and you can interact with it. The HTML document may have separate CSS or JavaScript, which is refreshed and loaded separately from the parent site whenever the web browser parses the iframe tag.

Here is an example of a YouTube video embed code using an iframe element. The <iframe> tag below would load a 560x315px player, which will play the YouTube video id ‘M7lc1UVf-VE’. The below embed code from YouTube also uses the ‘allow’ parameter to specify multiple features like autoplay, picture-in-picture, etc.

VdoCipher custom HTML5 video player

Complete control to personalize your online video player, catering to your brand and specific requirements. You can easily change the color, design, and player controls, including adaptive playback, video speed change, and multi-language subtitles.

<iframe width=”560″ height=”315″ loading=”lazy” src=”https://www.youtube.com/embed/M7lc1UVf-VE” title=”YouTube video player” frameborder=”0″ allow=”accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture” allowfullscreen></iframe>

How an iframe loads a video element?

Once an < iframe > element is placed with a ‘src’ attribute, it will start loading the HTML content of the source URL. The HTML content will load with a < video > element containing the source or blob URL of the video. For example, the above YouTube iframe embed code will eventually unfold to,

< html >
< head >< /head >
< body >
…… < video >…..< /video >
< /body >
< /html >

iframe element containing video element

Attributes of iframe element for Video embed in HTML

allow – specifies the feature policy of the <iframe>. The policy is used to define features available to the <iframe> based on the request origin. The allow attribute values are the following features which can be used as per need.

  • accelerometer
  • ambient-light-sensor
  • autoplay
  • battery
  • camera
  • display-capture
  • document-domain
  • encrypted-media
  • execution-while-not-rendered
  • execution-while-out-of-viewport
  • fullscreen
  • gamepad
  • geolocation
  • gyroscope
  • layout-animations
  • legacy-image-formats
  • magnetometer
  • microphone
  • midi
  • navigation-override
  • oversized-images
  • payment
  • picture-in-picture
  • publickey-credentials-get
  • speaker-selection
  • sync-xhr
  • unoptimized-images ExperimentalNon-Standard
  • unsized-media ExperimentalNon-Standard
  • usb
  • screen-wake-lock
  • web-share
  • xr-spatial-tracking

allowfullscreen – when set true, activates full screen via requestFullscreen() method.

height – defines frame height in CSS pixels. The default value is 150

weight – defines frame width in CSS pixels. The default value is 300

name – name for the embedded browsing context.

allowpaymentrequest – is set to true, a cross-origin <iframe> is allowed to invoke Payment Request API

loading – specifies how the web browser should load iframe

  • eager: immediately load the iframe
  • lazy: defer iframe loading as defined by the browser (upon reaching a calculated distance from the viewport).

sandbox – applies a set of restrictions for the iframe content. The attribute value is either empty for applying all restrictions or space-separated tokens to lift particular restrictions.

srcdoc – defines the HTML content of the page to show in the <iframe>

The <iframe> tag supports Global and Event attributes in HTML. Few events triggered by media are ‘onabort’, ‘oncanplay’, ‘ondurationchange’, ‘onplay’, ‘onvolumechange’ and more.

Responsive Video Embedding in HTML5

In today’s digital landscape, where users access websites on a wide range of devices and screen sizes, ensuring that your embedded videos adapt seamlessly to different screens is paramount. Responsive video embedding not only improves user experience but also contributes to higher engagement and better SEO rankings. Here’s how you can achieve responsive video embedding and optimize the viewing experience for all users. This can be achieved through the following techniques,

1. Using Width and Height Properties

A simple way to make the <video> element responsive is to set its width property to 100% and height to auto. This allows the video player to scale up and down responsively:

<video width="100%" height="auto">
<source src="video.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>

2. Using Max-width Property

To prevent the video from scaling up beyond its original size, you can use the max-width property:

video-container {
max-width: 100%;
height: auto;
}

3. Using Media Queries

Media queries enable you to apply specific styling and sizing rules to embedded videos based on the device’s screen width. This approach allows you to optimize the video layout for different breakpoints. For instance, you can adjust video dimensions, font sizes, and spacing to create a seamless viewing experience on smartphones, tablets, and desktops.

@media screen and (max-width: 768px) {
.video-container {
width: 100%;
}}

4. Using Viewport Units

Viewport units, denoted as vw (viewport width) and vh (viewport height), provide a dynamic way to set video dimensions as percentages of the screen’s viewport size. This approach ensures that videos maintain their proportions regardless of the user’s device. By using viewport units, you can create videos that scale smoothly from large monitors to small smartphone screens.

.video-container {
width: 90vw;
height: 50vh;
}

5. Using Aspect Ratio Padding

Maintaining the aspect ratio of embedded videos in HTML5 is crucial to prevent distortion and ensure a visually appealing viewing experience. Applying padding with a percentage-based value (padding-bottom) allows you to create a responsive aspect ratio for the video container. This technique ensures that the video retains its intended dimensions and appearance.

.video-container {
position: relative;
padding-bottom: 56.25%; /* 16:9 aspect ratio */
}

.video {
position: absolute;
width: 100%;
height: 100%
;
}

Example of a Complete Responsive Video

<div class="video-container">
<video controls>
<source src="video.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
</div>


.video-container {
max-width: 100%;
margin: 0 auto;
position: relative;
padding-bottom: 56.25%; /* 16:9 aspect ratio */

}

.video-container video {position: absolute;
width: 100%;
height: 100%
;
}

Responsive Iframe Embedding in HTML5

You might have come across the need to have a responsive iframe while trying to embed YouTube videos as the default copied snippet does not handle the same. To fulfill the responsiveness, you need to use a container < div > element to wrap the iframe and assign custom class names for differentiation. For example,

<div class="vdo-responsive-container">
<iframe class="vdo-responsive-iframe" src="URL_HERE"></iframe>
</div>

Then write the CSS for custom classes as,

.vdo-responsive-container {
position: relative;
overflow: hidden;
width: 100%;
padding-top: 56.25%; /* 16:9 Aspect Ratio */
}

.vdo-responsive-iframe {
position: absolute;
top: 0;
left: 0;
bottom: 0;
right: 0;
width: 100%;
height: 100%;
}

You can also adjust for common aspect ratios like 4:3, 3:2, etc using the padding-top value in the .vdo-responsive-container class for different ratios. For example, padding-top: 75%;  for 4:3 Aspect Ratio and padding-top: 66.66%; for 3:2 Aspect Ratio.

Desktop Browser Compatibility of Video Elements and Attributes

The below table shows the version after which the support for video tag or its attribute started in the following desktop browsers,

Chrome Edge Firefox Opera Safari
video 3 12 3.5 10.5 3.1
Aspect ratio 79 79 71 66 14
autoplay 3 12 3.5 10.5 3.1
controls 3 12 3.5 10.5 3.1
crossorigin 33 18 74 20 10
height 3 12 3.5 10.5 3.1
loop 3 12 11 10.5 3.1
muted 30 12 11 Yes 5
poster 3 12 3.6 10.5 3.1
preload 3 12 4 Yes 3.1
src 3 12 3.5 10.5 3.1
width 3 12 3.5 10.5 3.1

Mobile Browser Compatibility of Video Elements and Attributes

The below table shows the version after which the support for video tag or its attribute started in the following mobile browsers,

Chrome Android Firefox for Android Opera Android Safari on iOS Samsung Internet
WebView Android
video 18 4 14 3 1 4.4
Aspect ratio 79 79 57 14 12 79
autoplay 18 4 14 10 1 4.4
controls 18 4 14 3 1 4.4
crossorigin 33 79 20 10 2 4.4.3
height 18 4 14 3 1 4.4
loop 18 14 14 6 1 4.4
muted 30 14 18 ? 2 4.4
poster 18 4 14 3 1 4.4
preload Yes 4 Yes 3 Yes Yes
src 18 4 14 3 1 4.4
width 18 4 14 3 1 4.4

How to Securely Embed Videos Preventing Illegal Downloads

The best way to prevent your premium videos from being illegally downloaded is to use VdoCipher embed code. VdoCipher embed code is similar to that of YouTube, containing an < iframe > element but with DRM Encryption enabled ‘src’ player.

<iframe src=”https://player.vdocipher.com/playerAssets/1.x/vdo/embed/index.html#otp=20160313versASE323NbiX5si4N3R6iqCixmcl4u41SZMyP9ABAsAs12tehmBPG2&playbackInfo=eyJ2aWRlb0lkIjoiYmNiMDdkYmRmOWE1OTZkNDkwZTRhZDRkNzViMDBlYmQifQ==” style=”border:0;height:360px;width:640px;max-width:100%” allowFullScreen=”true” allow=”encrypted-media”></iframe>

VdoCipher dynamic watermarking

With the application of user-based watermarks like IP address, user ID, email ID, and phone number, this feature not only blocks screen capture in many devices such as of Apple, but also discourages screen capture on websites.

This iframe code unfolds to contain a < video > element containing video ‘src’ URLs, and these video source URLs are protected by multi-DRM technology. This not only protects video downloads but also screen capture on all Google and Apple devices with their browsers. When opened, even the video source URL will generate an error page with a missing key error. This happens because DRM encryption uses dynamic cloud-based key generation and is break-proof.

<Error>
<Code>MissingKey</Code>
<Message>Missing Key-Pair-Id query parameter or cookie value</Message>
</Error>

Apart from providing secure embed code for your videos, VdoCipher has many advanced features as follows:

  • Hollywood-Grade DRM Encryption
  • URL Whitelist (Domain restriction)
  • VdoCipher WordPress Plugin with easy integration
  • Smart HTML5 Video Player with Adaptive Bitrate Streaming
  • Dynamic Watermarking
  • Secure offline downloads on Android
  • API and SDKs

FAQs

Can video element tag be used to play an audio file?

Yes, you can play the audio using the < video > tag, but using the < audio > tag will give a better user experience via consolidated UI.

Is it possible to edit an iframe video inner HTML elements?

Not possible in the case of src being another domain as it is against the browser’s cross-origin policy. Else, it can be done via the use of JS or jquery.

What browsers support the HTML <video> tag?

The HTML <video> tag is supported by all major browsers, including Google Chrome, Mozilla Firefox, Internet Explorer, Safari, and Opera.

What are the benefits of using an iframe?

Iframes offer several benefits over traditional HTML frames, including the ability to load content asynchronously and support for modern web standards.

What are the drawbacks to using an iframe?

One major drawback of having iframes is that they may impact the performance of your page if not used correctly. For example, iframes can slow down page loading time.

The post How to Embed Video in HTML using iframe or video tag element appeared first on VdoCipher Blog.

]]>
C# sample API for video upload from browser to VdoCipher https://www.vdocipher.com/blog/2022/09/c-sample-video-upload-from-browser-to-vdocipher/ https://www.vdocipher.com/blog/2022/09/c-sample-video-upload-from-browser-to-vdocipher/#respond Fri, 02 Sep 2022 15:01:09 +0000 https://www.vdocipher.com/blog/?p=438 To automate your video website platform, you need video upload directly through your website. Read this for details about this method. The following code gives an example written in C#. C# Sample Code​ for VdoCipher OTP Generation In this example, the sample videoID is 1234567890, and the API Secret Key is a1b2c3d4e5. The time-to-live for OTP validity is set to […]

The post C# sample API for video upload from browser to VdoCipher appeared first on VdoCipher Blog.

]]>
To automate your video website platform, you need video upload directly through your website. Read this for details about this method. The following code gives an example written in C#.

C# Sample Code​ for VdoCipher OTP Generation

In this example, the sample videoID is 1234567890, and the API Secret Key is a1b2c3d4e5. The time-to-live for OTP validity is set to 300s in the sample code. You can reference the API documentation for more info.

var client = new RestClient("https://dev.vdocipher.com/api/videos/1234567890/otp");
var request = new RestRequest(Method.POST);
request.AddHeader("Accept", "application/json");
request.AddHeader("Content-Type", "application/json");
request.AddHeader("Authorization", "Apisecret a1b2c3d4e5");
request.AddParameter("undefined", "{\n\t\"ttl\":300\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);

The controller makes an API request to VdoCipher API to get authorized data about the upload. View file creates the HTML form required for uploading data. Note that the HTML form is only for illustration. You need to hide the extra input fields and perhaps use one of the better javascript libraries (angularjs, jquery or standalone, etc.) for video upload to make user flow better according to rest of your website.

https://gist.github.com/vibhavsinha/cb35c43b874e52c69dd2

After the video is uploaded, it is not ready instantly. Do not load the player immediately. Use the API to query when video is ready and only then render the video player. The API for querying video status is described in the API reference as videos.

FAQs

How to protect your C# video streaming on the backend?

The security integration of video streaming, like multi-DRM, is not directly available for C# use. The easiest solution would be to use a secure video streaming service provider like VdoCipher and integrate with their APIs compatible with the C# backend.

How to secure API in C#?

API gets used as a documented method of interacting with other services, and that is why there is no exact answer to the question, but applying OAuth and using a shared secret along with the request made can work as generic solutions.

Is C# vulnerable to Video Security lapses?

No, it has nothing to do with video security, as videos get secured through cloud encoding and global distribution via a dynamic key exchange mechanism.

 

The post C# sample API for video upload from browser to VdoCipher appeared first on VdoCipher Blog.

]]>
https://www.vdocipher.com/blog/2022/09/c-sample-video-upload-from-browser-to-vdocipher/feed/ 0