• This repository has been archived on 16/Sep/2024
  • Stars
    star
    127
  • Rank 282,790 (Top 6 %)
  • Language
    Dockerfile
  • License
    BSD 3-Clause "New...
  • Created almost 6 years ago
  • Updated 2 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Optimized media, analytics and graphics software stack images. Use the dockerfile(s) in your project or as a recipe book for bare metal installation.

logo Software Stack Dockerfiles

HOMEPAGE Dockerhub Stable release Contributions

This repository hosts Docker build files of software stacks and services, designed to enable Open Visual Cloud prioritized use cases such as media delivery, media analytics, cloud gaming and cloud graphics, and immersive media.

Validated Docker images are available on Docker Hub.
Explore more container solutions on the Intel® oneContainer Portal.

Software Stack Images:

The software stack images provide ready to use software stacks for application deployment. You can call the software executables or link with the software libraries.

  • Media Delivery
Image Description
ffmpeg

Docker images optimized for media creation and delivery based on the FFmpeg framework. Included the AAC, MP3, OPUS, OGG, Vorbis, X264, X265, VP8/9, SVT-AV1 and SVT-HEVC codecs. The GPU images are accelerated with FFmpeg VAAPI and QSV plugins. See doc/ffmpeg.md for additional details.

docker pull openvisualcloud/xeon-ubuntu2204-media-ffmpeg
docker pull openvisualcloud/xeon-ubuntu2004-media-ffmpeg
gst

Docker images optimized for media creation and delivery based on the GStreamer framework. Included the base, good, bad, ugly and libav set of plugins. The GPU images are accelerated with VAAPI. See doc/gst.md for additional details.

docker pull openvisualcloud/xeon-ubuntu2204-media-gst
docker pull openvisualcloud/xeon-ubuntu2004-media-gst
nginx

Docker images optimized for web hosting and caching. Included FFmpeg, NGINX the web server, and FLV the RTMP and DASH/HLS streaming module. See doc/nginx.md for additional details.

docker pull openvisualcloud/xeon-ubuntu2204-media-nginx
docker pull openvisualcloud/xeon-ubuntu2004-media-nginx
SVT

Docker images for the SVT (Scalable Video Technology) encoders and decoders. Easiest way to try SVT-AV1, HEVC, and VP9 apps. See doc/svt.md for additional details.

docker pull openvisualcloud/xeon-ubuntu2204-media-svt
docker pull openvisualcloud/xeon-ubuntu2004-media-svt
IMTL

Docker images for the IMTL (Intel Media Transport Library), based on DPDK prepared for transmitting and receiving media data with high throughput and low latency. See imtl.md for additional details.

docker pull openvisualcloud/xeon-ubuntu2204-media-imtl
docker pull openvisualcloud/xeon-ubuntu2004-media-imtl
  • Media Analytics
Image Description
ffmpeg

Docker images optimized for media analytics based on the FFmpeg framework. Included plugins that utilized the Intel® OpenVINO™ inference engine. See doc/ffmpeg.md for additional details.

docker pull openvisualcloud/xeon-ubuntu2204-analytics-ffmpeg
docker pull openvisualcloud/xeon-ubuntu2004-analytics-ffmpeg
gst

Docker images optimized for media analytics based on the GStreamer framework. Included plugins that utilized the Intel OpenVINO inference engine. See doc/gst.md for additional details.

docker pull openvisualcloud/xeon-ubuntu2204-analytics-gst
docker pull openvisualcloud/xeon-ubuntu2004-analytics-gst
  • Cloud Gaming and Graphics

Ospray images are discontinued from release v21.6. Please refer to older releases for all images targeted for Cloud Gaming and Graphics.

Development Images:

The development images enable C++ application compilation, debugging (with the debugging, profiling tools) and optimization (with the optimization tools.) You can compile C++ applications with these images and then copy the applications to the corresponding deployment images.

Image Description
media

Docker images for FFmpeg or GStreamer C++ application development. See doc/ffmpeg.md and doc/gst.md for additional details.

docker pull openvisualcloud/xeon-ubuntu2204-media-dev
docker pull openvisualcloud/xeon-ubuntu2004-media-dev
analytics

Docker images for FFmpeg or GStreamer C++ application development, with Intel OpenVINO inference engine and the model optimizer. See doc/ffmpeg.md and doc/gst.md for additional details.

