Sign inSign up

aemdesign/java-ffmpeg

By aemdesign

•Updated 7 months ago

CentOS 7 with Java and FFMPEG

Image
1

10K+

aemdesign/java-ffmpeg repository overview

⁠Java with FFMPEG

build github license github issues github last commit github repo size docker stars docker pulls github release

Docker image based on aemdesign/oracle-jdk⁠ with FFMPEG and media processing libraries.

Docker image for linux/amd64 (also runs on Apple Silicon via Rosetta 2).

⁠Docker Images

Images are available on both registries:

  • Docker Hub: aemdesign/java-ffmpeg
  • GitHub Container Registry: ghcr.io/aem-design/java-ffmpeg
⁠Tags
  • latest - Latest build from main branch
  • jdk21 - JDK 21 branch
  • Version tags (pushed when git tags are created)
⁠Included Packages
  • imagemagick - Image conversion and processing
  • libx - X11 libraries for forms processing
  • ffmpeg - Video and audio processing
  • buildtools - Build utilities for media libraries
  • xvid - Video codec library

⁠Development

⁠CI/CD Pipeline

The project uses GitHub Actions for continuous integration and deployment:

  • Platform: Images are built for linux/amd64
  • Apple Silicon support: Works seamlessly on M1/M2/M3/M4 Macs via Docker Desktop's Rosetta 2 emulation
  • Automated testing: Java and FFMPEG versions are verified before pushing
  • Image analysis: Uses dive for Docker image layer analysis
  • Dual registry push: Automatically pushes to Docker Hub and GitHub Container Registry
  • Git tag versioning: Pushing a git tag automatically creates a corresponding Docker image tag
⁠Running on Apple Silicon Macs (M1/M2/M3/M4)

This image is built for linux/amd64 architecture but runs seamlessly on Apple Silicon Macs through Rosetta 2 emulation in Docker Desktop.

⁠Prerequisites
  1. Docker Desktop for Mac (version 4.25.0 or later recommended)

  2. Rosetta 2 (usually already installed on modern macOS)

    • To verify/install: softwareupdate --install-rosetta
⁠Enable Rosetta 2 in Docker Desktop
  1. Open Docker Desktop
  2. Go to Settings (⚙️ icon) → General
  3. Enable "Use Rosetta for x86_64/amd64 emulation on Apple Silicon"
  4. Click Apply & Restart

Docker Desktop Rosetta Setting

⁠Verify It's Working
# Pull and run the image
docker pull aemdesign/java-ffmpeg:latest
docker run --rm aemdesign/java-ffmpeg:latest uname -m

# Expected output: x86_64 (running via Rosetta 2)
⁠Performance Notes
  • Rosetta 2 emulation provides near-native performance for most workloads
  • First container start may be slightly slower (Rosetta translation cache warmup)
  • Subsequent starts are fast
  • No code changes needed - everything works transparently
⁠Monitoring Pipeline Status

Use the get-action-logs.ps1 PowerShell script to monitor GitHub Actions workflow status and logs.

⁠Prerequisites
  • GitHub CLI (gh) must be installed and authenticated
  • Install: winget install --id GitHub.cli
  • Authenticate: gh auth login
⁠Quick Start
# Check current commit's pipeline status (saves logs to logs/ folder by default)
.\get-action-logs.ps1

# Wait for pipeline to complete
.\get-action-logs.ps1 -WaitForCompletion

# Show logs in console
.\get-action-logs.ps1 -ShowLogs

# Force re-download logs
.\get-action-logs.ps1 -Force

See full documentation: Get-Help .\get-action-logs.ps1 -Full

⁠Creating a New Release
# Tag the commit
git tag 1.0.0
git push origin 1.0.0

This will automatically build and push versioned Docker images to both registries.

⁠License

See LICENSE⁠ file for details.

Tag summary

Content type

Image

Digest

Size

505.4 MB

Last updated

almost 7 years ago

docker pull aemdesign/java-ffmpeg