Öncelikle kullanmış olduğum sınıf: https://github.com/PHP-FFMpeg/PHP-FFMpeg
Bu sınıfı kullanarak yapmış olduğum convert işlemlerinde hiçbir sorun yok ancak bir videoyu 2 defa convert ediyor.
Yani olay tam olarak şu: İlk conver işlemi başlıyor, video boyutu 0.1 mb, 2mb, 5mb şeklinde artarak devam ediyor sonra maksimum seviyeye (örnek 20mb) ulaştıktan sonra tekrar video boyutu 0 oluyor ve tekrar maksimum seviyeye gelene kadar video boyutu artıyor.
En son 2. işlemden sonra 3. defa sıfırlanmıyor. Son boyutu ne ise orada kalıyor ve FFMpeg işlemi kesiyor.
Sıkıntı şu ki video işleme zaten oldukça maliyetli bir iş ve 1 defa convert işlemi yeterli iken ikinci defa yapmaması lazım bunu. Ancak ne yaptımsa da ikinciyi engelleyemedim.
Örnek Kodlar:
$ffmpeg = FFMpegFFMpeg::create([
'ffmpeg.binaries' => 'C:/ffmpeg/ffmpeg.exe',
'ffprobe.binaries' => 'C:/ffmpeg/ffprobe.exe',
'timeout' => 0,
#'ffmpeg.threads' => 12,
]);
$video = $ffmpeg->open($fileName);
$video
->filters()
->resize(new FFMpegCoordinateDimension(1920, 1080 ))
->synchronize();
$format = new FFMpegFormatVideoX264('libmp3lame');
try {
$video->save($format, $outFileName);
} catch (Exception $e) {
echo $e->getMessage();
}