Coder Social home page Coder Social logo

media_test's Introduction

logo Dockerfiles

Travis Build Status Development Test Status Stable release HOMEPAGE License 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.

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 Image optimized for media creation and delivery. Included codecs: aac, mp3, opus, ogg, vorbis, x264, x265, vp8/9, av1 and SVT-HEVC. The GPU images are accelerated with vaapi and qsv. See ffmpeg.md for details.
gst Image optimized for media creation and delivery. Included the base, good, bad, ugly and libav set of plugins. The GPU images are accelerated with vaapi. See gst.md for details.
nginx+rtmp Image optimized for web hosting and caching. Based on FFmpeg, included NGINX the web server and RTMP the RTMP, DASH and HLS streaming module. See nginx.md for details.

Media Analytics

Image Description
dldt+ffmpeg Image optimized for media analytics. Included what are in the FFmpeg image. Inferencing engine and tracking plugins to be included. See ffmpeg.md for details.
dldt+gst Image optimized for media analytics. Included what are in the GStreamer image. Inferencing engine and tracking plugins to be included. See gst.md for details.

Cloud Gaming and Graphics

Image Description
ospray Image optimized for intel ray tracing api. Based on embree, included ospray Ray Tracing engine and examples. See ospray.md for details.
ospray+mpi+OpenImageIO Image optimized for intel ray tracing api. Based on embree, included ospray Ray Tracing engine with examples(which require OpenImageIO) and multi-host connection via MPI. See ospray+OpenImageIO+mpi.md for details.

Development Images

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

Image Description
ffmpeg+gst+dev Image contains the FFmpeg and GStreamer C++ development files. The OpenViNO model optimizer is to be included. See ffmpeg.md and gst.md for details.

Service Images:

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

Image Description
Coming soon Coming soon

Support Matrix:

The project supports the following platforms and OS'es:

Supported Platforms Supported OS'es
Xeon Ubuntu 16.04 LTS, Ubuntu 18.04 LTS, CentOS 7.4, 7.5, and 7.6
Xeon E3 Ubuntu 16.04 LTS, Ubuntu 18.04 LTS, CentOS 7.4, 7.5, and 7.6
VCA2 Ubuntu 16.04 LTS, Ubuntu 18.04 LTS, CentOS 7.4, 7.5, and 7.6

Please see development and test statuses for the lastest development statuses.

Host Platform Setup:

  • Update kernels and firmwares: Please see each platform folder README for instructions.
  • Follow the instructions to setup host date and time.
  • Follow the instructions to install docker.ce.
  • If you are behind a firewall, setup proxy as follows:
(1) sudo mkdir -p /etc/systemd/system/docker.service.d    
(2) printf "[Service]\nEnvironment=\"HTTPS_PROXY=$https_proxy\" \"NO_PROXY=$no_proxy\"\n" | sudo tee /etc/systemd/system/docker.service.d/proxy.conf    
(3) sudo systemctl daemon-reload     
(4) sudo systemctl restart docker     

Build docker image:

(1) mkdir build    
(2) cd build     
(3) cmake ..    
(4) cd Xeon/ubuntu-16.04/ffmpeg # please build your specific <_platform_>/<_OS_>/<_image_> only as a full build takes a long time.     
(5) make # build on the target processor for best performance.    
(6) ctest   

Run shell:

Xeon/ubuntu-16.04/ffmpeg/shell.sh #<_platform_>/<_OS_>/<_image_>

Customize:

You can modify any Dockerfile.m4 template for customization.
For example, uncomment #include(transform360.m4) in Xeon/ubuntu-16.04/ffmpeg/Dockerfile.m4 to add essential 360 video transformation in the FFmpeg build.
After modification, please rerun cmake and make.

Use alternative repo:

Certain source repo might be blocked in certain network. You can specify alternative repos before the build command as follows:

export AOM_REPO=...       
export VPX_REPO=...     
make

For a list of all REPOs and their versions, run the following command:

grep -E '_(REPO|VER)=' template/*.m4         

Use Dockerfile in other project:

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

update.sh:

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

build.sh:

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

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.