TECHNICAL FIELD

The present disclosure relates generally to decoding and displaying video on a webpage within a web browser. More particularly, the present disclosure relates to methods and systems for supplementing the video decoding capabilities of a web browser without requiring the pre-installation of video decoder plug-ins on the web browser.

BACKGROUND

Web pages are frequently used to display a variety of different types of information within a web browser. In some cases, web pages are used to display videos such as but not limited to security videos. There are a variety of different video formats (codecs) that each require a particular video decoder to properly decode and display the video. Web browsers typically have some basic video decoders natively built-in for decoding some common video formats. However, to properly display a web page that includes a video that is encoded in a video format that is not natively supported by the web browser, a user must typically pre-install an appropriate plug-in or vendor specific extension to the web-browser. The pre-installed plug-in or vendor specific extension to the web-browser essentially adds the desired video decoding capability to the web-browser. Some major video formats that are generally not natively supported by web browsers include H265, Motion JPEG & MPEG4 Part 2.

In some applications, such as security Video Management System (VMS) applications, cameras and network video encoders are often configured to provide video stream(s) in many different video formats, many often do not align with the limited video formats natively supported by web browsers. Thus, the video streams may not be able to be sent directly to the web browser for viewing using native features of the web browser. Thus, appropriate plugins or vendor specific extensions must be identified and pre-installed on the web browser before the video streams can be displayed. Searching out and installing such plugins or vendor specific extensions can be time consuming and tedious. What would be desirable are methods and systems for displaying videos in a web browser that have video formats that are not natively supported by the web browser without requiring the pre-installation of appropriate plug-ins or vendor specific extensions to the web-browser.

SUMMARY

The present disclosure relates generally to decoding and displaying video on a webpage within a web browser. More particularly, the present disclosure relates to methods and systems for supplementing the video decoding capabilities of a web browser without requiring the pre-installation of video decoder plug-ins on the web browser. This may be accomplished by delivering along with the web page a WebAssembly Module that has multiple video decoders built in to support decoding and displaying the video stream(s) referenced on the web-page.

In one example, a method for delivering a web page that displays a video includes delivering a requested web page that includes a WebAssembly Module to a web browser of a requesting device. The WebAssembly Module includes a plurality of video decoders each for decoding a corresponding one of a plurality of video encoding formats. An encoded video is delivered for display by the requested web page, the encoded video being encoded in a particular one of the plurality of video encoding formats. The encoded video is decoded using a respective one of the plurality of video decoders of the WebAssembly Module that corresponds to the particular one of the plurality of video encoding formats of the delivered encoded video.

In another example, a system includes a memory that is configured to store executable instructions and a processor that is operably coupled to the memory and is configured to execute the executable instructions. When the processor executes the executable instructions, the processor receives from a web browser a request for delivery of a requested web page, the requested web page requesting display of a video encoded in a particular one of a plurality of video encoding formats, where the web browser does not have a video decoder for the particular one of the plurality of video encoding formats. The processor delivers the requested web page including a WebAssembly Module to the web browser, the delivered WebAssembly Module including a plurality of video decoders each for decoding a corresponding one of the plurality of video encoding formats. The WebAssembly Module decodes the encoded video using a respective one of the plurality of video decoders included in the WebAssembly Module that corresponds to the particular one of a plurality of video encoding formats.

In another example, a non-transitory, computer-readable storage medium has stored thereon instructions that implement a WebAssembly Module, the WebAssembly Module augmenting video decoding capabilities of a web browser running on a host device, the WebAssembly Module delivered to the web browser with a web page that displays an encoded video that is encoded in a particular one of a plurality of video encoding formats. When the WebAssembly Module is executed by the host device, the host device decodes the encoded video using a particular one of a plurality of video decoders implemented by the WebAssembly Module that corresponds to the particular one of the plurality of video encoding formats of the delivered encoded video. The host device then renders the decoded video on a display of the host device.

The preceding summary is provided to facilitate an understanding of some of the innovative features unique to the present disclosure and is not intended to be a full description. A full appreciation of the disclosure can be gained by taking the entire specification, claims, figures, and abstract as a whole.

