|
|
| |||||||
| Site & Server Administration Server Yönetimi hakkında, .htaccess, Apache configuration ve log analiz, güvenlik |
| |
|
| | | LinkBack | Seçenekler |
| |||
| Ffmpeg ile mp4'ten dönüştürdüğüm flv videolarını flv player çalarken süreyi almıyor. Çevirken eksik birşey mi yapıyorum acaba? ffmpeg kodum aşağıdaki gibi: Kod: exec($ffmpegPath . " -i " . $videodosyam . " -ar " . $AR . " -ab " . $AB . " -f flv -s " . $Width . "x" . $Height . " " . $hedefdosya. " | " . $flvtool2Path . " -U -duration:$sure " . $hedefdosya); |
| |||
| http://rapidshare.com/files/321560437/videolar.rar mp4 ve ffmpeg ile dönüştürülmüş flv'yi rapide yükledim. |
| |||
| videoları neyle çevirdiniz bilmiyorum ancak meta bilgilerinde "duration:" yok bu yüzden player süresini göstermiyor. http://www.hasangul.com/flvtest/1.html bu flv dosyanız, metalarını görebilirsiniz http://www.hasangul.com/flvtest/2.html bu da olması gereken yani içinde duration bulunan. ffmpeg yerine mencoder ile çevirin videolarınızı. scriptin conversion dosyasını koyarsanız sizin için düzenleyebilirim. (mencoder versiyonunuzu da söylemeniz lazım) |
| |||
| Öncelikle ilginiz için çok teşekkür ederim. Mencoder 20071007 sürümü (son sürümü). Ffmpeg ile daha hızlı çevriliyor diye biliyordum. Mencoder ile nasıl çeviriyoruz. Script : <?php #$extension = "ffmpeg"; #$extension_soname = $extension . "." . PHP_SHLIB_SUFFIX; #$extension_fullname = PHP_EXTENSION_DIR . "/" . $extension_soname; // load extension #if (!extension_loaded($extension)) { # dl($extension_soname) or die("yüklenemedi #$extension_fullname\n"); #} $ilkdosya = "Funda_Arar_Kirik_Dusler.mp4"; $yenidosya = "y/kirik_dusler.flv"; $ffmpegPath = "/usr/bin/ffmpeg"; $flvtool2Path = "/usr/bin/flvtool2"; #çevireceğimiz dosyanın süre bilgisi $video = new ffmpeg_movie("$ilkdosya",false); $sure = $video->getDuration(); echo "$sure <br>"; $sure=ceil($sure); echo "$sure <br>"; $sure=date("H:i:s",-93600 + $sure); echo "$sure"; $ffmpegObj = new ffmpeg_movie($ilkdosya); $Genislik = makeMultipleTwo($ffmpegObj->getFrameWidth()); $Yukseklik = makeMultipleTwo($ffmpegObj->getFrameHeight()); $srcFPS = $ffmpegObj->getFrameRate(); $srcAB = intval($ffmpegObj->getAudioBitRate()/1000); $srcAR = $ffmpegObj->getAudioSampleRate(); // Call our convert using exec() exec($ffmpegPath . " -i " . $ilkdosya . " -ar " . $srcAR . " -ab " . $srcAB . " -f flv -s " . $Genislik . "x" . $Yukseklik . " " . $yenidosya . " | " . $flvtool2Path . " -U -duration:$sure " . $yenidosya); function makeMultipleTwo ($value) { $sType = gettype($value/2); if($sType == "integer") { return $value; } else { return ($value-1); } } ?> |
| |||
| Aşağıdaki gibi deneyin, çalışırsa değişkenlerini ayarlayalım. PHP- Kodu: |
| |||
| exec($MencoderPath ". $ilkdosya . " -o " . $yenidosya . " -of lavf -oac mp3lame -lameopts abr:br=96 -ovc lavc -lavcopts vcodec=flv:vbitrate=900:mbd=2:mv0:trell:v4mv:keyin t=10:cbp:last_pred=3 -lavfopts i_certify_that_my_video_stream_does_not_use_b_fram es scale=320:240 -srate 22050"); burada bir sorun var ama bulamadım. |
| |||
| ilkdosya ve yenidosya kısmına tam yolları yazmanız lazım, aşağıdaki kodu ssh dan çalıştırın, verdiği hatayı burayı yazarmısınız. ayrıca ssh da sadece "mencoder" yazdığınız da orda versiyonu görebilirsiniz. MEncoder 1.0rc1 olansa geçerlidir bu kod. dosya yollarını düzeltin. Alıntı:
|
![]() |
| Bookmarks |
| Seçenekler | |
| |