PHP+FFMPEG實(shí)現(xiàn)將視頻自動(dòng)轉(zhuǎn)碼成H264標(biāo)準(zhǔn)Mp4文件
來源:易賢網(wǎng) 閱讀:5349 次 日期:2014-09-29 11:58:41
溫馨提示:易賢網(wǎng)小編為您整理了“PHP+FFMPEG實(shí)現(xiàn)將視頻自動(dòng)轉(zhuǎn)碼成H264標(biāo)準(zhǔn)Mp4文件”,方便廣大網(wǎng)友查閱!

配置php.ini文件

代碼如下:

file_uploads = on ;//是否允許通過HTTP上傳文件的開關(guān)。默認(rèn)為ON即是開

upload_tmp_dir ;//文件上傳至服務(wù)器上存儲(chǔ)臨時(shí)文件的地方,如果沒指定就會(huì)用系統(tǒng)默認(rèn)的臨時(shí)文件夾

upload_max_filesize = 1024m ;//望文生意,即允許上傳文件大小的最大值。默認(rèn)為2M,我們?cè)O(shè)置為1G

post_max_size = 1024m ;//指通過表單POST給PHP的所能接收的最大值,我們也設(shè)置為1G

max_execution_time = 3600 ;//每個(gè)PHP頁面運(yùn)行的最大時(shí)間值(秒),默認(rèn)30秒,設(shè)置為一小時(shí),因?yàn)楹竺孓D(zhuǎn)碼時(shí)間很久。

max_input_time = 36000 ;//每個(gè)PHP頁面接收數(shù)據(jù)所需的最大時(shí)間,默認(rèn)60秒

memory_limit = 8m ;//每個(gè)PHP頁面所吃掉的最大內(nèi)存,默認(rèn)8M

文件上傳插件

火焰雨推薦大家使用uploadify,Uploadify是JQuery的一個(gè)上傳插件,實(shí)現(xiàn)帶進(jìn)度顯示。插件安裝簡(jiǎn)單,此處略過。

但是有個(gè)問題需要注意,非IE瀏覽器session會(huì)丟失,查了很多資料,最終總結(jié)的原因是:

因?yàn)橹T如uploadify采用的是flash客戶端,它產(chǎn)生的useragent與瀏覽器的user-agent不同。

最終解決辦法:

代碼如下:

//在upmodify上傳參數(shù)中加入session參數(shù),如下:

scriptData: {"SESSION_ID":""},

// 在服務(wù)端接收頁面加入以下代碼:

if(@$_REQUEST['SESSION_ID'] && ($session_id=$_REQUEST['SESSION_ID']) !=session_id()){

session_destroy();

session_id($session_id);

@session_start();

}

這樣就解決了 FLASH 不能正確傳遞頁面

視頻格式轉(zhuǎn)換

現(xiàn)在Linux下比較流行的視頻格式轉(zhuǎn)換軟件是FFMPEG,F(xiàn)FMPEG是用于錄制、截圖、轉(zhuǎn)換和流化音頻和視頻的完整解決方案,一套領(lǐng)先的音/視頻編解碼類庫。除了FFMPEG外,我們要轉(zhuǎn)碼成H264格式 ,還需要一個(gè)擴(kuò)展。(文章最后給出所有軟件包下載地址)

centos 5.4環(huán)境下安裝源碼安裝h264擴(kuò)展

代碼如下:

tar -xjvf x264-snapshot-20120718-2245-stable.tar.bz2

#進(jìn)入解壓后的源文件目錄

cd x264-snapshot-20120718-2245-stable/

./configure --prefix=/usr/local --enable-shared

make

make install

//centos 5.4環(huán)境下安裝源碼安裝ffmpeg with h264擴(kuò)展

tar -xjvf ffmpeg-2.1.1.tar.bz2

//進(jìn)入解壓后目錄

cd ffmpeg-2.1.1

./configure --enable-gpl --enable-libx264

make

make install

//重新加載配置

lcfonfig

//測(cè)試是否安裝成功

ffmpeg

如果你看到以下內(nèi)容說明安裝成功:

代碼如下:

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調(diào)用ffmpeg轉(zhuǎn)碼視頻

代碼如下:

$cmd = 'FFMPEG -i uploadfile/video/test.wmv -c:v libx264 -strict -2 uploadfile/mp4/test.mp4';

exec($cmd, $status);

運(yùn)行前請(qǐng)確認(rèn)exec函數(shù)已經(jīng)開啟。否則請(qǐng)修改php.ini文件

更多信息請(qǐng)查看IT技術(shù)專欄

更多信息請(qǐng)查看腳本欄目
由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復(fù)僅供參考,敬請(qǐng)考生以權(quán)威部門公布的正式信息和咨詢?yōu)闇?zhǔn)!

2025國(guó)考·省考課程試聽報(bào)名

  • 報(bào)班類型
  • 姓名
  • 手機(jī)號(hào)
  • 驗(yàn)證碼
關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡(jiǎn)要咨詢 | 簡(jiǎn)要咨詢須知 | 加入群交流 | 手機(jī)站點(diǎn) | 投訴建議
工業(yè)和信息化部備案號(hào):滇ICP備2023014141號(hào)-1 云南省教育廳備案號(hào):云教ICP備0901021 滇公網(wǎng)安備53010202001879號(hào) 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號(hào)
云南網(wǎng)警備案專用圖標(biāo)
聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關(guān)注公眾號(hào):hfpxwx
咨詢QQ:526150442(9:00—18:00)版權(quán)所有:易賢網(wǎng)
云南網(wǎng)警報(bào)警專用圖標(biāo)