您好,登錄后才能下訂單哦!
本篇內容介紹了“怎么用PHP+FFMPEG實現將視頻自動轉碼成H264標準Mp4文件”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
配置php.ini文件
復制代碼 代碼如下:
file_uploads = on ;//是否允許通過HTTP上傳文件的開關。默認為ON即是開
upload_tmp_dir ;//文件上傳至服務器上存儲臨時文件的地方,如果沒指定就會用系統默認的臨時文件夾
upload_max_filesize = 1024m ;//望文生意,即允許上傳文件大小的最大值。默認為2M,我們設置為1G
post_max_size = 1024m ;//指通過表單POST給PHP的所能接收的最大值,我們也設置為1G
max_execution_time = 3600 ;//每個PHP頁面運行的最大時間值(秒),默認30秒,設置為一小時,因為后面轉碼時間很久。
max_input_time = 36000 ;//每個PHP頁面接收數據所需的最大時間,默認60秒
memory_limit = 8m ;//每個PHP頁面所吃掉的最大內存,默認8M
文件上傳插件
火焰雨推薦大家使用uploadify,Uploadify是JQuery的一個上傳插件,實現帶進度顯示。插件安裝簡單,此處略過。
但是有個問題需要注意,非IE瀏覽器session會丟失,查了很多資料,最終總結的原因是:
因為諸如uploadify采用的是flash客戶端,它產生的useragent與瀏覽器的user-agent不同。
最終解決辦法:
復制代碼 代碼如下:
//在upmodify上傳參數中加入session參數,如下:
scriptData: {"SESSION_ID":""},
// 在服務端接收頁面加入以下代碼:
if(@$_REQUEST['SESSION_ID'] && ($session_id=$_REQUEST['SESSION_ID']) !=session_id()){
session_destroy();
session_id($session_id);
@session_start();
}
這樣就解決了 FLASH 不能正確傳遞頁面
視頻格式轉換
現在Linux下比較流行的視頻格式轉換軟件是FFMPEG,FFMPEG是用于錄制、截圖、轉換和流化音頻和視頻的完整解決方案,一套領先的音/視頻編解碼類庫。除了FFMPEG外,我們要轉碼成H264格式 ,還需要一個擴展。(文章最后給出所有軟件包下載地址)
centos 5.4環境下安裝源碼安裝h364擴展
復制代碼 代碼如下:
tar -xjvf x264-snapshot-20120718-2245-stable.tar.bz2
#進入解壓后的源文件目錄
cd x264-snapshot-20120718-2245-stable/
./configure --prefix=/usr/local --enable-shared
make
make install
//centos 5.4環境下安裝源碼安裝ffmpeg with h364擴展
tar -xjvf ffmpeg-2.1.1.tar.bz2
//進入解壓后目錄
cd ffmpeg-2.1.1
./configure --enable-gpl --enable-libx264
make
make install
//重新加載配置
lcfonfig
//測試是否安裝成功
ffmpeg
如果你看到以下內容說明安裝成功:
復制代碼 代碼如下:
ffmpeg version 2.1.1 Copyright (c) 2000-2013 the FFmpeg developers
built on Dec 17 2013 23:32:40 with gcc 4.4.7 (GCC) 20120313 (Red Hat 4.4.7-3)
configuration: --enable-libx264 --enable-gpl
libavutil 52. 48.101 / 52. 48.101
libavcodec 55. 39.101 / 55. 39.101
libavformat 55. 19.104 / 55. 19.104
libavdevice 55. 5.100 / 55. 5.100
libavfilter 3. 90.100 / 3. 90.100
libswscale 2. 5.101 / 2. 5.101
libswresample 0. 17.104 / 0. 17.104
libpostproc 52. 3.100 / 52. 3.100
Hyper fast Audio and Video encoder
usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}...
Use -h to get full help or, even better, run 'man ffmpeg'
php調用ffmpeg轉碼視頻
復制代碼 代碼如下:
$cmd = 'FFMPEG -i uploadfile/video/test.wmv -c:v libx264 -strict -2 uploadfile/mp4/test.mp4';
exec($cmd, $status);
運行前請確認exec函數已經開啟。否則請修改php.ini文件
最后附上FFMPEG+H264擴展+YASM+apache_mod_h364
“怎么用PHP+FFMPEG實現將視頻自動轉碼成H264標準Mp4文件”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。