我對php很陌生。我最近在我的Mac上設置了PHP,我試圖設置ffmpeg-php來根據需要將各種視頻轉換爲flv或其他格式。我用這個教程FFmpeg Mac Installation和我得到了ffmpeg使用終端,但是,當我嘗試使用PHP編碼一個電影我得到一個錯誤。在我的apache error_log文件中,它表示在flv文件旁邊拒絕權限(如下所示)。在本地主機上拒絕ffmpeg-php權限
FFmpeg的版本0.6,版權所有(C)2000 - 2010年 FFmpeg的開發
建於2010年12月30日8時36分24秒用gcc 4.2.1 (蘋果公司建立5646)(點1)配置:--prefix =/usr/local --enable-shared --disable-mmx --enable-libmp3lame --enable-gpl --enable-libfaad --enable-zlib --enable-libvorbis --enable- libfaac --enable-nonfreelibavutil 50.15。 1/50.15。 libavcodec 52.72。 2/ 52.72。 2
libavformat 52.64。 2/52.64。 2
libavdevice 52. 2. 0/52. 2. 0
libswscale 0.11。 0/0.11。 0
似乎流1編解碼器幀速率不同於 容器幀速率:1200.00(1200/1) →30.00(30/1)
輸入#0,mov,mp4,m4a,3gp,3g2,mj2,來自 ' /Users/myApple/Sites/AdHere/test.mov':
元數據:
major_brand:QT
minor_version:537199360個
compatible_brands:QT
時間:00:00:02.04,啓動: 0.000000,比特率:1109音頻:aac,44100Hz,立體聲,s16,97kb/s
流#0.1(eng):視頻:h264,yuv42 0P,640×480,1027 KB /秒,30.15 FPS,30 TBR,600 TBN,1200 TBC
/Users/myApple/Sites/AdHere/movteststuff.flv: 權限被拒絕
我不知道是什麼問題是。我現在用的是下面的PHP代碼:
<?php
extension_loaded('ffmpeg') or die('Error in loading ffmpeg');
$ffmpegInstance = new ffmpeg_movie('test.AVI');
echo "getDuration: " . $ffmpegInstance->getDuration() .
"<br>getFrameCount: " . $ffmpegInstance->getFrameCount() .
"<br>getFrameRate: " . $ffmpegInstance->getFrameRate() .
"<br>getFilename: " . $ffmpegInstance->getFilename() .
"<br>getComment: " . $ffmpegInstance->getComment() .
"<br>getTitle: " . $ffmpegInstance->getTitle() .
"<br>getAuthor: " . $ffmpegInstance->getAuthor() .
"<br>getCopyright: " . $ffmpegInstance->getCopyright() .
"<br>getArtist: " . $ffmpegInstance->getArtist() .
"<br>getGenre: " . $ffmpegInstance->getGenre() .
"<br>getTrackNumber: " . $ffmpegInstance->getTrackNumber() .
"<br>getYear: " . $ffmpegInstance->getYear() .
"<br>getFrameHeight: " . $ffmpegInstance->getFrameHeight() .
"<br>getFrameWidth: " . $ffmpegInstance->getFrameWidth() .
"<br>getPixelFormat: " . $ffmpegInstance->getPixelFormat() .
"<br>getBitRate: " . $ffmpegInstance->getBitRate() .
"<br>getVideoBitRate: " . $ffmpegInstance->getVideoBitRate() .
"<br>getAudioBitRate: " . $ffmpegInstance->getAudioBitRate() .
"<br>getAudioSampleRate: " . $ffmpegInstance->getAudioSampleRate() .
"<br>getVideoCodec: " . $ffmpegInstance->getVideoCodec() .
"<br>getAudioCodec: " . $ffmpegInstance->getAudioCodec() .
"<br>getAudioChannels: " . $ffmpegInstance->getAudioChannels() .
"<br>hasAudio: " . $ffmpegInstance->hasAudio();
exec('ffmpeg -i /Users/myApple/Sites/AdHere/test.mov /Users/myApple/Sites/AdHere/movteststuff.flv');
?>
我能看到各種參數,如文件名,frameheight,framewidth,這使我相信,ffmpeg的,PHP是一種工作,但也許我只是做一些exec()命令錯誤。有人有主意嗎。我一直在努力設置ffmpeg很長一段時間了。
謝謝!
-Jon
哇,我認爲就是這樣。你太棒了! – user572271 2011-01-12 06:57:41