FFmpeg + FFmpeg-PHP + Mplayer + Mencoder + flv2tool + LAME MP3 Encoder + Libogg kurulumu
Merhaba Arkadaşlar,
FFmpeg, FFmpeg-PHP, Mplayer, Mencoder, flv2tool, LAME MP3 Encoder, Libog adlı yazılımlar özellikle video paylaşım siteleri için gerekli sunucu tarafında çalışan bileşenlerdir.
Kurulması ve yapılandırılması zor gibi gözüksede çok basit işlemler ile bileşenleri sorunsuzca yükleyebilirsiniz.
Başlıyoruz; Sıkı Durun!
Öncelikle unutmayınki bu bileşenleri yükleyebilmek için bulunduğunuz sunucuda "root" kullanıcı seviyesinde olabilmelisiniz! Ayrıca sunucuya erişebilmek için Putty, Secure Shell gibi yazılımlara ihtiyacımız olacaktır.
Eğer bulunduğunuz bilgisayar Windows ise;
Putty yada
SSH Secure Shell programlarından birini kurmanız gerekmektedir.
Eğer bulunduğunuz bilgisayar Linux / Unix tabanlı ise;
Terminal yada diğer adıyla uçbirim üzerinde;
ssh root@sunucuipadresim komutuyla bağlanmalısınız.
--
Bağlantıyı tamamladıktan sonra bileşenlerimiz için ilgili klasöre gidiyoruz;
cd /usr/local/src
Şimdi bileşenlerimizi geliştirme ortamlarından indiriyoruz;
Code:
wget [Linkleri görebilmek için üye olun veya giriş yapın.]
Code:
wget [Linkleri görebilmek için üye olun veya giriş yapın.]
Code:
wget [Linkleri görebilmek için üye olun veya giriş yapın.]
Code:
wget [Linkleri görebilmek için üye olun veya giriş yapın.]
Code:
wget [Linkleri görebilmek için üye olun veya giriş yapın.]
Code:
wget [Linkleri görebilmek için üye olun veya giriş yapın.]
Şimdi indirdiğimiz bileşenleri sıkıştırılmış paketlerden çıkartıyoruz;
tar zxvf flvtool2-1.0.6.tgz
tar zxvf lame-398.tar.gz
tar zxvf libogg-1.1.3.tar.gz
tar zxvf libvorbis-1.1.2.tar.gz
tar jxvf essential-20071007.tar.bz2
tar jxvf ffmpeg-php-0.5.3.1.tbz2
Şimdi bileşenler için kodek klasörü oluşturuyoruz;
mkdir /usr/local/lib/codecs/
Bileşenlerin compile ( derleme ) sırasında ihtiyaç duyabilecek yada çalışmalarında ihtiyaç duyabilecekleri yazılımları güncelliyoruz ( yoksa yüklüyoruz);
up2date -i gcc gmake make libcpp libgcc libstdc++ gcc4 gcc4-c++ gcc4-gfortran
yum install gcc gmake make libcpp libgcc libstdc++ gcc4 gcc4-c++ gcc4-gfortran
Şimdi yine bileşenleri derlerken, çalıştırırken ve güncellerken kullanabileceğimiz yazılımları güncelliyoruz ( yoksa kuruyoruz);
up2date -i subversion
up2date -i ruby
up2date -i ncurses-devel
yum install subversion ruby ncurses-devel
( Bu kısımda dikkat!; eğer bileşenleri yüklerken 'dependencies error(s)' yani paket bağımlılık hatası verirse groupinstall metodunu deniyoruz)
yum groupinstall subversion ruby ncurses-devel
Yukarıda yüklediğimiz bileşenleri çalıştıracak büyük yazılımları SVN sunucusundan indiriyoruz;
svn checkout [Linkleri görebilmek için üye olun veya giriş yapın.] ffmpeg
svn checkout [Linkleri görebilmek için üye olun veya giriş yapın.] mplayer
SVN sunucusundan indirdiğimiz Mplayer programına ait güncelleme olup olmadığına bakacağız;
- öncelikle klasöre giriyoruz;
cd /usr/local/src/mplayer
- güncelleme ( revizyon değişikliği ) olup olmadığına bakmak için SVN UPDATE yapıyoruz.
svn update
- tekrar klasöre dönüyoruz;
cd /usr/local/src
Essential adlı indirdiğimiz kodek paketlerini taşıyoruz;
mv /usr/local/src/essential-20071007/* /usr/local/lib/codecs/
Kodek dizini için Chmod ( izin ) ayarlamaları yapıyoruz;
chmod -R 755 /usr/local/lib/codecs/
Kodeklerin çalışması için gerekli olan TMP klasörü için birkaç yapılandırma yapıyoruz;
mkdir /usr/local/src/tmp
chmod 777 /usr/local/src/tmp
export TMPDIR=/usr/local/src/tmp
Lame bileşenini compile ( derleme ) edeceğiz;
- ilgili klasöre giriyoruz;
cd /usr/local/src/lame*
- Compile işleminden önce yapılandırma talimatlarını belleğe yazdırıyoruz;
./configure
- Yapılandırma ve yükleme için devam ediyoruz;
make && make install
- işlemimiz bitti. Klasöre tekrar dönüyoruz;
cd /usr/local/src/
Libogg bileşenini compile ( derleme ) edeceğiz;
- ilgili klasöre giriyoruz;
cd /usr/local/src/libogg*
- Compile işleminden önce yapılandırma talimatlarını belleğe yazdırıyoruz;
./configure
- Yapılandırma ve yükleme için devam ediyoruz;
make && make install
- işlemimiz bitti. Klasöre tekrar dönüyoruz;
cd /usr/local/src/
Libvorbis bileşenini compile ( derleme ) edeceğiz;
- ilgili klasöre giriyoruz;
cd /usr/local/src/libvorbis*
- Compile işleminden önce yapılandırma talimatlarını belleğe yazdırıyoruz;
./configure
- Yapılandırma ve yükleme için devam ediyoruz;
make && make install
- işlemimiz bitti. Klasöre tekrar dönüyoruz;
cd /usr/local/src/
Flvtool2 bileşenini Ruby ile yapılandırmak için ilgili klasöre gidiyoruz;
cd /usr/local/src/flvtool*
- Bileşeni Ruby ile yapılandırıp, yükleyip ve belleğe yazmak için devam ediyoruz;
ruby setup.rb config
ruby setup.rb setup
ruby setup.rb install
- işlemimiz bitti. Klasöre tekrar dönüyoruz;
cd /usr/local/src/
Mplayer yazılımını compile ( derlemek ) etmek için devam ilgili klasöre erişiyoruz;
cd /usr/local/src/mplayer
- Bileşene ait yapılandırma talimatlarını belleğe yazıyoruz;
./configure
- Yapılandırma ve yükleme için devam ediyoruz;
make && make install
- işlemimiz bitti. Klasöre tekrar dönüyoruz;
cd /usr/local/src/
FFmpeg bileşenini derlemek ve yüklemek için ilgili klasöre gidiyoruz;
cd /usr/local/src/ffmpeg/
- FFmpeg yazılımını derlemek için devam ediyoruz;
./configure --enable-libmp3lame --enable-libogg --enable-libvorbis --disable-mmx --enable-shared
UYARI!: FFmpeg yazılımı derlenirken geçmişte kurulan bileşenleri görmeyebiliyor. Bu nedenle komut satırında "--enable-libogg unknown option, --enable-libvorbis unknown option" benzeri hatalar alabilirsiniz. Eğer libogg yada libvorbis ile ilgili hatalar alırsanız lütfen yukarıdaki libvorbis ve libogg basamaklarını tekrarlayınız!
UYARI2!: Eğer compile sırasında gcc-c++ veya gcc ile ilgili hata alırsanız ilgili paketi yüklemeniz gerekmektedir.
Fedora, CentOs, RedHat kullanıcıları için;
yum install gcc
yum install gcc-c++
Debian, Ubuntu kullanıcıları için;
sudo aptitude install gcc
sudo aptitude install gcc-c++
komutları ile eksik paketi tamamlayabilirsiniz.
- derleme işlemi tamamlandıktan sonra yapılandırma için şu kodu uyguluyoruz;
echo '#define HAVE_LRINTF 1 '>>config.h
- daha sonra bileşeni yüklemek için devam ediyoruz;
make
make install
- yüklediğimiz bileşene ait kütüphane dosyalarını belirtmek için şu kodları uyguluyoruz;
ln -s /usr/local/lib/libavformat.so.50 /usr/lib/libavformat.so.50
ln -s /usr/local/lib/libavcodec.so.51 /usr/lib/libavcodec.so.51
ln -s /usr/local/lib/libavutil.so.49 /usr/lib/libavutil.so.49
ln -s /usr/local/lib/libmp3lame.so.0 /usr/lib/libmp3lame.so.0
ln -s /usr/local/lib/libavformat.so.51 /usr/lib/libavformat.so.51
ln -s /usr/local/lib/libavformat.so.52 /usr/lib/libavformat.so.52
ln -s /usr/local/lib/libavdevice.so.52 /usr/lib/libavdevice.so.52
- işlemimiz bitti. Klasöre tekrar dönüyoruz;
cd /usr/local/src/
FFmpeg-Php bileşenini yüklemek için ilgili klasöre gidiyoruz;
cd /usr/local/src/ffmpeg-php*
- Bu kısımda bileşen için ihtiyacımız olan "autoconf" yazılımını yüklemek/güncellemek zorundayız.
Fedora, CentOS, Redhat kullanıcıları;
yum -y install autoconf
up2date -i autoconf
Ubuntu, Debian kullanıcıları;
sudo aptitude install autoconf
sudo aptitude update
Yükleme işleminden sonra; şu kodu uygulayarak devam ediyoruz;
phpize
UYARI!: Eğer bu bölümde "phpize: command not found" tarzında bir hata alırsanız php-devel adlı paketi yüklemeniz gerekmektedir.
Fedora, CentOS, Redhat kullanıcıları;
yum install php-devel
Ubuntu, Debian kullanıcıları;
sudo aptitude install php-devel
komutlarıyla ilgili paketi kurabilirler.
- bu işlemden sonra tekrar "phpize" komutunu uygulayıp devam ediyoruz;
phpize
- bileşenin derlenmesi için şu kodu uygulayarak devam ediyoruz;
./configure
- bileşenin kurulması için şu kodları uygulayarak devam ediyoruz;
make
make install
- işlemimiz bitti. Klasöre tekrar dönüyoruz;
cd /usr/local/src/
FFmpeg bileşenine ait kütüphane dosyasının bulunduğu klasör bilgisini php.ini dosyamıza eklememiz gerekiyor.
- php.ini'nin yerini bulmak için şu komutu uyguluyoruz;
php -i | grep php.ini
- çıkan sonucu aşağıdaki kod satırında değiştirerek uyguluyoruz;
(Örneğin; Ben yukarıdaki işlem sonucunda php.ini dosyamın adresinin /usr/local/Zend/etc/php.ini şeklinde olduğunu öğrendim. Sizde dosyanızın adresini değiştirebilirsiniz.[ farklı ise!] )
echo 'extension=/usr/local/lib/php/extensions/no-debug-non-zts-20060613' >> /usr/local/Zend/etc/php.ini
Bu işlemden sonra Apache servisine restart komutunu uyguluyoruz;
service httpd restart
HATIRLATMA:
Bu bileşenlerin sağlıklı ve eksiksiz olarak çalışması için php.ini değerlerinizin şu şekilde olması gerekiyor;
safe_mode = off
max_execution_time = 1000
session.gc_maxlifetime = 14000
open_basedir =
output_buffering = on
İyi Çalışmalar Dilerim...
Merhaba Arkadaşlar,
FFmpeg, FFmpeg-PHP, Mplayer, Mencoder, flv2tool, LAME MP3 Encoder, Libog adlı yazılımlar özellikle video paylaşım siteleri için gerekli sunucu tarafında çalışan bileşenlerdir.
Kurulması ve yapılandırılması zor gibi gözüksede çok basit işlemler ile bileşenleri sorunsuzca yükleyebilirsiniz.
Başlıyoruz; Sıkı Durun!
Öncelikle unutmayınki bu bileşenleri yükleyebilmek için bulunduğunuz sunucuda "root" kullanıcı seviyesinde olabilmelisiniz! Ayrıca sunucuya erişebilmek için Putty, Secure Shell gibi yazılımlara ihtiyacımız olacaktır.
Eğer bulunduğunuz bilgisayar Windows ise;
Putty yada
SSH Secure Shell programlarından birini kurmanız gerekmektedir.
Eğer bulunduğunuz bilgisayar Linux / Unix tabanlı ise;
Terminal yada diğer adıyla uçbirim üzerinde;
ssh root@sunucuipadresim komutuyla bağlanmalısınız.
--
Bağlantıyı tamamladıktan sonra bileşenlerimiz için ilgili klasöre gidiyoruz;
cd /usr/local/src
Şimdi bileşenlerimizi geliştirme ortamlarından indiriyoruz;
Code:
wget [Linkleri görebilmek için üye olun veya giriş yapın.]
Code:
wget [Linkleri görebilmek için üye olun veya giriş yapın.]
Code:
wget [Linkleri görebilmek için üye olun veya giriş yapın.]
Code:
wget [Linkleri görebilmek için üye olun veya giriş yapın.]
Code:
wget [Linkleri görebilmek için üye olun veya giriş yapın.]
Code:
wget [Linkleri görebilmek için üye olun veya giriş yapın.]
Şimdi indirdiğimiz bileşenleri sıkıştırılmış paketlerden çıkartıyoruz;
tar zxvf flvtool2-1.0.6.tgz
tar zxvf lame-398.tar.gz
tar zxvf libogg-1.1.3.tar.gz
tar zxvf libvorbis-1.1.2.tar.gz
tar jxvf essential-20071007.tar.bz2
tar jxvf ffmpeg-php-0.5.3.1.tbz2
Şimdi bileşenler için kodek klasörü oluşturuyoruz;
mkdir /usr/local/lib/codecs/
Bileşenlerin compile ( derleme ) sırasında ihtiyaç duyabilecek yada çalışmalarında ihtiyaç duyabilecekleri yazılımları güncelliyoruz ( yoksa yüklüyoruz);
up2date -i gcc gmake make libcpp libgcc libstdc++ gcc4 gcc4-c++ gcc4-gfortran
yum install gcc gmake make libcpp libgcc libstdc++ gcc4 gcc4-c++ gcc4-gfortran
Şimdi yine bileşenleri derlerken, çalıştırırken ve güncellerken kullanabileceğimiz yazılımları güncelliyoruz ( yoksa kuruyoruz);
up2date -i subversion
up2date -i ruby
up2date -i ncurses-devel
yum install subversion ruby ncurses-devel
( Bu kısımda dikkat!; eğer bileşenleri yüklerken 'dependencies error(s)' yani paket bağımlılık hatası verirse groupinstall metodunu deniyoruz)
yum groupinstall subversion ruby ncurses-devel
Yukarıda yüklediğimiz bileşenleri çalıştıracak büyük yazılımları SVN sunucusundan indiriyoruz;
svn checkout [Linkleri görebilmek için üye olun veya giriş yapın.] ffmpeg
svn checkout [Linkleri görebilmek için üye olun veya giriş yapın.] mplayer
SVN sunucusundan indirdiğimiz Mplayer programına ait güncelleme olup olmadığına bakacağız;
- öncelikle klasöre giriyoruz;
cd /usr/local/src/mplayer
- güncelleme ( revizyon değişikliği ) olup olmadığına bakmak için SVN UPDATE yapıyoruz.
svn update
- tekrar klasöre dönüyoruz;
cd /usr/local/src
Essential adlı indirdiğimiz kodek paketlerini taşıyoruz;
mv /usr/local/src/essential-20071007/* /usr/local/lib/codecs/
Kodek dizini için Chmod ( izin ) ayarlamaları yapıyoruz;
chmod -R 755 /usr/local/lib/codecs/
Kodeklerin çalışması için gerekli olan TMP klasörü için birkaç yapılandırma yapıyoruz;
mkdir /usr/local/src/tmp
chmod 777 /usr/local/src/tmp
export TMPDIR=/usr/local/src/tmp
Lame bileşenini compile ( derleme ) edeceğiz;
- ilgili klasöre giriyoruz;
cd /usr/local/src/lame*
- Compile işleminden önce yapılandırma talimatlarını belleğe yazdırıyoruz;
./configure
- Yapılandırma ve yükleme için devam ediyoruz;
make && make install
- işlemimiz bitti. Klasöre tekrar dönüyoruz;
cd /usr/local/src/
Libogg bileşenini compile ( derleme ) edeceğiz;
- ilgili klasöre giriyoruz;
cd /usr/local/src/libogg*
- Compile işleminden önce yapılandırma talimatlarını belleğe yazdırıyoruz;
./configure
- Yapılandırma ve yükleme için devam ediyoruz;
make && make install
- işlemimiz bitti. Klasöre tekrar dönüyoruz;
cd /usr/local/src/
Libvorbis bileşenini compile ( derleme ) edeceğiz;
- ilgili klasöre giriyoruz;
cd /usr/local/src/libvorbis*
- Compile işleminden önce yapılandırma talimatlarını belleğe yazdırıyoruz;
./configure
- Yapılandırma ve yükleme için devam ediyoruz;
make && make install
- işlemimiz bitti. Klasöre tekrar dönüyoruz;
cd /usr/local/src/
Flvtool2 bileşenini Ruby ile yapılandırmak için ilgili klasöre gidiyoruz;
cd /usr/local/src/flvtool*
- Bileşeni Ruby ile yapılandırıp, yükleyip ve belleğe yazmak için devam ediyoruz;
ruby setup.rb config
ruby setup.rb setup
ruby setup.rb install
- işlemimiz bitti. Klasöre tekrar dönüyoruz;
cd /usr/local/src/
Mplayer yazılımını compile ( derlemek ) etmek için devam ilgili klasöre erişiyoruz;
cd /usr/local/src/mplayer
- Bileşene ait yapılandırma talimatlarını belleğe yazıyoruz;
./configure
- Yapılandırma ve yükleme için devam ediyoruz;
make && make install
- işlemimiz bitti. Klasöre tekrar dönüyoruz;
cd /usr/local/src/
FFmpeg bileşenini derlemek ve yüklemek için ilgili klasöre gidiyoruz;
cd /usr/local/src/ffmpeg/
- FFmpeg yazılımını derlemek için devam ediyoruz;
./configure --enable-libmp3lame --enable-libogg --enable-libvorbis --disable-mmx --enable-shared
UYARI!: FFmpeg yazılımı derlenirken geçmişte kurulan bileşenleri görmeyebiliyor. Bu nedenle komut satırında "--enable-libogg unknown option, --enable-libvorbis unknown option" benzeri hatalar alabilirsiniz. Eğer libogg yada libvorbis ile ilgili hatalar alırsanız lütfen yukarıdaki libvorbis ve libogg basamaklarını tekrarlayınız!
UYARI2!: Eğer compile sırasında gcc-c++ veya gcc ile ilgili hata alırsanız ilgili paketi yüklemeniz gerekmektedir.
Fedora, CentOs, RedHat kullanıcıları için;
yum install gcc
yum install gcc-c++
Debian, Ubuntu kullanıcıları için;
sudo aptitude install gcc
sudo aptitude install gcc-c++
komutları ile eksik paketi tamamlayabilirsiniz.
- derleme işlemi tamamlandıktan sonra yapılandırma için şu kodu uyguluyoruz;
echo '#define HAVE_LRINTF 1 '>>config.h
- daha sonra bileşeni yüklemek için devam ediyoruz;
make
make install
- yüklediğimiz bileşene ait kütüphane dosyalarını belirtmek için şu kodları uyguluyoruz;
ln -s /usr/local/lib/libavformat.so.50 /usr/lib/libavformat.so.50
ln -s /usr/local/lib/libavcodec.so.51 /usr/lib/libavcodec.so.51
ln -s /usr/local/lib/libavutil.so.49 /usr/lib/libavutil.so.49
ln -s /usr/local/lib/libmp3lame.so.0 /usr/lib/libmp3lame.so.0
ln -s /usr/local/lib/libavformat.so.51 /usr/lib/libavformat.so.51
ln -s /usr/local/lib/libavformat.so.52 /usr/lib/libavformat.so.52
ln -s /usr/local/lib/libavdevice.so.52 /usr/lib/libavdevice.so.52
- işlemimiz bitti. Klasöre tekrar dönüyoruz;
cd /usr/local/src/
FFmpeg-Php bileşenini yüklemek için ilgili klasöre gidiyoruz;
cd /usr/local/src/ffmpeg-php*
- Bu kısımda bileşen için ihtiyacımız olan "autoconf" yazılımını yüklemek/güncellemek zorundayız.
Fedora, CentOS, Redhat kullanıcıları;
yum -y install autoconf
up2date -i autoconf
Ubuntu, Debian kullanıcıları;
sudo aptitude install autoconf
sudo aptitude update
Yükleme işleminden sonra; şu kodu uygulayarak devam ediyoruz;
phpize
UYARI!: Eğer bu bölümde "phpize: command not found" tarzında bir hata alırsanız php-devel adlı paketi yüklemeniz gerekmektedir.
Fedora, CentOS, Redhat kullanıcıları;
yum install php-devel
Ubuntu, Debian kullanıcıları;
sudo aptitude install php-devel
komutlarıyla ilgili paketi kurabilirler.
- bu işlemden sonra tekrar "phpize" komutunu uygulayıp devam ediyoruz;
phpize
- bileşenin derlenmesi için şu kodu uygulayarak devam ediyoruz;
./configure
- bileşenin kurulması için şu kodları uygulayarak devam ediyoruz;
make
make install
- işlemimiz bitti. Klasöre tekrar dönüyoruz;
cd /usr/local/src/
FFmpeg bileşenine ait kütüphane dosyasının bulunduğu klasör bilgisini php.ini dosyamıza eklememiz gerekiyor.
- php.ini'nin yerini bulmak için şu komutu uyguluyoruz;
php -i | grep php.ini
- çıkan sonucu aşağıdaki kod satırında değiştirerek uyguluyoruz;
(Örneğin; Ben yukarıdaki işlem sonucunda php.ini dosyamın adresinin /usr/local/Zend/etc/php.ini şeklinde olduğunu öğrendim. Sizde dosyanızın adresini değiştirebilirsiniz.[ farklı ise!] )
echo 'extension=/usr/local/lib/php/extensions/no-debug-non-zts-20060613' >> /usr/local/Zend/etc/php.ini
Bu işlemden sonra Apache servisine restart komutunu uyguluyoruz;
service httpd restart
HATIRLATMA:
Bu bileşenlerin sağlıklı ve eksiksiz olarak çalışması için php.ini değerlerinizin şu şekilde olması gerekiyor;
safe_mode = off
max_execution_time = 1000
session.gc_maxlifetime = 14000
open_basedir =
output_buffering = on
İyi Çalışmalar Dilerim...