Boas,

Há 2 meses usei o ffmpeg num projecto e funcionou sem problemas, convertia
os vídeos e ficavam com som. Usei da seguinte forma:

system('ffmpeg -i <path absoluto até ao vídeo, inclusive o vídeo> -ar 22050
-ab 32 -f flv -s 320x240 <path absoluto de destino>.flv');

Exemplo:

system('ffmpeg -i
/var/www/galeriamultimedia/amfphp/services/uploads/folder/video.avi -ar
22050 -ab 32 -f flv -s 320x240
/var/www/galeriamultimedia/amfphp/services/uploads/folder/video.flv');

Espero que seja útil.

2010/3/10 Paulo Ferreira <[email protected]>

> Sim, não tenho feito outra coisa esta semana senão à procura de soluções...
>
> O LAME e o FLVTOOLS seriam algumas dessas soluções, mas não se veio a
> verificar diferenças...
>
> Não conheço ninguém com um servidor a correr o ffmpeg, para também poder
> verificar se é do meu código ou é mm algo mal configurado no servidor..
>
> Até já pensei usar o flv e um ficheiro mp3 ao mm tempo !! é mm ah antiga =P
> mas canhão demais. lol
>
> 2010/3/10 <[email protected]>
>
> 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
>>
>> 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] <riapt%[email protected]>
>> .
>> Para ver mais opções, visite este grupo em
>> http://groups.google.com/group/riapt?hl=pt-PT.
>>
>>  --
>> 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] <riapt%[email protected]>
>> .
>> Para ver mais opções, visite este grupo em
>> http://groups.google.com/group/riapt?hl=pt-PT.
>>
>
>  --
> 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] <riapt%[email protected]>.
> Para ver mais opções, visite este grupo em
> http://groups.google.com/group/riapt?hl=pt-PT.
>

-- 
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.

Responder a