Bom dia,
A semana passada tinha perguntado aqui se alguém já tinha usado o ffmpeg,
venho de novo falar sobre isso ;)
A utilização dele no código php é relativamente simples e corre tudo sem
problemas, não fosse os *.flv ficarem sem som.
Já experimentei imensas variações no código php e todas com o mesmo efeito.
Deixo aqui o que estou a usar neste momento ;)
// **************configuracao*****************
$extension = "ffmpeg";
$extension_soname = $extension . "." . PHP_SHLIB_SUFFIX;
$extension_fullname = PHP_EXTENSION_DIR . "/" . $extension_soname;
if (!extension_loaded($extension))
{
dl($extension_soname) or die("Can't load extension
$extension_fullname\n");
}
// **************variaveis*****************
$newname = "video.avi";
$imagem = time().".jpg";
$nomevideoFLV = time().".flv";
$srcFile = "video_temp/" . $newname;
$destFile = "video/" . $nomevideoFLV;
$ffmpegPath = "ffmpeg";
// $flvtool2Path = "/path/to/flvtool2";
// FFMPEG-PHP class
$ffmpegObj = new ffmpeg_movie($srcFile);
//$srcWidth = makeMultipleTwo($ffmpegObj->getFrameWidth());
//$srcHeight = makeMultipleTwo($ffmpegObj->getFrameHeight());
//$srcFPS = $ffmpegObj->getFrameRate();
//$srcAB = intval($ffmpegObj->getAudioBitRate()/1000);
//$srcAR = $ffmpegObj->getAudioSampleRate();
// **************execs*****************
//CONVERTE FLV
if(exec($ffmpegPath . " -i " . $srcFile . " -vcodec flv -ab 128k -ar
44100 -s 440x330 " . $destFile))
{
unlink($srcFile);
}
//CONVERTE MP3
exec($ffmpegPath . " -ar 44100 -ab 192k -i " . $srcFile . " mp3/" .
time() . ".mp3");
//CRIA JPG
$cmd = 'ffmpeg -itsoffset -4 -i video/'.$nomevideoFLV.' -vcodec
mjpeg -vframes 120 -an -f rawvideo -s 160x120 img/'.$imagem;
$res = shell_exec($cmd);
// **************FIM***************** =)
O código corre todo sem problemas, faz um flv (sem som), um mp3 (com som) e
cria um jpg da frame 120.
O estranho é eu conseguir gravar um mp3 com som.. e um FLV não, e usar em
ambos os casos o ffmpeg :s
Se fosse libs ou assim mal configuradas no servidor não deveria não
funcionar nenhum?
Pelo que googlei tudo me leva a querer que será algo no servidor, instalei
também o flvtools e tentei como no codigo comentado acima e nada.
Pedi também para instalar o LAME, para o ffmpeg compartilhar as libs de mp3
do Lame.
Estes últimos, o LAME e o FLVTOOLS não sei se estão bem instalados e se o
ffmpeg está configurado correctamente para os usar... :s
Mas vem-me sempre à memória que já consigo gravar um mp3 com som usando
ffmpeg :s
Alguém já se deparou com isto?
Já tou com a cabeça num 8..
Quanto aos dados do servidor fazendo um phpinfo(); da isto:
http://www.theagency.pt/boasnoticias/teste.php
O servidor não é nosso, e cada vez que quero testar lá algo, ele tem que
reinicia-lo e os sites alojados vão todos abaixo, por isso não é muito
receptivo a grandes experiências..
Isto está a ser usado aqui http://www.theagency.pt/boasnoticias/ se quiserem
testar é ir a participar.
Está aindaem desenvolvimento, por isso a usabilidade neste momento não é uma
questão, podem preencher com dados ao calhas, ele aceita tdo, e enquanto o
video está a ser carregado não acontece nd (assim que se escolhe o video na
pasta), mas ele quando for carregado abre sosinho ou aparece uma caixa de
erro se for o caso..
Cumprimentos,
Paulo Ferreira
--
Recebeu esta mensagem porque está inscrito no grupo "Mailing List da Comunidade
Portuguesa de Rich Internet Applications - www.riapt.org" dos Grupos do Google.
Para publicar uma mensagem neste grupo, envie um e-mail para
[email protected].
Para anular a inscrição neste grupo, envie um e-mail para
[email protected].
Para ver mais opções, visite este grupo em
http://groups.google.com/group/riapt?hl=pt-PT.