Foros del Web » Administración de Sistemas » Unix / Linux »

Error usando la libreria ffmpeg-php

Estas en el tema de Error usando la libreria ffmpeg-php en el foro de Unix / Linux en Foros del Web. Hola a todos, Hace escasos días la gente que administra un servidor linux del que dispongo, me instaló la librería ffmpeg-php para poder trabajar con ...
  #1 (permalink)  
Antiguo 13/11/2008, 13:14
 
Fecha de Ingreso: septiembre-2007
Mensajes: 106
Antigüedad: 16 años, 7 meses
Puntos: 1
Error usando la libreria ffmpeg-php

Hola a todos,

Hace escasos días la gente que administra un servidor linux del que dispongo, me instaló la librería ffmpeg-php para poder trabajar con archivos de video y exportarlos a FLV.

El código que uso es el que abunda en internet:

Código:
<?php 
// Establecer el archivo fuente 
$srcFile = "reffight.avi"; 
$destFile = "clock.flv"; 
$ffmpegPath = "/usr/local/bin/ffmpeg"; 
$flvtool2Path = "/usr/bin/flvtool2"; 
// Crear nuestro class FFMPEG-PHP 
$ffmpegObj = new ffmpeg_movie($srcFile); 
// Guardar las variables 
$srcWidth = makeMultipleTwo($ffmpegObj->getFrameWidth()); 
$srcHeight = makeMultipleTwo($ffmpegObj->getFrameHeight()); 
$srcFPS = $ffmpegObj->getFrameRate(); 
$srcAB = intval($ffmpegObj->getAudioBitRate()/1000); 
$srcAR = $ffmpegObj->getAudioSampleRate(); 
// Llamar al convertidor usando exec() 
exec($ffmpegPath . " -i " . $srcFile . " -ar " . $srcAR . " -ab " . $srcAB . " -f flv -s " . $srcWidth . "x" . $srcHeight . " " . $destFile . " | " . $flvtool2Path . " -U stdin " . $destFile); 
// Función de Multiplicación 
function makeMultipleTwo ($value) 
{ 
$sType = gettype($value/2); 
if($sType == "integer") 
{ 
return $value; 
} else { 
return ($value-1); 
} 
} 
?>
El caso, está en que el código me funciona a medias. Me genera el archivo FLV pero a 0Kb.

Trasteando con la gente de mi servidor, y otros compañeros foreros de php, hicieron que ejecutara directamente en la shell, el código exec:

Código:
/usr/local/bin/ffmpeg -i reffight.avi -ar 44100 -ab 1411 -f flv -s 320x240 clock.flv | /usr/bin/flvtool2 -U stdin clock.flv

Y el error es el siguiente:

Código:
Input #0, avi, from 'reffight.avi':
Duration: 00:00:06.60, start: 0.000000, bitrate: 962 kb/s
Stream #0.0: Video: cinepak, yuv420p, 320x240, 5.00 tb(r)
Stream #0.1: Audio: pcm_s16le, 44100 Hz, stereo, s16, 1411 kb/s
File 'clock.flv' already exists. Overwrite ? [y/N] y
Output #0, flv, to 'clock.flv':
Stream #0.0: Video: flv, yuv420p, 320x240, q=2-31, 200 kb/s, 5.00 tb(c)
Stream #0.1: Audio: libmp3lame, 44100 Hz, stereo, s16, 1 kb/s
Stream mapping:
Stream #0.0 -> #0.0
Stream #0.1 -> #0.1
Error while opening codec for output stream #0.1 - maybe incorrect parameters such as bit_rate, rate, width or height
De lo que no se ponen de acuerdo ahora es:

1. Fallo de Intalación
2. El codec de salida es incorrecto, es probable que el codec de FLV no este instalado en la versión "esential" que me han instalado.
3. FLV es el codec de video, y el error hace referencia al stream de audio.


Pero en cualquier caso, no tengo solución...

Algún usuario avanzado de la libreria ffmpeg-php?

Un millon de gracias!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:01.