ffmpeg Kütüphanesi – ffmpeg_frame Nesnesi ve Kullanımı

ffmpeg_frame nesnemiz ile thumbnail oluşturabilir, oluşturduğumuz thumbnailleri düzenleyebiliriz. İlk olarak işe nesnemizi sayfada tanımlayarak başlayalım.

$frame = new $ffmpeg_frame($[GD kaynak değişkeni]);

[GD Kaynak Değişkeni] dediğimiz değişken GD Kütüphanesi yardımıyla oluşturduğumuz tuvalin kaynağıdır. Daha açık olmak gerekirse üzerine işlem yapacağımız zemini GD kütüphanesi yardımıyla tanımlıyoruz.

Dosya yolumuzu belirleyelim. Önceki nesnemizde hatırlıyoruz.

$dosyaYolu = realpath(‘$dosyaAdı.uzantısı’);

Videomuzun bilgilerine ulaşmak için nesnemizi tanımlayalım.

$video = new ffmpeg_movie($dosyaYolu);

Oluşturacağımız resmin boyutlarını videoya göre belirleyelim.

$yukseklik = $video->getFrameHeight();
$genislik = $video->getFrameWidth();

Tuvalimizi (işlem yapacağımız zemin) tanımlayalım.

$resim = imagecreatetruecolor($genislik, $yukseklik);

Sıra videomuzun hangi karesinden resim alacağımızı belirlemeye geldi.

$cerceve = new ffmpeg_frame($resim);

Videomuzda kaç kere olduğunu öğrenelim.

$kareSayisi = $video->getFrameCount();

1’den başlayarak bu sayıya kadar olan herhangi bir kareyi alabiliriz. İster rastgele sayı oluşturarak ister sizin seçtiğiniz bir kareden resim çekebilirsiniz. Ben kendim bir sayı belirledim. Benim kullandığım video dosyasında 17348 adet kare mevcuttu. Ben 10348. kareyi almak istedim. Kareyi de GetFrame() fonksiyonumuz ile çekiyoruz.

$frame = $video->GetFrame(10348);

Aldığımız kareyi tuvalimizin üzerine işliyoruz.

$resim = $frame->toGDImage();

En son işlem olarak resmimizin çıktısını alıyoruz.

imagejpeg($resim, ‘resim.jpg’, 100);

Videodan aldığım çıktıyı görelim. Gayet başarılı değil mi? 🙂

zekimuren

Kullandığımız ffmpeg versiyonu (0.6.0)’dan önceki versiyonlarda resimleri boyutlandırma ve kırpma işlevleri de tanımlıydı. Fakat 0.6.0’dan itibaren kaldırıldı. İleride geliştirildikçe tekrar eklenir belki. Fakat resim boyutlandırma ve kırpma işlemleri için ffmpeg’e muhtaç değiliz tabi ki. GD Kütüphanesini incelerseniz boyutlandırma vs gibi ihtiyaçlarınızı görecek fonksiyonlar orada mevcut. İncelemenizi tavsiye ederim. ffmpeg Kütüphanesini de böylece görmüş, kurcalamış, öğrenmiş olduk. İyi çalışmalar dilerim!

Bu yazı PHP kategorisine gönderilmiş ve , , , ile etiketlenmiş. Kalıcı bağlantıyı yer imlerinize ekleyin.

ffmpeg Kütüphanesi – ffmpeg_frame Nesnesi ve Kullanımı için 2 cevap

  1. tavşanlı der ki:

    daha net anlatabilirmisiniz

  2. tavşanlı der ki:

    teşekkürler gayet iyi anlattınız

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir