摘要:原文鏈接自動(dòng)轉(zhuǎn)碼標(biāo)準(zhǔn)文件最近做一個(gè)在線教學(xué)網(wǎng)的項(xiàng)目,需要實(shí)現(xiàn)上傳任意格式視頻自動(dòng)為標(biāo)準(zhǔn)視頻,使用播放。否則請(qǐng)修改文件最后附上擴(kuò)展
原文鏈接:http://www.fire-rain.com/blog/FFMPEG_H264_MP4
PHP+FFMPEG自動(dòng)轉(zhuǎn)碼H264標(biāo)準(zhǔn)Mp4文件最近做一個(gè)在線教學(xué)網(wǎng)的項(xiàng)目,需要實(shí)現(xiàn)上傳任意格式視頻自動(dòng)為h264標(biāo)準(zhǔn)視頻,使用html5播放。最終使用PHP+FFMPEG實(shí)現(xiàn),在此將詳細(xì)解決方案分享給大家!
配置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文件
最后附上FFMPEG+H264擴(kuò)展+YASM+apache_mod_h264
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/20840.html
摘要:原文鏈接本地視頻轉(zhuǎn)碼字段近幾個(gè)月接了不少視頻網(wǎng)站的單子,客戶都要求能夠上傳本地視頻并自動(dòng)轉(zhuǎn)碼,而且需要兼容手機(jī)端進(jìn)行播放。字段類型選擇本地視頻,字段名可以任意填寫,比如。 原文鏈接:http://www.fire-rain.com/blog/localvideo Phpcmsv9本地視頻轉(zhuǎn)碼字段 近幾個(gè)月接了不少視頻網(wǎng)站的單子,客戶都要求能夠上傳本地視頻并自動(dòng)轉(zhuǎn)碼,而且需要兼容手機(jī)...
摘要:一背景筆者想將自己收藏的一些電影放到網(wǎng)站上可以用來隨時(shí)播放,不過遇到了一個(gè)問題,便是如果直接將文件放放到網(wǎng)站目錄當(dāng)中,手機(jī)端必須下載整個(gè)視頻才可以播放,而如果跨外網(wǎng)傳輸,這實(shí)在是不太現(xiàn)實(shí)。 一、背景 筆者想將自己收藏的一些電影放到網(wǎng)站上可以用來隨時(shí)播放,不過遇到了一個(gè)問題,便是如果直接將MP4文件放放到網(wǎng)站目錄當(dāng)中,手機(jī)端必須下載整個(gè)視頻才可以播放,而如果跨外網(wǎng)傳輸,這實(shí)在是不太現(xiàn)實(shí)。...
摘要:一背景筆者想將自己收藏的一些電影放到網(wǎng)站上可以用來隨時(shí)播放,不過遇到了一個(gè)問題,便是如果直接將文件放放到網(wǎng)站目錄當(dāng)中,手機(jī)端必須下載整個(gè)視頻才可以播放,而如果跨外網(wǎng)傳輸,這實(shí)在是不太現(xiàn)實(shí)。 一、背景 筆者想將自己收藏的一些電影放到網(wǎng)站上可以用來隨時(shí)播放,不過遇到了一個(gè)問題,便是如果直接將MP4文件放放到網(wǎng)站目錄當(dāng)中,手機(jī)端必須下載整個(gè)視頻才可以播放,而如果跨外網(wǎng)傳輸,這實(shí)在是不太現(xiàn)實(shí)。...
摘要:先按照的安裝攻略,搞定你上的,我目前使用的版本是然后直接上代碼簡(jiǎn)單的轉(zhuǎn)碼服務(wù),利用和編碼器轉(zhuǎn)換成使用輸入文件路徑輸出文件路徑執(zhí)行下 先按照ffmpeg的安裝攻略,搞定你CentOS上的ffmpeg,我目前使用的版本是3.0.2然后直接上代碼 package main import ( fmt log os os/exec time ) fun...
閱讀 919·2021-11-24 10:44
閱讀 2865·2021-11-11 16:54
閱讀 3371·2021-10-08 10:21
閱讀 2242·2021-08-25 09:39
閱讀 3011·2019-08-30 15:56
閱讀 3524·2019-08-30 13:46
閱讀 3555·2019-08-23 18:09
閱讀 2206·2019-08-23 17:05