Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
47 changes: 34 additions & 13 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,18 +1,39 @@
language: c
language: shell

matrix:
os: linux
dist: focal

jobs:
include:
- os: linux
dist: xenial
- name: native build in linux
before_install:
- sudo apt-get update -qq
- sudo apt-get install -qq build-essential curl ca-certificates libz-dev
script:
- while sleep 300; do echo "=====[ $SECONDS seconds still running ]====="; done &
- SKIPINSTALL=yes VERBOSE=yes ./build-ffmpeg --build
- kill %1
after_script:
- ./build-ffmpeg --cleanup

before_install:
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then sudo apt-get update -qq; fi
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then sudo apt-get install -qq build-essential curl; fi
- name: native build in osx
os: osx
osx_image: xcode12.2
script:
- while sleep 300; do echo "=====[ $SECONDS seconds still running ]====="; done &
- SKIPINSTALL=yes VERBOSE=yes ./build-ffmpeg --build
- kill %1
after_script:
- ./build-ffmpeg --cleanup

script:
- while sleep 300; do echo "=====[ $SECONDS seconds still running ]====="; done &
- SKIPINSTALL=yes VERBOSE=yes ./build-ffmpeg --build
- kill %1
- name: build in docker
script:
- docker build -t ffmpeg:ubuntu -f Dockerfile .
after_script:
- docker run --rm ffmpeg:ubuntu

after_script:
- ./build-ffmpeg --cleanup
- name: build in docker with cuda
script:
- docker build -t ffmpeg:cuda -f cuda-ubuntu.dockerfile .
after_script:
- docker run --rm ffmpeg:cuda
19 changes: 12 additions & 7 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,17 +1,22 @@
FROM ubuntu:20.04
FROM ubuntu:20.04 AS build

RUN apt-get update \
&& apt-get -y --no-install-recommends install build-essential curl g++ ca-certificates libz-dev \
&& apt-get -y --no-install-recommends install build-essential curl ca-certificates libz-dev \
&& apt-get clean; rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* /usr/share/doc/* \
&& update-ca-certificates

WORKDIR /app
COPY ./build-ffmpeg /app/build-ffmpeg

RUN AUTOINSTALL=yes /app/build-ffmpeg --build
RUN cp /app/workspace/bin/ffmpeg /usr/bin/ffmpeg
RUN cp /app/workspace/bin/ffprobe /usr/bin/ffprobe
RUN /app/build-ffmpeg --cleanup
RUN SKIPINSTALL=yes /app/build-ffmpeg --build

FROM ubuntu:20.04

COPY --from=build /app/workspace/bin/ffmpeg /usr/bin/ffmpeg
COPY --from=build /app/workspace/bin/ffprobe /usr/bin/ffprobe

RUN ldd /usr/bin/ffmpeg
RUN ldd /usr/bin/ffprobe

CMD ["--help"]
ENTRYPOINT ["/usr/bin/ffmpeg"]
ENTRYPOINT ["/usr/bin/ffmpeg"]
18 changes: 9 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,12 @@ build-ffmpeg
The FFmpeg build script provides an easy way to build a static FFmpeg on **OSX** and **Linux** with **non-free codecs** included.


[![How-To build FFmpeg on MacOS](http://img.youtube.com/vi/Z9p3mM757cM/0.jpg)](http://www.youtube.com/watch?v=Z9p3mM757cM "How-To build FFmpeg on OSX")
[![How-To build FFmpeg on MacOS](https://img.youtube.com/vi/Z9p3mM757cM/0.jpg)](https://www.youtube.com/watch?v=Z9p3mM757cM "How-To build FFmpeg on OSX")

*Youtube: How-To build and install FFmpeg on MacOS*

## Disclaimer
Use this script at your own risk. I maintain this script in my spare time.
Use this script at your own risk. I maintain this script in my spare time.
Please do not file bug reports for systems other than Debian 10 and macOS 10.15.x
because I don't have the resources and the time to maintain other systems.

Expand All @@ -23,7 +23,7 @@ because I don't have the resources and the time to maintain other systems.
* `x264`: H.264 (MPEG-4 AVC)
* `x265`: H.265 Video Codec
* `aom`: AV1 Video Codec (Experimental and very slow!)
* `fdk_aac`: Fraunhofer FDK AAC Codec
* `fdk_aac`: Fraunhofer FDK AAC Codec
* `xvidcore`: MPEG-4 video coding standard
* `VP8/VP9/webm`: VP8 / VP9 Video Codec for the WebM video file format
* `mp3`: MPEG-1 or MPEG-2 Audio Layer III
Expand All @@ -45,7 +45,7 @@ because I don't have the resources and the time to maintain other systems.
* VP9 `vp9_cuvid`
* Encoders
* H264 `nvenc nvenc_h264`
* H265 `nvenc_hevc`
* H265 `nvenc_hevc`

## Continuos Integration
ffmpeg-build-script is rockstable. Every commit runs against Linux and MacOS with https://travis-ci.org just to make sure everything works as expected.
Expand Down Expand Up @@ -101,11 +101,11 @@ cd ffmpeg-build-script
### Cuda installation

CUDA is a parallel computing platform developed by NVIDIA.
To be able to compile ffmpeg with CUDA support, you first need a compatible NVIDIA GPU.
To be able to compile ffmpeg with CUDA support, you first need a compatible NVIDIA GPU.
- Ubuntu: To install the CUDA toolkit on Ubuntu, simply run "sudo apt install nvidia-cuda-toolkit"
- Other Linux distributions: Once you have the GPU and display driver installed, you can follow the
[official instructions](https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html)
or [this blog](https://www.pugetsystems.com/labs/hpc/How-To-Install-CUDA-10-1-on-Ubuntu-19-04-1405/)
- Other Linux distributions: Once you have the GPU and display driver installed, you can follow the
[official instructions](https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html)
or [this blog](https://www.pugetsystems.com/labs/hpc/How-To-Install-CUDA-10-1-on-Ubuntu-19-04-1405/)
to setup the CUDA toolkit.

Usage
Expand Down Expand Up @@ -263,7 +263,7 @@ Building done. The binary can be found here: /Volumes/Daten/dev/mac/ffmpeg-build
Install the binary to your /usr/local/bin folder? [Y/n] y
Password:
```


Other Projects Of Mine
------------
Expand Down
Loading