Nhân dịp làm dịch vụ cài đặt FFMpeg trên server CentOS cho khách hàng, mình có note lại các bước thao tác để sau này có bạn nào cần thì dùng luôn.

FFmpeg là một ứng dụng dùng để convert file audio và video trên Linux. Compile ffmpeg từ source code khá phức tạp, sau đây mình sẽ giới thiệu với các bạn 2 cách cài đặt:

  1. Cài trực tiếp từ repo có hỗ trợ.
  2. Cài đặt bằng phiên bản prebuilt.

Nếu cần phiên bản FFmpeg mới, bạn nên sử dụng theo cách thứ 2 cài bằng bản prebuilt.

FFprobe mặc định được cài kèm với FFmpeg nên bạn không cần quan tâm đến nhé.

1. Cài đặt FFmpeg từ repository

Repo có hỗ trợ FFmpeg rất ít, có thể nói là hiếm luôn và thường sẽ là phiên bản cũ. Ở đây mình giới thiệu repo Nux Dextop, bản mới nhất là 2.6.8.

Đầu tiên cài đặt epel-release

yum -y install epel-release

Cài đặt nux repo

rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm

Cài đặt ffmpeg và ffmpeg-devel packages

yum install ffmpeg ffmpeg-devel -y

Kiểm tra lại cài đặt

# ffmpeg -version
ffmpeg version 2.6.8 Copyright (c) 2000-2016 the FFmpeg developers
built with gcc 4.8.5 (GCC) 20150623 (Red Hat 4.8.5-4)
configuration: --prefix=/usr --bindir=/usr/bin --datadir=/usr/share/ffmpeg --incdir=/usr/include/ffmpeg --libdir=/usr/lib64 --mandir=/usr/share/man --arch=x86_64 --optflags='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic' --enable-bzlib --disable-crystalhd --enable-gnutls --enable-ladspa --enable-libass --enable-libcdio --enable-libdc1394 --enable-libfaac --enable-nonfree --enable-libfdk-aac --enable-nonfree --disable-indev=jack --enable-libfreetype --enable-libgsm --enable-libmp3lame --enable-openal --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libv4l2 --enable-libx264 --enable-libx265 --enable-libxvid --enable-x11grab --enable-avfilter --enable-avresample --enable-postproc --enable-pthreads --disable-static --enable-shared --enable-gpl --disable-debug --disable-stripping --shlibdir=/usr/lib64 --enable-runtime-cpudetect
libavutil 54. 20.100 / 54. 20.100
libavcodec 56. 26.100 / 56. 26.100
libavformat 56. 25.101 / 56. 25.101
libavdevice 56. 4.100 / 56. 4.100
libavfilter 5. 11.102 / 5. 11.102
libavresample 2. 1. 0 / 2. 1. 0
libswscale 3. 1.101 / 3. 1.101
libswresample 1. 1.100 / 1. 1.100
libpostproc 53. 3.100 / 53. 3.100

2. Cài đặt FFmpeg từ phiên bản prebuilt

Tải về script cài đặt

wget https://raw.githubusercontent.com/q3aql/ffmpeg-install/master/ffmpeg-install

Cấp quyền executable

chmod a+x ffmpeg-install

Tiến hành cài đặt

./ffmpeg-install --install release

Kiểm tra lại kết quả, phiên bản mới nhất là 3.4.1

# ffmpeg -version
ffmpeg version 3.4.1-static https://johnvansickle.com/ffmpeg/ Copyright (c) 2000-2017 the FFmpeg developers
built with gcc 6.4.0 (Debian 6.4.0-10) 20171112
configuration: --enable-gpl --enable-version3 --enable-static --disable-debug --disable-ffplay --disable-indev=sndio --disable-outdev=sndio --cc=gcc-6 --enable-fontconfig --enable-frei0r --enable-gnutls --enable-gray --enable-libfribidi --enable-libass --enable-libvmaf --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librubberband --enable-librtmp --enable-libsoxr --enable-libspeex --enable-libvorbis --enable-libopus --enable-libtheora --enable-libvidstab --enable-libvo-amrwbenc --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid --enable-libzimg
libavutil 55. 78.100 / 55. 78.100
libavcodec 57.107.100 / 57.107.100
libavformat 57. 83.100 / 57. 83.100
libavdevice 57. 10.100 / 57. 10.100
libavfilter 6.107.100 / 6.107.100
libswscale 4. 8.100 / 4. 8.100
libswresample 2. 9.100 / 2. 9.100
libpostproc 54. 7.100 / 54. 7.100

Vậy là xong, đơn giản vậy thôi.

Lưu ý: các bạn có thể cài đặt HocVPS Script xong rồi cài đặt FFmpeg nhé, không có xung đột gì cả.

Comment của bạn

Lưu ý: tất cả comment đều được kiểm duyệt cẩn thận! Nếu có code bạn hãy up lên pastebin.com rồi để lại link trong comment.

20 Comments

  1. Mạnh 12 comment

    Em đã cài theo cách 2. Giờ muốn xóa đi để cài lại theo cách 1 thì làm ntn ạ?
    Có vẻ như bộ Code e hoạt động ngon hơn trên cách 1. 😀
    Thanks a.

  2. Bùi Minh Phúc 1 comment

    Cho mình hỏi chút là vs centos 6 thì có thể cái ffpmeg được không

  3. Nguyen Hue 1 comment

    Mình gặp lỗi bảo mật (Encryption Error) là sau khi update đường dẫn cho việc xử lý video của FFMPEG trong file liên quan (config.php) mà chưa hiểu nguyên nhân.
    Vậy mình nên edit file này rồi upload qua FTP hay thực hiện việc thay đổi qua Terminal hả Phương?

    Cảm ơn bạn

    1. Việt Phương Moderator

      Mình nghĩ là không liên quan. Bạn edit trực tiếp trên terminal thì lỗi đó vẫn xuất hiện chứ?

  4. Trất Minh 38 comment

    Trên Cent OS thì 1 thời điểm mình chỉ chạy được 1 lệnh ffmpeg duy nhất thôi đúng không ạ? Khác với Windows thì mình có thể tạo ra nhiều file .bat để chạy nhiều lệnh ffmpeg cùng 1 lúc ad nhỉ?

  5. khanh nguyen 13 comment

    em cài thành công trên vps centos rồi, ad có thể cho em thêm chỉ dẫn sử dụng được ffmpeg trong php được ko ạ? em muốn test code ffmpeg tạo thumb video trên web! cảm ơn ad nhiều

        1. khanh nguyen 13 comment

          em cài theo HD này:
          yum -y install git
          git clone https://github.com/tony2001/ffmpeg-php.git
          cd ffmpeg-php
          phpize
          ./configure
          make
          make install

          Lỗi báo:
          [root@ffmpeg ffmpeg-php]# ./configure
          checking for grep that handles long lines and -e… /bin/grep
          checking for egrep… /bin/grep -E
          checking for a sed that does not truncate output… /bin/sed
          checking for cc… no
          checking for gcc… no
          configure: error: in `/home/ffmpeg-php’:
          configure: error: no acceptable C compiler found in $PATH
          See `config.log’ for more details.
          [root@ffmpeg ffmpeg-php]# make
          make: *** No targets specified and no makefile found. Stop.

          1. Việt Phương Moderator

            checking for cc… no
            checking for gcc… no
            Bạn thiếu các trình biên dịch rồi. Đọc qua thì cần các trình biên dịch C thông thường. Bạn xem họ note những trình biên dịch gì

  6. Tăng view 1 comment

    ad có thể chỉ thêm các lệnh của ffmpeg không ak, ví dụ như chuyển đổi video, add thêm logo . nếu có script dự động upload video lên drive thì ok quá