FFmpeg Kullanımı: Kurulum, Entegrasyon ve Örnek Uygulamala

PHP

FFmpeg, güçlü bir multimedya işleme kütüphanesi olup ses ve video dosyaları üzerinde çeşitli işlemler yapmaya olanak tanır. PHP ile entegre edildiğinde, videoları dönüştürmek, kırpmak, birleştirmek ve hatta üzerine yazılar eklemek gibi birçok işlem gerçekleştirilebilir.

Bu makalede, PHP ile FFmpeg’in nasıl kullanılacağını ele alacağız. Öncelikle FFmpeg’in sistemimize nasıl kurulacağını ve PHP’den nasıl çağrılacağını inceleyeceğiz. Ardından, temel video düzenleme işlemleri ve FFmpeg komutlarının nasıl çalıştırılacağını adım adım açıklayacağız. Eğer dinamik olarak video işleme ihtiyacınız varsa, PHP ile FFmpeg kullanımı size büyük kolaylık sağlayacaktır.

Kod detaylarına geçmeden önce, FFmpeg’in ne olduğunu ve PHP ile nasıl entegre edileceğini anlamak için temel bilgilere göz atalım.

FFmpeg Kurulumu

FFmpeg İndir:

  • FFmpeg Resmi Sitesi üzerinden Windows sürümünü indirin.
  • "ffmpeg-git-essentials.7z" seçeneğini seçerek indirme işlemini başlatın.

Dosyaları Çıkarma:

  • İndirilen .zip veya .7z dosyasını çıkarın.
  • Çıkardığınız dosyaları C:\ffmpeg klasörüne taşıyın.

Ortam Değişkenlerini Tanımlama:

  • Denetim Masası > Sistem > Gelişmiş Sistem Ayarları > Ortam Değişkenleri yolunu izleyin.
  • Sistem Değişkenleri bölümünde Path değişkenini seçip Düzenle butonuna tıklayın.
  • Yeni butonuna basarak C:\ffmpeg\bin yolunu ekleyin ve değişiklikleri kaydedin.

Kurulumu Doğrulama:

Komut İstemi (CMD) açın ve şu komutu çalıştırın:

ffmpeg -version

FFmpeg sürüm bilgisi görüntüleniyorsa kurulum başarılıdır.

PHP FFmpeg Kullanımı : Resimleri Videoya Çevirme Uygulaması

Bu uygulama ile seçili olan bir klasör içinde ki tüm fotoğrafları videoya çevireceğiz.

PHP FFmpeg Kurulumu

Öncelikle PowerShell veya Terminal açarak proje klasörüne gidin:

cd C:\laragon\www\Uygulamalar\ffmpeg

Ardından, Composer kullanarak FFmpeg kütüphanesini projemize dahil edelim: 

$ composer require php-ffmpeg/php-ffmpeg

PHP ile Fotoğraflardan Video Oluşturma

index.php dosyası oluşturarak aşağıdaki kodları ekleyin:  Her satırın yanında veya üst tarafında ne işe yardığını gösteren yorum satırları mevcuttur.

<?php 

require 'vendor/autoload.php';

// FFmpeg'in tam yolunu belirtelim
$ffmpeg_path = 'C:/ffmpeg/bin/ffmpeg.exe';  // FFmpeg'in tam yolu

// Resimlerin bulunduğu dizin
$image_folder = __DIR__ . '/images/';  // PHP dosyasının bulunduğu dizine göre

// Video oluşturulacak yol
$output_video = __DIR__ . '/output_video.mp4';  // Çıktı video yolu

// Resim dosyalarını alalım (hem .jpg hem de .jpeg)
$images = glob($image_folder . '*.{jpg,jpeg}', GLOB_BRACE);

// Eğer resimler varsa, video oluştur
if (!empty($images)) {
    // Resimleri sıralayalım
    sort($images);

    // FFmpeg komutunu hazırla
    $command = $ffmpeg_path . ' -framerate 1 -i "' . $image_folder . '%d.jpg" -c:v libx264 -r 30 -pix_fmt yuv420p "' . $output_video . '"';

    // Komutu çalıştır ve çıktıyı al
    exec($command, $output, $status);

    // Durum kontrolü
    if ($status === 0) {
        echo "Video başarıyla oluşturuldu: " . $output_video;
    } else {
        // Hata mesajını ekrana yazdır
        echo "Bir hata oluştu!\n";
        echo "Hata Durumu: " . $status . "\n";
        echo "Çıktı: \n";
        echo implode("\n", $output);  // FFmpeg komutunun çıktısı
    }
} else {
    echo "Resim bulunamadı! Lütfen 'images' klasöründe .jpg veya .jpeg uzantılı resimler olduğundan emin olun.";
}
?>

Önemli Notlar

  • FFmpeg, resim sıralamasına dikkat eder. Bu yüzden resim dosyalarınız 1.jpg, 2.jpg, 3.jpg gibi numaralandırılmalıdır.
  • -framerate 1 parametresi, her bir resmin kaç saniye ekranda kalacağını belirler. Bunu artırarak veya azaltarak videonun hızını değiştirebilirsiniz.
  • -c:v libx264 parametresi, videonun H.264 formatında kaydedilmesini sağlar.

Bu adımları takip ederek PHP ile FFmpeg kullanarak fotoğraflardan bir video oluşturabilirsiniz. Daha gelişmiş işlemler için videoya ses ekleme, efektler uygulama ve video kalitesini ayarlama gibi işlemleri de keşfedebilirsiniz.

 


Yorumlar (0)

    Bu yazıya henüz bir yorum yapılmamış! İlk yorum yapan sen ol!