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
@dheeraj032
Copy link

facing error while using ffmpeg

Input model at /usr/local/share/model/vmaf_v0.6.1.pkl cannot be read successfully.
Caught VmafException: Error loading model (.pkl): Trouble reading the file:/usr/local/share/model/vmaf_v0.6.1.pkl
[Parsed_libvmaf_0 @ 0x5d5aec0] libvmaf encountered an error, check log for details
Error while filtering: Invalid argument
Failed to inject frame into filter network: Invalid argument
Error while processing the decoded data for stream #1:0
Conversion failed!

Can someone help in this ?

@willmasters
Copy link
Author

Not here no. Perhaps ask in https://github.com/FFmpeg/

@RichardTMiles
Copy link

RichardTMiles commented Apr 13, 2022

Use this, I modified this to fit our needs

wget https://johnvansickle.com/ffmpeg/releases/ffmpeg-release-amd64-static.tar.xz

mkdir ffmpeg-release-amd64-static

tar -xf ffmpeg-release-amd64-static.tar.xz --strip-components=1 -C ffmpeg-release-amd64-static

rm -f ffmpeg-release-amd64-static.tar.xz

ln -s /root/ffmpeg-release-amd64-static/ffmpeg /usr/local/bin/ffmpeg

@oharaandrew314
Copy link

Nice find @RichardTMiles

@AndySharez
Copy link

Although I installed it @RichardTMiles way, it won't work with my php script.

Checked the script; everything seems to be ok.

@januszm
Copy link

januszm commented Sep 21, 2022

@oharaandrew314 with the asterisk '*' you can get around the issue with varying version number

if [ ! -f /usr/local/bin/ffmpeg ]
then
  wget https://johnvansickle.com/ffmpeg/releases/ffmpeg-release-amd64-static.tar.xz
  tar xvf ffmpeg-release-amd64-static.tar.xz
  mv ffmpeg-*-amd64-static/ff* /usr/local/bin/
fi

@claudiofabiao
Copy link

Thanks!

@akayalml
Copy link

I am following @RichardTMiles but getting following error while building my docker file for aws lambda. I see the filename is correct though.

Step 8/17 : RUN mkdir ffmpeg-release-amd64-static
 ---> Running in 83ef215b8ad1
Removing intermediate container 83ef215b8ad1
 ---> d99b1fe0ce57
Step 9/17 : RUN tar -xf ffmpeg-release-amd64-static.tar.xz --strip-components=1 -C ffmpeg-release-amd64-static
 ---> Running in 882c2087ead9
tar (child): xz: Cannot exec: No such file or directory
tar (child): Error is not recoverable: exiting now
tar: Child returned status 2
tar: Error is not recoverable: exiting now
The command '/bin/sh -c tar -xf ffmpeg-release-amd64-static.tar.xz --strip-components=1 -C ffmpeg-release-amd64-static' returned a non-zero code: 2

[Container] 2023/01/23 13:30:24 Command did not exit successfully docker build -t $IMAGE_REPO_NAME:$IMAGE_TAG . exit status 2

@ben-montra
Copy link

@akayalml Amazon Linux 2 doesn't have xz installed by default. You need to run yum install xz and tar -xf will work properly

@RichardTMiles
Copy link

Amazon Linux 2023 is out; one should upgrade as often as possible.

@Rudrabha
Copy link

$ wget https://ffmpeg.org/releases/ffmpeg-snapshot.tar.bz2
$ tar -xjvf ffmpeg-snapshot.tar.bz2
$ cd ffmpeg
$ ./configure
$ make
$ sudo make install
$ ffmpeg -version

This worked for me in 2024, Amazon Linux 2

@lzell
Copy link

lzell commented Apr 26, 2024

@Rudrabha your steps also work with AL2023, thanks!

I am using https://ffmpeg.org/releases/ffmpeg-7.0.tar.bz2 instead of the snapshot (which I believe is nightly?)

@RichardTMiles
Copy link

@Rudrabha Amazon Linux 2 is EOL and should not be used.

@stevebanik
Copy link

@RichardTMiles "Amazon Linux 2 end of support date (End of Life, or EOL) has been extended by two years from 2023-06-30 to 2025-06-30 to provide customers with ample time to migrate to the next version."

https://aws.amazon.com/amazon-linux-2/faqs/

@RichardTMiles
Copy link

Noted @stevebanik, thanks. I’ll reiterate that everyone should be upgrading regularly. Avoiding inevitably is a poor decision IMHO. Get the latest and greatest from the newest versions. Support will end, and if you wait until the last minute you will be left insecure. It is MUCH easier to upgrade immediately as new major releases happen. Jumping 2-3 major versions is generally not a good time.

@VladimirMikulic
Copy link

Solution May 2024

Given that nobody wants to post their solution, I figured I will :)

.ebextensions/ffmpeg.config

sources:
  /usr/local/bin/ffmpeg: https://johnvansickle.com/ffmpeg/builds/ffmpeg-git-amd64-static.tar.xz

commands:
  01_link_ffmpeg:
    command: ln -sf /usr/local/bin/ffmpeg/ffmpeg*/ffmpeg /usr/bin/ffmpeg

My initial attempt was to only use Linux commands like wget and tar to download and extract the archive. However, running tar command would froze machine each time I ran it. The above works though without any issues.

@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 :)

@rajaduraicloud
Copy link

I followed this medium post for install ffmpeg installation in Amazon Linux.
Link: Click here for link

@RichardTMiles
Copy link

RichardTMiles commented Aug 28, 2024

@rajaduraicloud hey it’s better form to post what specifically was needed that worked for you, with a delta of what was given above. Links can changes, sites can go down, but a real comment with real code is written to last. I personally am not seeing any difference in the medium article and the code suggested above?

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