Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save willmasters/382fe6caba44a4345a3de95d98d3aae5 to your computer and use it in GitHub Desktop.
Save willmasters/382fe6caba44a4345a3de95d98d3aae5 to your computer and use it in GitHub Desktop.
#
sudo su -
cd /usr/local/bin
mkdir ffmpeg
cd ffmpeg
wget https://www.johnvansickle.com/ffmpeg/old-releases/ffmpeg-4.2.1-amd64-static.tar.xz
tar xvf ffmpeg-4.2.1-amd64-static.tar.xz
mv ffmpeg-4.2.1-amd64-static/ffmpeg .
ln -s /usr/local/bin/ffmpeg/ffmpeg /usr/bin/ffmpeg
exit
@januszm
Copy link

januszm commented May 23, 2024

@VladimirMikulic pretty cool, however this solution still relies on the remote server. I was in a situation where a public server for some package went down couple of times, disrupting deployments. For more "sensitive" projects I'd recommend periodically caching the file on your S3 bucket and using this solution:

commands:
  install_ffmpeg:
    command: |
      if [ ! -e /usr/bin/ffmpeg ]
      then
        aws s3 cp s3://YOUR_BUCKET/ffmpeg-release-amd64-static.tar.xz ffmpeg-release-amd64-static.tar.xz
        mkdir -p /usr/local
        tar xf ffmpeg-release-amd64-static.tar.xz -C /usr/local
        ln -sf /usr/local/ffmpeg-6.0-amd64-static/ffmpeg /usr/bin/ffmpeg
        ln -sf /usr/local/ffmpeg-6.0-amd64-static/ffprobe /usr/bin/ffprobe
      fi

You still have to download and upload the release file to S3, but it shouldn't be a big deal if you do it 2-3 times a year or have another CI/CD task to do it for you once a week.

@VladimirMikulic
Copy link

@januszm thanks for the code snippet but tar is not an option for me since it frozes the machine unfortunately :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment