fast and secure web hosting. from a simple website to a highly visited e-shop  

Εγκατάσταση FFmpeg σε Centos 6

Η εγκατάσταση FFmpeg σε Centos 6 είναι μια απλή διαδικασία. Παρακάτω θα δούμε τα αναγκαία βήματα.

Αρχικά πρέπει να μπείτε σαν root στον server σας.

1. Εγκατάσταση νέων πακέτων και ενημέρωση διακομιστή:

# yum update

2. Εγκατάσταση gcc c-compiler στον server. Χωρίς αυτόν δεν μπορεί να γίνει compile στα περισσότερα πακέτα.

# yum install gcc

3. Εγκατάσταση subversion.

# yum install subversion

4. Αλλαγή φακέλου.

# cd /usr/local/src/

5. "Κατέβασμα" του yasm (Η τελευταία έκδοση στις 15/12/2012 ήταν η 1.2.0)

# wget http://www.tortall.net/projects/yasm/releases/yasm-1.2.0.tar.gz

6. Αποσυμπίεση του yasm

# tar zfvx yasm-1.2.0.tar.gz

7. Αλλαγή φακέλου

# cd yasm-1.2.0

8. Ρύθμιση επιλογών των πακέτων και έλεγχος για την καταλληλότητα του server για εγκατάσταση.

# ./configure

9. Ολοκλήρωση εγκατάστασης του Yasm

# make && make install

Από εδώ και πέρα ουσιαστικά ξεκινάει η εγκατάσταση του FFMPEG.

10. Κατέβασμα των αρχείων του FFMPEG

# svn checkout svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg

11. Αλλαγή φακέλου

# cd ffmpeg

12. Ρύθμιση FFMPEG

# ./configure --enable-shared

13. Εγκατάσταση FFMPEG

# make
# make install

14. Ελέγχουμε την εγκατάσταση

# ffmpeg -version

Αν μας βγάλει το σφάλμα "ffmpeg: error while loading shared libraries: libavdevice.so.52: cannot open shared object file: No such file or directory" τότε τρέχουμε τις παρακάτω εντολές και θα πρέπει να δούμε περίπου αυτό το αποτέλεσμα:

# ldd `which ffmpeg`
libavdevice.so.52 => not found
libavfilter.so.1 => not found
libavformat.so.52 => not found
libavcodec.so.52 => not found
libswscale.so.0 => not found
libavcore.so.0 => not found
libavutil.so.50 => not found
libm.so.6 => /lib/libm.so.6 (0x006c3000)
libpthread.so.0 => /lib/libpthread.so.0 (0x007e9000)
libc.so.6 => /lib/libc.so.6 (0x00575000)
/lib/ld-linux.so.2 (0x00557000)
# find /usr/local/lib/ | grep -E "libavdevice.so.52|libavfilter.so.1|libavcodec.so.52|libavcore.so.0"
/usr/local/lib/libavdevice.so.52
/usr/local/lib/libavdevice.so.52.2.1
/usr/local/lib/libavfilter.so.1.38.1
/usr/local/lib/libavfilter.so.1
/usr/local/lib/libavcodec.so.52.87.0
/usr/local/lib/libavcore.so.0
/usr/local/lib/libavcore.so.0.6.0
/usr/local/lib/libavcodec.so.52

Θα πρέπει να αλλάξουμε το /etc/ld.so.conf

include ld.so.conf.d/*.conf
/usr/local/libevent-1.4.14b/lib
/usr/local/lib

και στη συνέχεια αφού αποθηκεύσουμε το αρχείο

# ldconfig

Ξανακάνουμε έλεγχο και θα πρέπει να δούμε κάτι τέτοιο

# ffmpeg

FFmpeg version SVN-r26402, Copyright (c) 2000-2011 the FFmpeg developers
  built on Dec 15 2012 10:17:57 with gcc 4.4.6 20120305 (Red Hat 4.4.6-4)
  configuration: --enable-shared
  libavutil     50.36. 0 / 50.36. 0
  libavcore      0.16. 1 /  0.16. 1
  libavcodec    52.108. 0 / 52.108. 0
  libavformat   52.93. 0 / 52.93. 0
  libavdevice   52. 2. 3 / 52. 2. 3
  libavfilter    1.74. 0 /  1.74. 0
  libswscale     0.12. 0 /  0.12. 0
Hyper fast Audio and Video encoder
usage: ffmpeg [options] [[infile options] -i infile]... ...

Use -h to get full help or, even better, run 'man ffmpeg'