Salut.
Vreau sa fac urmatorul script: un utilizator urca un video pe site si acesta sa fie convertit automat din formatul in care este in .flv, ca sa poata fi redat cu flowplayer.
Am cautat pe google si am dat de ffmpeg dar nu stiu cum sa il inserez intr-un script php, sau sa se ruleze comanda automat cand video-ul este urcat de utilizator. Cum pot face acest lucru ?
Mersi.
Conversie AVI /MKV in FLV cu PHP
-
- Mesaje:11
Conversie AVI /MKV in FLV cu PHP
MarPlo
Mesaje:4343
In primul rand, ca sa convertesi fisiere AVI /MKV in FLV cu PHP, serverul trebuie sa aibe instalat modulul FFMPEG si "flvtool2" in PHP, apoi, sa permita instructiunea exec(), care executa comenzi pe server.
Apoi, poti incerca acest script (l-am gasit pe net).
- In loc de "dirvideo/" trebuie calea/directorul unde e fisierul AVI (dupa Upload, unde e incarcat), si unde va fi creat si cel FLV. PHP sa aibe permisiuni de scriere in el.
- Poti gasi mai multe exemple si articole despre acest subiect, la cautare: "PHP AVI to FLV".
Apoi, poti incerca acest script (l-am gasit pe net).
Cod: Selectaţi tot
<?php
function makeMultipleTwo ($value) {
$sType = gettype($value/2);
if($sType == "integer") {
return $value;
} else {
return ($value-1);
}
}
$srcFile = "dirvideo/fisier.avi";
$destFile = "dirvideo/fisier.flv";
$ffmpegPath = "/usr/local/bin/ffmpeg";
$flvtool2Path = "/usr/local/bin/flvtool2";
$ffmpegObj = new ffmpeg_movie($srcFile);
$srcWidth = makeMultipleTwo($ffmpegObj->getFrameWidth(300));
$srcHeight = makeMultipleTwo($ffmpegObj->getFrameHeight(300));
$srcFPS = $ffmpegObj->getFrameRate(2);
$srcAB = intval($ffmpegObj->getAudioBitRate()/1000);
$srcAR = $ffmpegObj->getAudioSampleRate(2);
$command = $ffmpegPath . " -i " . $srcFile . " -ar " . $srcAR . " -ab " . $srcAB . " -f flv -s " . $srcWidth . "x" . $srcHeight . " " . $destFile . " | " . $flvtool2Path . " -U stdin " . $destFile;
$convert = exec($command);
if(!$convert) {
echo "FAILED!!!";
}
?>
- Poti gasi mai multe exemple si articole despre acest subiect, la cautare: "PHP AVI to FLV".
Mezuky
Mesaje:11
Testele la script le fac pe windows cu pachetul XAMPP. Pot instala ffmpeg pe xampp si daca da, cum ? Mersi
MarPlo
Mesaje:4343
Personal nu am instalat ffmpeg, dar din ce am vazut pe net (la cautare: "install ffmpeg xampp"), cica ar merge asa:
apachefriends.org/f/viewtopic.php?f=16&t=32688
Sau pe net, in rezultatele de la cautare: "install ffmpeg xampp" .
- Script-ul dat mai sus e posibil sa nu functioneze pe Windows (nu stiu sigur daca functia exec() merge pe Windows, sau trebuie modificata comanda din ea, caci e pt. Linux), mai vezi pe net.
1. Download ffmpeg de la adresa:
sourceforge.net/projects/ffmpeg-php/files/
Sau:
paehl.com/open_source/?Convert_Tools:FFMPEG
2. Dezarhiveaza si copie "ffmpeg.exe" intr-un director din site (in root), trebuie sa fie accesat din script-ul php.
3. Muta "php_ffmpeg.dll" in directorul cu extensiile php din xampp ( c:\xampp\php\ext )
4. Muta toate celelalte fisiere in "Windows\System32" (fara COPYING.GPLv3.txt si readme.txt)
- Daca e pe Windows 64bit, trebuie copiate acele fisiere si in: "C:\Windows\SysWOW64"
5. Adauga extension=php_ffmpeg.dll in php.ini ( c:\xampp\php\php.ini )
6. Restart server Apache
Vezi si pagina de la aceasta adresa:sourceforge.net/projects/ffmpeg-php/files/
Sau:
paehl.com/open_source/?Convert_Tools:FFMPEG
2. Dezarhiveaza si copie "ffmpeg.exe" intr-un director din site (in root), trebuie sa fie accesat din script-ul php.
3. Muta "php_ffmpeg.dll" in directorul cu extensiile php din xampp ( c:\xampp\php\ext )
4. Muta toate celelalte fisiere in "Windows\System32" (fara COPYING.GPLv3.txt si readme.txt)
- Daca e pe Windows 64bit, trebuie copiate acele fisiere si in: "C:\Windows\SysWOW64"
5. Adauga extension=php_ffmpeg.dll in php.ini ( c:\xampp\php\php.ini )
6. Restart server Apache
apachefriends.org/f/viewtopic.php?f=16&t=32688
Sau pe net, in rezultatele de la cautare: "install ffmpeg xampp" .
- Script-ul dat mai sus e posibil sa nu functioneze pe Windows (nu stiu sigur daca functia exec() merge pe Windows, sau trebuie modificata comanda din ea, caci e pt. Linux), mai vezi pe net.