Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Multi-capable Docker image. #126

Open
wants to merge 4 commits into
base: master
Choose a base branch
from
Open

Conversation

Hacklin
Copy link
Contributor

@Hacklin Hacklin commented Jul 1, 2018

Multi-capable Docker image.

Build Stages:

  • build-env - Create build environment image to build Untrunc,
  • construction - Create image with a built Untrunc,
  • production - Create Docker executable "docker-untrunc".

AV Libraries:

  • dev - OS development packages,
  • dev-headers - OS development packages with internal header files,
  • libav-<vers> - Libav version <vers> build from source (like: libav-12.3),
  • ffmpeg-<vers> - FFmpeg version <vers> build from source (like: ffmpeg-4.0.1),
  • libav - Libav build from sources from git master,
  • ffmpeg - FFmpeg build from sources from git master,
  • "" - Dockerfile default.

AV Library Configuration (when building from source):

  • --enable-* - Libav/FFmpeg configuration options,
  • "" - Dockerfile default.

The Site to get the AV Library sources from:

  • origin - The original site of the AV library's project,
  • github - The mirror on GitHub of the the AV library's project,
  • "" - Dockerfile default.

Notes:

  • Tries to build a small Docker executable.
  • Uses Untrunc sources from git master, if no Untrunc sources are provided.

Build results for Untrunc production image:

  • 081 MiB, --:-- min : ubuntu parent image,
  • 264 MiB, 04:15 min : dev / dev-headers,
  • 096 MiB, 05:15 min : libav-12.3 only, no extra libs,
  • 108 MiB, 06:15 min : libav-12.3 + 3GP,MP3,H264,H265,
  • 131 MiB, 10:30 min : ffmpeg-4.0.1 + all extra libs.

ToDo:

  • Improve tagging of the Docker images.
  • Save/Restore the Docker image of the build-env build-stage, so it can be re-used for successive builds.

Build Stages:
- build-env     Create build environment image to build Untrunc,
- construction  Create image with a built Untrunc,
- production    Create Docker executable "docker-untrunc".

AV Libraries:
- dev           OS development packages,
- dev-headers   OS development packages with internal header files,
- libav-<vers>  Libav  version <vers> build from source ("libav-12.3"),
- ffmpeg-<vers> FFmpeg version <vers> build from source (like: "ffmpeg-4.0.1"),
- libav         Libav  build from sources from git master,
- ffmpeg        FFmpeg build from sources from git master,
- ""            Dockerfile default.

AV Library Configuration (when building from source):
- --enable-*    Libav/FFmpeg configuration options,
- ""            Dockerfile default.

The Site to get the AV Library sources from:
- origin        The original site of the AV library's project,
- github        The mirror on GitHub of the the AV library's project,
- ""            Dockerfile default.

Notes:
- Tries to build a small Docker executable.
- Uses Untrunc sources from git master, if no Untrunc sources are provided.

Build results for Untrunc production image:
- ubuntu parent image           :  81 MiB,
- dev / dev-headers             : 264 MiB,  4:15 min,
- libav-12.3 only, no extra libs:  96 MiB,  5:15 min,
- libav-12.3 + 3GP,MP3,H264,H265: 108 MiB,  6:15 min,
- ffmpeg-4.0.1  + all extra libs: 131 MiB, 10:30 min.
@Hacklin
Copy link
Contributor Author

Hacklin commented Jul 1, 2018

This also fixes Issue #118

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant