Arkadaşlar merhaba, benim sorunum ffmpeg ile düzügn bir işlem yapamamış olmam, internetteki cevapları denedim ma olmadı(localhost da denedim).
Kullandığım pc:
Win7, Wamp2.2 local host
http://ffmpeg.zeranoe.com/builds/
yukarıdaki adresden: FFmpeg git-04bf2e7 64-bit Static (Latest) olanını indirdim ve internetteki örneklerde kurulum yapmadan direk exec ile yapıldığını anlatan örneklerden yararlanmaya çalıştım ama bir türlü olmadı :S
İlk olarak bilen arkadaşlardan ricam, elimde bulunan teknolojiler(wamp 2.2, ffmpef 64 bit static kurulumsuz) yeterlimi ? Kurulum gerekiyormu gerekiyorsa nasıl gerekmiyorsa exec ile yapmam için sadece ffmpeg.exe yeterli yoksa başka şeylerdemi gerekli, adım adım baştan yazarsanız benim gibi takılan herkes için çok iyi olacak.
ayrıca linux sunucu içinde neler yapılmalı, tabi bu o kadar önemli değil sunucu yetkilisine hallettirebilirim.
Edit: bilen yokmu r10 da şunu ? :S
Windows Wamp Localhost ve Linux Serverda ffmpeg kurulumu ve kullanımı
11
●5.070
- 23-10-2012, 21:04:17Kimlik doğrulama veya yönetimden onay bekliyor.EVET
Sorun şuki, ffmpeg.exe yöntemini bende windows server üstünde denedim. OLUYOR AMA OLMUYOR.
Çünki her script buna uymuyor elimden aşağı yukarı 10-15 script geçti deneme amaçlı içlerinden sadece bir tanesi ffmpeg.exe de çalıştı, ama script o kadar basitti ki,
Sourn şuki, yollar sorun oluyor, LİNUX server da ve WINDOWS serverda yollar değişik, scriptlerin FFMPEG i çağırma ve çalışma yöntemleri farklı idi,
ancak genede windows serverda ffmpeg.exe ile özel yapım bir video scripti kullanmak mumkun,
özel yapım diyorum, en az 15 script kullandım ve 1 i çalıştı diyorum, bunun bir nedeni de şu;
video scriptleri, ffmpeg dışında onlarca farklı bileşen istiyor, hatta ffmpeg kullanmayan farklı bişelenler ile video yu convert eden video scriptleri bile mevcut, durum böyle olunca windows serverda PHP ile video convert tam bir baş belası haline geliyor.
Bu arada ffmpeg.exe yi ben kullanırken php ini yada başka bir dosyada değşiklik yapmadım, sadece scriptin ffmpeg yoluna tam olarak dosyanın windows konumunu yazdım.
D:\SERVER\htdocs\ffmpeg.exe şeklinde,
size iyi çalışmalar, bir gelişme yakarsanız buraya yazın... - 23-10-2012, 21:40:15Merhaba, ben aşağıdaki adresten ingilizce kuruluma ulaştım ve aynen anlatıldığı gibi kurulumu yaptım; fakat windows server değil ben localhostta wamp kullanıyorum, belki windows serverdan farklı olabilir diye belirtmek istedim. Kurulum eğer doğruysa benim kullandığım exec komutunda sıkıntı var aşağıda yer alıyor bilgiler.
Adres: http://www.jaypan.com/tutorial/installing-ffmpeg-wamp
Script'in biri bu
<?php $commands = array( '-i alkolluarackullanma.mp4', '-vcodec copy', '-acodec ac3', '-ab 384k test.mpg', '-acodec mp2', '-ab 192k', '-newaudio' ); exec ('c:\wamp\bin\ffmpeg.exe' .implode(' ',$commands), $output ); print($output); ?>Diğeri ise bu:
<?php exec("c:\wamp\bin\ffmpeg.exe -i alkolluarackullanma.mp4 alkolluarackullanma.flv", $output); print_r($output); ?>ikisinin sonucunda sadece Array() yazıyor ekrana hiçbirşey yapmıyor, sizin yaptığınız çalışan scripti paylaşırmısınız. - 24-10-2012, 10:48:32exec komutu ile dir ve date komutlarını kullandım çalıştı; fakat ffmpeg bir türlü olmadı, değerde döndürmüyor exec, ffmpeg doğrumu kuruldu yoksa yanlışmı nasıl anlıacam ? aşağıdaki adreste anlatıldığı gibi kurulum yaptım; ama sorun nerde henüz bilmiyorum.
http://www.jaypan.com/tutorial/installing-ffmpeg-wamp
bu komutu kullandım:
<?php exec("c:\\wamp\\bin\\ffmpeg.exe -i alkolluarackullanma.mp4 alkolluarackullanma.flv", $output); print_r($output); ?>index.php c:\wamp\www\arastirma\ffmpeg klasöründe,
alkolluarackullanma.mp4 video c:\wamp\www\arastirma\ffmpeg klasöründe,
ffmpeg c:\wamp\bin\ klasöründe
kullanım doğrumu ?
ve aşağıdakinide denedim olmadı
<?php exec("c:\\wamp\\bin\\ffmpeg.exe -i c:\\wamp\\www\\arastirma\\ffmpeg\\alkolluarackullanma.mp4 c:\\wamp\\www\\arastirma\\ffmpeg\\alkolluarackullanma.flv", $output); print_r($output); ?>Birde sunucuda denemek istiyorum, sunucuda ffmpeg kurulumu nasıl öğrenebilirim ve linux sunucu için örnek nasıl olmalı ?
Edit: 2 sunucu var ikisindede kurulu değilmiş bir örnek kod kullandım eğer doğruysa kurulu değil ikisindede, soracağım şimdi kurulu değilse kurdurayı umarım sonunda başarılı bir çalışma yapabilirim, ve paylaşırım.
<?php $ffmpeg = trim(shell_exec('type -P ffmpeg')); if (empty($ffmpeg)) { echo 'ffmpeg not available'; } else{ echo 'ffmpeg available'; } ?> - 24-10-2012, 12:08:25Şimdi öncelikle \\ çift slaş olması gerekli, tabiki windows kullandığın için, bu, bu sefer bahsettiğin linux sunucuda sorun olabilir, bu nedenle, PHP ile işletim sistemini tesbit edip windows ise \\ kullanıp linux ise \ tek slaş kullanarak işlemleri yapmak mantıklı olacaktır ayrıca sona eklenen exec komutunun sonuna eklenen $output ve ardından kullanılan print_r($output); işi bozuyor dahası ise print_r($output); nasıl bir çıktı verecek size ?
<?php exec("c:\\wamp\\bin\\ffmpeg.exe -i c:\\wamp\\www\\arastirma\\ffmpeg\\alkolluarackullanma.mp4 c:\\wamp\\www\\arastirma\\ffmpeg\\alkolluarackullanma.flv", $output); print_r($output); ?>Ayrıca mesajlarınızda FFMPEG kurulumundan bahsediyorsunuz,
HAYIR, Windows servera FFMPEG kurulumu diye bir olay söz konusu değil öncelikle. Windows servera herhangi bir (güvenli) klasor içerisine ffmpeg.exe yi atar ve php sayfalardan dosyayı çağırırsınız hepsi budur.
Şimdi
$isletim_sistemi = 'NEY ??';
if($isletim_sistemi=='windows') { // windows ise diyelim ve devam edelim exec("D:\\SERVER\\ffmpeg-20121010-git-1a104bf-win32-shared\\bin\\ffmpeg.exe -i D:\\SERVER\\htdocs\\site.com\\DENEME\\Lady_GaGa___Dirty_Sexy_Money.avi -f flv -ar 44100 D:\\SERVER\\htdocs\\site.com\\DENEME\\aa.flv"); }
else { // Linux ise slaşları düzeltip kodlarımızı yazalım, yada if kontollu yapalım ... }
ffmpeg-20121010-git-1a104bf-win32-shared ile video dönüşür, video dan resim alınır, istenirse birden fazla resim alınır, yukarıdaki kodlarda output yok olunca zaten exec çalışmıyor, tüm deneme yapılmalarında bu seni yanıltan faktörlerden biri, üstte verdiğim kodları hem yazdım, hem denedim, sonuç evet video konvert işlemi gerçekleşiyor.
Ancak linux serverlarda bu ne kadar işlemciyi yoruyor bilmiyorum ama, windows serverda oldukça işlemci gücü harcayan bir işlem ffmpeg.exe ile bu durumda, windows server kullanırken,
Video konvert işlemlerinde AMD Phenom 2 x4 gibi benzeri rakiplerine göre daha yüksek sonuçlar elde eden işlemci kullanmak belki mantıklı olacaktır.
intel e8600 ile amd 965 karşılaştırması:
http://www.anandtech.com/bench/Product/54?vs=102
Sonuçlarda e8600 zaman zaman küçük farklar ile 965 i bazı uygulamalarda geçmişsede, 965 özellikle video işlemlerinde FARK atarak e8600 ü geçiyor,
Kıyaslamayı daha eşit yapmak için, ise
http://www.anandtech.com/bench/Product/49?vs=102
q9650 ile amd 965 karşılaştırmasına bakalım;
yine cinebench, sorenson flash video creation gibi yazılımlarda AMD daha yüksek başarılar elde ediyor.
Bu durumda windows tabanlı bir serverda eğer video dönüştürme yapılacaksa evet AMD işlemci kullanmak oldukça mantıklı görünüyor.
Tabii kullanılacak olan scriptte video convert işlemini upload sırasında değilde, daha sonra CRON ile belirlenmiş bir zamanda yaptırmak da mantıklı olabilir. - 24-10-2012, 12:49:17ilkönce şunu belirteyim: Windows server kullanmıyorum, windows7 kullanıyorum ve wamp kullanıyorum localhost olarak, dediğiniz gibi yaptım:
ffmpeg.exe nin yolu
C:\\wamp\\bin\\ffmpeg.exe
videonun yolu:
C:\\wamp\\www\\arastirma\\ffmpeg\\alkolluarackulla nma.mp4
script:
<?php if(file_exists('C:/wamp/www/arastirma/ffmpeg/alkolluarackullanma.mp4')) { echo 'file exists'; exec("C:\\wamp\\bin\\ffmpeg.exe -i C:\\wamp\\www\\arastirma\\ffmpeg\\alkolluarackullanma.mp4 -f flv -ar 44100 C:\\wamp\\www\\arastirma\\ffmpeg\\alkolluarackullanma.flv"); } else { echo 'file none'; } ?>ekrana flie exists yazıyor fakat dönüştürme işlemini yapmıyor, sizce neden olabilir bu sorun ?
Edit: ayrıca $output ve $return değişkenlerini ekledim şidmi ve $return den dönene değer bu:-1073741515
script:
<?php if(file_exists('C:/wamp/www/arastirma/ffmpeg/alkolluarackullanma.mp4')) { echo 'file exists'; exec("C:\\wamp\\bin\\ffmpeg.exe -i C:\\wamp\\www\\arastirma\\ffmpeg\\alkolluarackullanma.mp4 -f flv -ar 44100 C:\\wamp\\www\\arastirma\\ffmpeg\\alkolluarackullanma.flv",$output,$return); echo $return; } else { echo 'file none'; } ?> - 24-10-2012, 16:21:05ok FFMPEG i değiştirelim bunu kullanın;
http://www.dosya.tc/server23/mTyXTY/ffmpeg.rar.html
ben bu ffmpeg.exe ile başarılı şekilde dönüştürme yaptığım için aynı dosyayı size gönderiyorum.