Paulo,
Na agência onde estou fizemos um projecto em que precisavamos converter .mov etc para .flv uma vez validados os vídeos (que eram a participação dos utilizadoresm etc etc, a mesma história de concursos...) e na altura não conseguimos colocar também o som e o meu colega de Server Side tentou várias formas (menos a correcta talvez, lol), no entanto tal não foi possível. Não te quero desanimar, mas na altura não conseguimos e a solução teve de passar pela conversão à manápula, via Flash Media Encoder, felizmente foram muito poucos vídeos. No entanto não acredito que não exista solução, já experimentaste os blogs da questão, ou mesmo a team que desenvolveu o projecto? Boa sorte, Nuno Ribeiro Citando Paulo Ferreira <[email protected]>: > 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[1] > > 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/[2] 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. Ligações: --------- [1] http://www.theagency.pt/boasnoticias/teste.php [2] http://www.theagency.pt/boasnoticias/ -- 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.
