Ffmpeg ile flv formatında bir video dönüştürme yerel çalışan ama sunucu çalışmıyor

5 Cevap php

Ben flv formatında bir video dönüştürmek istiyorum. Ben video dönüştürmek için ffmpeg kullanıyorum. Ben aşağıdaki kodu kullanıyorum.

exec("C:/wamp/www/newtip/ffmpeg/ffmpeg -i C:/wamp/www/newtip/ffmpeg/videos/".$name." -ar 22050 -ab 32 -f flv -s 320x240 C:/wamp/www/newtip/ffmpeg/players/".$name_s.".flv");

Bu yerel sistemde düzgün çalışıyor. Ancak sunucu doğru çalışmıyor.

Sunucusu i aşağıdaki gibi kodu değişti

exec("http://www.mydomain.com/newtip/ffmpeg/ffmpeg -i http://www.mydomain.com/newtip/ffmpeg/videos/".$name." -ar 22050 -ab 32 -f flv -s 320x240 http://www.mydomain.com/newtip/ffmpeg/players/".$name_s.".flv");

Yerel ben Kaynak yolunu verdik C :/ wamp / www / newtip / Ama http://www.mydomain.com/newtip/. Ben sunucu yolu yanlış olduğunu düşünüyorum sunucusu i yolunu verdik. Herkes nasıl sunucu yolu vermek için bana söyleyebilir misiniz?

5 Cevap

Doğru dizini belirtmek ve aynı zamanda birlikte belge kökünü belirtmek için deneyin:

$path = $_SERVER['DOCUMENT_ROOT'] . "your required folder path here";

Emin olun:

  • Klasör 755 izinleri set, chmod gerektiriyordu
  • exec devre dışı değildir.

Sen yolları ve adresler kafa karıştırıcıdır. Yerine http://www.mydomain.com/newtip/ffmpeg/ffmpeg, tam yolunu kullanın (gibi bir şey ... /home/username/mydomain.com/newtip/ffmpeg/ffmpeg). Sarfraz önerir gibi, $_SERVER['DOCUMENT_ROOT'] yolunuzda için kök bulmak için kullanabilirsiniz.

exec() sunucu üzerinde çalışan PHP çalışır, bu yüzden gerçekten yerel yolları ile sunucu üzerinde çalışan konum gibi yolunu kullanın.

Sen mutlaka exec komutu tam yolları gömmek zorunda değilsiniz. Yerel ve uzak sunucularda göreceli yolları kullanın:

exec("ffmpeg -i ./ffmpeg/videos/{$name} -ar 22050 -ab 32 -f flv -s 320x240 ./ffmpeg/players/{$name_s}.flv");

Pencerelerde, yukarıdaki örnekte ffmpeg adlı yolunu Windows'un PATH ortam değişkeni mevcut olduğunu varsayar. Örnek, Windows veya Linux işe yaramazsa, (C:/Program Files/ffmpeg/ffmpeg.exe pencerelerde, /usr/bin/ffmpeg linux üzerinde) ffmpeg tam yolunu belirterek deneyin. Ffmpeg doğru yolun ne olduğunu hosting şirketi sorun.

Ayrıca yolları ./ffmpeg/videos yapmak ve ./ffmpeg/players akrabanızın php script.

i exact aynı sorun, bu codec bileşeni olduğu ortaya çıktı vardı.

-acodec mp3 yerel üzerinde çalışıyor ancak gerekli server -acodec libmp3lame