Giter VIP home page Giter VIP logo

dockerfiles's Introduction

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, AV1 and SVT-HEVC codecs. The GPU images are accelerated with VAAPI and QSV. See doc/ffmpeg.md for additional details.

docker pull openvisualcloud/xeon-ubuntu1804-media-ffmpeg
docker pull openvisualcloud/xeon-ubuntu2004-media-ffmpeg
docker pull openvisualcloud/xeon-centos7-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-ubuntu1804-media-gst
docker pull openvisualcloud/xeon-ubuntu2004-media-gst
docker pull openvisualcloud/xeon-centos7-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-ubuntu1804-media-nginx
docker pull openvisualcloud/xeon-ubuntu2004-media-nginx
docker pull openvisualcloud/xeon-centos7-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-ubuntu1804-media-svt
docker pull openvisualcloud/xeon-centos7-media-svt
  • 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-ubuntu1804-analytics-ffmpeg
docker pull openvisualcloud/xeon-ubuntu2004-analytics-ffmpeg
docker pull openvisualcloud/xeon-centos7-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-ubuntu1804-analytics-gst
docker pull openvisualcloud/xeon-ubuntu2004-analytics-gst
docker pull openvisualcloud/xeon-centos7-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-ubuntu1804-media-dev
docker pull openvisualcloud/xeon-ubuntu2004-media-dev
docker pull openvisualcloud/xeon-centos7-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-ubuntu1804-analytics-dev
docker pull openvisualcloud/xeon-ubuntu2004-analytics-dev
docker pull openvisualcloud/xeon-centos7-analytics-dev
service

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

docker pull openvisualcloud/xeon-ubuntu1804-service-owt-dev
docker pull openvisualcloud/xeon-centos7-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-ubuntu1804-service-owt
docker pull openvisualcloud/xeon-centos7-service-owt
owt360

Docker images optimized for ultra-high resolution immersive video low latency streaming, based on the WebRTC technology and the Open WebRTC Toolkit. Included SVT-HEVC tile-based 4K and 8K transcoding and field of view (FoV) adaptive streaming. see doc/owt360.md for additional details.

docker pull openvisualcloud/xeon-ubuntu1804-service-owt360
docker pull openvisualcloud/xeon-centos7-service-owt360

Support Matrix:

The project supports the following platforms and OS'es:

Supported Platforms Supported OS'es
Xeon Ubuntu 20.04 LTS, Ubuntu 18.04 LTS, CentOS 7
Xeon E3 Ubuntu 20.04 LTS, Ubuntu 18.04 LTS, CentOS 7
VCAC-A Ubuntu 20.04 LTS, Ubuntu 18.04 LTS
QAT Ubuntu 20.04 LTS, Ubuntu 18.04 LTS, CentOS 7
SG1 Ubuntu 20.04 LTS, Ubuntu 18.04 LTS, CentOS 7

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-ubuntu1804-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-18.04/media/ffmpeg     
# Build on the target platform for optimal performance.
make    
ctest   

See Also: Build Options

Run Image Shell:

Xeon/ubuntu-18.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-18.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-18.04/media"}    
(echo "# xeon-ubuntu1804-media-ffmpeg" && curl ${DOCKER_REPO}/ffmpeg/Dockerfile) > Dockerfile.2    
(echo "# xeon-ubuntu1804-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  

dockerfiles's People

Contributors

jhou5 avatar xwu2git avatar dpatel257 avatar liz-lawrens avatar linxie47 avatar fkhoshne avatar qwu16 avatar tangzhizhen avatar 1480c1 avatar daijh avatar tszumski avatar alekdu avatar dsmertin avatar sdxkeeper avatar ttao1 avatar umed avatar dlin2 avatar djie1 avatar tianjunwork avatar jsunintel avatar gokul989 avatar g-schnaubelt-intel avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.