天天看點

php+nginx+ffmpeg 完成背景截圖轉碼功能

版權聲明:本文為部落客原創文章,未經部落客允許不得轉載。 https://blog.csdn.net/chengyi_L/article/details/46350449

因為有項目涉及到使用者上傳視訊,并且在背景轉碼,截圖功能。早上各種查找資料最後決定用于ffmpeg來實作此功能。

在功能完成之前遇到如下問題,寫上解決方法以供大家或者自己之後參考

1.安裝問題,網上教程要求首先從網站上下載下傳ffmpeg.tar包以及yasm.tar包。并對這些檔案進行解壓,編譯,安裝。具體指令如下:

#wget http://www.tortall.net/projects/yasm/releases/yasm-1.2.0.tar.gz
#tar xzvf yasm-1.2.0.tar.gz
#cd yasm-1.2.0
#./configure
#make
#make instal

# wget http://ffmpeg.org/releases/ffmpeg-2.0.1.tar.gz
#tar xvfj ffmpeg-2.0.1.tar.gz
#cd ffmpeg-2.0.1
#./configure
#make
#make install           

2.檔案送出問題:我用的是uploadify插件上傳的視訊,上傳過程中在服務端的$_FILE數組裡找不到除了檔案名之外的參數,查閱資料和檢視phpinfo後知道是檔案上傳大小限制問題,修改php.ini 的 post_max_size 和 upload_max_filesize之後重新開機nginx : nginx -s restart 發現phpinfo中的直并沒有改變。繼續查資料  = = 。原來修改了php.ini後,需要重新啟動php-fpm程序才能将更改應用生效。于是參照教程進行了如下操作:

nginx -s stop
kill -INT `cat /usr/local/php/var/run/php-fpm.pid
/usr/local/php/sbin/php-fpm
start nginx`           

如果隻修改了nginx的conf檔案的話可以通過 nginx -s reload 直接重新開機

3.在lunix下執行ffmpeg指令能完成視訊轉換以及截圖工作,但用php的exec執行相同的指令就是不行,最終查出原因是因為目錄寫權限問題,暈死。chmod 777解決。

菜鳥日記大神勿噴,每天成長一點點