docker pull openvisualcloud/xeon-ubuntu2204-analytics-dev
docker pull openvisualcloud/xeon-ubuntu2004-analytics-dev
service

Docker images for Open WebRTC Toolkit (OWT) C++ application development.. See doc/owt.md for additional details.

docker pull openvisualcloud/xeon-ubuntu2004-service-owt-dev

Service Images:

The service images provides ready to use services. See their image descriptions for exposed service interfaces.

Image Description
owt

Docker images optimized for video conferencing services, based on the WebRTC technology and the Open WebRTC Toolkit. Included conferencing modes: 1:N, N:N with video and audio processing nodes. see doc/owt.md for additional details.

docker pull openvisualcloud/xeon-ubuntu2004-service-owt

Support Matrix:

The project supports the following platforms and OS'es:

Supported Platforms Supported OS'es
Xeon Ubuntu 20.04 LTS, Ubuntu 22.04 LTS
QAT Ubuntu 20.04 LTS, Ubuntu 22.04 LTS
SG1 Ubuntu 20.04 LTS, Ubuntu 22.04 LTS, CentOS 7
Flex Ubuntu 20.04 LTS, Ubuntu 22.04 LTS

Please see Development and Test Report for the latest development statuses.

Host Platform Setup:

  • Update kernels and firmwares: Please see each platform folder README for details.
  • Install cmake and m4 if they are not available on your platform.
  • Make sure your host datetime and timezone are configured properly, a prerequisite to install any Ubuntu security updates.
  • Follow the instructions to setup host date and time.
  • Follow the instructions to install docker.ce or docker.ee.
  • If you are behind a firewall, setup proxy as follows:
sudo mkdir -p /etc/systemd/system/docker.service.d    
printf "[Service]\nEnvironment=\"HTTPS_PROXY=$https_proxy\" \"NO_PROXY=$no_proxy\"\n" | sudo tee /etc/systemd/system/docker.service.d/proxy.conf    
sudo systemctl daemon-reload     
sudo systemctl restart docker     

Evaluate Image:

The Docker images are published on Docker Hub with name pattern openvisualcloud/<_platform_>-<_OS_>-<_usage_>-<_image_>. Find and use the images as follows:

docker search openvisualcloud --limit=100 | grep analytics-ffmpeg #list media analytics ffmpeg images 
docker pull openvisualcloud/xeon-ubuntu2004-analytics-ffmpeg

Build Image:

mkdir build    
cd build     
cmake ..     
# Please build your specific platform image. A full build takes a long time.
cd Xeon/ubuntu-20.04/media/ffmpeg     
# Build on the target platform for optimal performance.
make    
ctest   

See Also: Build Options

Run Image Shell:

Xeon/ubuntu-20.04/media/ffmpeg/shell.sh #<_platform_>/<_OS_>/<_usage_>/<_image_>

Customize Image:

  • You can modify any Dockerfile.m4 template for customization.
    For example, uncomment #include(transform360.m4) in Xeon/ubuntu-20.04/media/ffmpeg/Dockerfile.m4 to add essential 360 video transformation in the FFmpeg build.

After modification, please rerun cmake and make.

See Also: Build Options

Use Dockerfile(s) in Your Project:

It is recommended that you copy the Dockerfile(s) of your platform, OS and image directly into your project. The following shell scripts show how to sync (if needed) and build the NGINX Dockerfile (and its dependency FFmpeg):

update.sh:

DOCKER_REPO=${DOCKER_REPO="https://raw.githubusercontent.com/OpenVisualCloud/Dockerfiles/master/Xeon/ubuntu-20.04/media"}    
(echo "# xeon-ubuntu2004-media-ffmpeg" && curl ${DOCKER_REPO}/ffmpeg/Dockerfile) > Dockerfile.2    
(echo "# xeon-ubuntu2004-media-nginx" && curl ${DOCKER_REPO}/nginx/Dockerfile) > Dockerfile.1    

build.sh:

for dep in .2 .1; do   
    image=$(grep -m1 '#' "Dockerfile$dep" | cut -d' ' -f2)   
    docker build --network=host --file="Dockerfile$dep" -t "$image:latest" . $(env | grep -E '_(proxy)=' | sed 's/^/--build-arg /')   
done  

More Repositories

1

SVT-HEVC

SVT HEVC encoder. Scalable Video Technology (SVT) is a software-based video coding technology that is highly optimized for Intel® Xeon® processors. Using the open source SVT-HEVC encoder, it is possible to spread video encoding processing across multiple Intel® Xeon® processors to achieve a real advantage of processing efficiency.
C
517
star
2

SVT-VP9

SVT VP9 encoder. Scalable Video Technology (SVT) is a software-based video coding technology that is highly optimized for Intel® Xeon® processors. Using the open source SVT-VP9 encoder, it is possible to spread video encoding processing across multiple Intel® Xeon® processors to achieve a real advantage of processing efficiency.
C
222
star
3

Smart-City-Sample

The smart city reference pipeline shows how to integrate various media building blocks, with analytics powered by the OpenVINOâ„¢ Toolkit, for traffic or stadium sensing, analytics and management tasks.
Python
191
star
4

Media-Transport-Library

A real-time media transport(DPDK, AF_XDP, RDMA) stack for both raw and compressed video based on COTS hardware.
C
163
star
5

Immersive-Video-Sample

This Immersive Video project includes 2 samples which are based on OMAF and WebRTC streaming frameworks.
C++
129
star
6

CDN-Transcode-Sample

Media transcoding is a key function for live video broadcasting, streaming, and video on demand use cases in a CDN network. The CDN Transcode sample (not a finished product) provides a reference pipeline to build an out-of-box 1:N CDN streaming transcode service example.
Python
120
star
7

Ad-Insertion-Sample

The ad-insertion reference pipeline shows how to integrate various media building blocks, with analytics powered by the OpenVINOâ„¢ Toolkit, for intelligent server-side ad insertion.
Python
93
star
8

Video-Conferencing-Sample

Welcome to the GitHub repo for Open Visual Cloud video conferencing sample. This sample is built on top of Open WebRTC Toolkit media server and client SDK. To see the detailed information of Open WebRTC Toolkit, visit GitHub page https://github.com/open-webrtc-toolkit
JavaScript
55
star
9

Video-Super-Resolution-Library

Native C and C++ implementation of RAISR (Rapid and Accurate Image Super-Resolution). Intel Video Super Resolution Library
C++
47
star
10

Cloud-Gaming-Windows-Sample

Welcome to github repository for Cloud Gaming For Windows! This sample is intended to support server-client cloud gaming model. It can be used as the foundation for future enhancements, as a reference solution for Intel GPU hardware. Currently running on KBL-G platform.
C++
45
star
11

SVT-JPEG-XS

Welcome to the SVT JPEG XS codec Repository.
C
43
star
12

CDN-Ansible

Welcome to github repository for Visual Cloud Delivery Network. This repository will provide the Ansible playbooks for installing the components of Visual Cloud Delivery Network.
Smarty
22
star
13

Video-Curation-Sample

This sample implements libraries of video files content analysis, database ingestion, content search and visualization.
C++
20
star
14

Media-Communications-Mesh

MCM enables efficient, low-latency media transport for media microservices.
C
17
star
15

VCAC-SW

C
16
star
16

Video-Super-Resolution-Library.Enhanced-BasicVSR

Video super resolution (VSR) is used in AI media enhancement to convert low-resolution video to high-resolution. BasicVSR is a public AI algorithm. We have enhanced the public model to achieve better visual quality and less computational complexity. The performance of BasicVSR inference has also been optimized for Intel Data Center GPU Flex 170.
Dockerfile
9
star
17

VCAC-SW-Analytics

Welcome to the GitHub repo for VCAC-A card media analytics software. This repo was migrated from repo VCAC-SW. Contents to setup Xeon host for connecting with VCAC-A and to build VCAC-A system image for media analytics are published here.
Shell
7
star
18

Intel-Tiber-Broadcast-Suite

Part of Intel® Tiber™ Edge Platform, an end-to-end software platform that enables the building, deployment, running, and management of scalable edge solutions.
Shell
7
star
19

Dockerfiles-Resources

This repository is a read-only repository dedicated to archive source code used in Open Visual Cloud samples/docker images, to be compliant with the open source license obligations.
C++
3
star
20

mpl-api-samples

Intel® Media Processing Library(IMPL) optimized media processing functions like Color Space Conversion(CSC), resize, composition and Alpha blending based on Intel platforms, IMPL is a software library implemented with oneAPI DPC++ designed for Intel CPU/GPU/FPGA-accelerator.
C++
3
star
21

Hackathon2021

Join Hackathon "Open Your Mind to Endless Possibilities", Jan 11th - March 12th, 2021.
2
star