本文目錄一覽:
有誰在phpstudy下安裝過ffmpeg的php擴展
在官網上找了ffmpeg的php擴展來裝,發現無法加載擴展,查看後得知官網的php擴展版本是vc6,二php5.4是vc9編譯的。在網上找了個php5.4的對應的ffmpeg的php擴展,地址是:
求大神幫忙解決php-mpeg擴展問題
裝php-ffmpeg擴展,ffprobe對象是可以偵測大多數媒體格式信息的。
目前也這樣最簡單。。
我學過mp4/3gp/flv、mkv、avi的格式,讀信息就是要多寫一堆文件操作函數而已多花幾天,但這樣最直接不需要掛擴展。還是用php-ffmpeg省事。不重複發明輪子。
怎樣在windows下配置ffmpeg-php
首先介紹下我使用的集成環境wamp。
PHP: php5.2.6
Apache: apache2.2.8
1.下載ffmpeg-php
2. 解壓ffmpeg-php-win32-all.zip 後有下面幾個文件:
avcodec-51.dll
avformat-51.dll
avutil-49.dll
php_ffmpeg.dll
pthreadGC2.dll
3. 將四個文件拷貝到windows\system32文件夾下面(小插曲:之前自己再配置時候按照網上的文章只拷貝兩個文件 avcodec-51.dll, avformat-51.dll到這個文件,結果發現並不能配置成功。後來將後面avutil-49.dll, pthreadGC2.dll全部拷貝過去就成功了,很有可能這四個文件是有一定關聯使用的。)
avcodec-51.dll, avformat-51.dll, avutil-49.dll, pthreadGC2.dll
4. 然後需要到apache\bin文件下找到php.ini文件下允許使用dll文件加入extension=php_ffmpeg.dll 並允許 extension=php_gd2.dll, extension=php_gettext.dll這兩個
改動後如下(去掉前面的分號就代表允許執行)
extension=php_gd2.dll
extension=php_gettext.dll
extension=php_ffmpeg.dll
5. 重新啟動wamp後使用phpinfo()函數看到一下信息配置: //我兩個環境一個apache一個IIS,iis不用重啟就生效了,apache沒試不知道, add by aboc
ffmpeg
ffmpeg-php version 0.5.2.1
libavcodec version Lavc51.43.0
libavformat version Lavf51.12.2
ffmpeg-php gd support enabled
以上就表明ffmpeg在php環境中配置成功了。
6. 下面我們建立一個php的頁面來測試是不是可以使用ffmpeg的一些函數功能。建立testvideo.php文件
代碼如下:
?php
extension_loaded(‘ffmpeg’); //可不要
$ffmpegInstance = new ffmpeg_movie(‘C:\wamp\www\top10.mp4’); //這裡要用絕對路徑
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();
?
7.執行後如果拿到視頻的一些信息如下就表示環境配置成功了,那我們就可以開始開發我們的視頻轉換了。
執行結果:
getDuration: 811.13336181641
getFrameCount: 12167
getFrameRate: 15
getFilename: C:\wamp\www\top10.mp4
getComment:
getTitle:
getAuthor:
getCopyright:
getArtist:
getGenre:
getTrackNumber: 0
getYear: 0
getFrameHeight: 240
getFrameWidth: 320
getPixelFormat: yuv420p
getBitRate: 269769
getVideoBitRate:
getAudioBitRate:
getAudioSampleRate: 48000
getVideoCodec: mpeg4
getAudioCodec: mpeg4aac
getAudioChannels: 2
hasAudio: 1
視頻截圖的話如下方法: //add by aboc
$ff_frame = $ffmpegInstance-getFrame(rand(1,$ffmpegInstance-getFrameCount())); //隨機截取某一幀
$gd_image = $ff_frame-toGDImage();
imagejpeg($gd_image,’t.jpg’);
imagedestroy($gd_image);
echo ‘img src=”t.jpg” /’;
原創文章,作者:GYQWC,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/315798.html