2012-01-13 10 views
0

私はのFLV、MP4ファイルを変換しようとしていますが、私は0サイズのFLVファイルを取得していますが、PHPのffmpegのFLV変換エラー

あなたはこの

 
array(45) { [0]=string(72) "FFmpeg version SVN-r26402, Copyright (c) 
2000-2011 the FFmpeg developers" [1]=string(74) " built on Jan 12 
2012 16:07:49 with gcc 4.1.2 20080704 (Red Hat 4.1.2-51)" [2]=> 
string(98) " configuration: --enable-libmp3lame --enable-gpl 
--enable-libvorbis --disable-mmx --enable-shared" [3]=string(35) " libavutil 50.36. 0/50.36. 0" [4]=string(35) " libavcore 0.16. 1/
0.16. 1" [5]=string(37) " libavcodec 52.108. 0/52.108. 0" [6]=string(35) " libavformat 52.93. 0/52.93. 0" [7]=string(35) " 
libavdevice 52. 2. 3/52. 2. 3" [8]=string(35) " libavfilter 1.74. 
0/1.74. 0" [9]=string(35) " libswscale 0.12. 0/0.12. 0" [10]=> 
string(0) "" [11]=string(101) "Seems stream 0 codec frame rate 
differs from container frame rate: 30000.00 (30000/1) -15.00 (15/1)" 
[12]=string(106) "Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 
'16112007069.mp4':" 
[13]=string(11) " Metadata:" [14]=string(26) " major_brand : mp42" 
[15]=string(23) " minor_version : 0" [16]=string(35) " 
compatible_brands: mp423gp4isom" [17]=string(41) " creation_time : 
2007-11-16 15:44:57" [18]=string(59) " Duration: 00:00:32.64, start: 
0.000000, bitrate: 562 kb/s" [19]=string(115) " Stream #0.0(und): Video: mpeg4, yuv420p, 352x288 [PAR 1:1 DAR 11:9], 512 kb/s, 15 fps, 
15 tbr, 30k tbn, 30k tbc" [20]=string(13) " Metadata:" [21]=> 
string(43) " creation_time : 2007-11-16 15:44:57" [22]=string(62) " 
Stream #0.1(und): Audio: aac, 16000 Hz, mono, s16, 48 kb/s" [23]=> 
string(13) " Metadata:" [24]=string(43) " creation_time : 2007-11-16 
15:44:58" [25]=string(87) "WARNING: The bitrate parameter is set too 
low. It takes bits/s as argument, not kbits/s" [26]=string(47) 
"[buffer @ 0x94a9de0] w:352 h:288 pixfmt:yuv420p" [27]=string(98) 
"[libmp3lame @ 0x94a9560] flv does not support that sample rate, 
choose from (44100, 22050, 11025)." [28]=string(85) "Output #0, flv, 
to '16112007069.flv':" [29]=string(11) " Metadata:" [30]=string(26) " major_brand : mp42" 
[31]=string(23) " minor_version : 0" [32]=string(35) " 
compatible_brands: mp423gp4isom" [33]=string(41) " creation_time : 
2007-11-16 15:44:57" [34]=string(33) " encoder : Lavf52.93.0" [35]=> 
string(103) " Stream #0.0(und): Video: flv, yuv420p, 352x288 [PAR 1:1 
DAR 11:9], q=2-31, 200 kb/s, 1k tbn, 15 tbc" [36]=string(13) " 
Metadata:" [37]=string(43) " creation_time : 2007-11-16 15:44:57" 
[38]=string(68) " Stream #0.1(und): Audio: libmp3lame, 16000 Hz, 
mono, s16, 0 kb/s" [39]=string(13) " Metadata:" [40]=string(43) " 
creation_time : 2007-11-16 15:44:58" [41]=string(15) "Stream 
mapping:" [42]=string(21) " Stream #0.0 -#0.0" [43]=string(21) " 
Stream #0.1 -#0.1" [44]=string(72) "Could not write header for 
output file #0 (incorrect codec parameters ?)" }   




ffmpeg: /usr/local/bin/ffmpeg file 




path: 16112007069.mp4 




srcAR: 16000 




srcAB:48 




dimention: 352 x 288 destFile: 16112007069.flv 

コーディング部分に私を助けてくださいすることができます:)

$srcFile = "/file destination/16112007069.mp4"; 
$destFile = "/file destination/16112007069.flv"; 
$ffmpegPath = "/usr/local/bin/ffmpeg"; 

$ffmpegObj = new ffmpeg_movie($srcFile); 

$srcWidth = makeMultipleTwo($ffmpegObj->getFrameWidth()); 
$srcHeight = makeMultipleTwo($ffmpegObj->getFrameHeight()); 
$srcFPS = $ffmpegObj->getFrameRate(); 
$srcAB = intval($ffmpegObj->getAudioBitRate()); 
$srcAR => $ffmpegObj->getAudioSampleRate(); 

exec($ffmpegPath . " -i " . $srcFile . " -ar " . $srcAR . " -ab " . $srcAB . " -f flv -s " . $srcWidth . "x" . $srcHeight . " " . $destFile . " 2>&1", $output); 

var_dump($output); 

print "<br />ffmpeg: $ffmpegPath<br />"; print "file path: $srcFile<br 
/>"; print "srcAR: $srcAR<br />"; print "srcAB: $srcAB<br />"; print 
"dimention: $srcWidth x $srcHeight<br />"; print "destFile: 
$destFile<br />"; 


function makeMultipleTwo ($value) { 
    $sType = gettype($value/2); 
    if($sType == "integer") 
    { 
     return $value; 
    } else { 
     return ($value-1); 
    } 
} 

は、私が追加:

if($srcAR<41000){ $srcAR = "41000"; } 

上記とその動作!

+0

? –

+0

"警告:bitrateパラメータが小さすぎます。ビット/ sは引数であり、kbits/sではありません"? –

+0

だから私はそれを正しくするために何をするべきです、私はコード – arjun

答えて

0

テスト、これは1:

ffmpeg -i src.avi -an dest.flv 
0

この$のffmpegのを試してみてください-i src.avi dest.flvこの質問のプログラミング部分である

関連する問題