国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

PHP+FFMPEG自動轉碼H264標準Mp4文件

stackvoid / 586人閱讀

摘要:原文鏈接自動轉碼標準文件最近做一個在線教學網的項目,需要實現上傳任意格式視頻自動為標準視頻,使用播放。否則請修改文件最后附上擴展

原文鏈接:http://www.fire-rain.com/blog/FFMPEG_H264_MP4

PHP+FFMPEG自動轉碼H264標準Mp4文件

最近做一個在線教學網的項目,需要實現上傳任意格式視頻自動為h264標準視頻,使用html5播放。最終使用PHP+FFMPEG實現,在此將詳細解決方案分享給大家!

配置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,UploadifyJQuery的一個上傳插件,實現帶進度顯示。插件安裝簡單,此處略過。
但是有個問題需要注意,非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環境下安裝源碼安裝h264擴展

  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 h264擴展
 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_h264

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/20840.html

相關文章

  • Phpcmsv9本地視頻轉碼字段

    摘要:原文鏈接本地視頻轉碼字段近幾個月接了不少視頻網站的單子,客戶都要求能夠上傳本地視頻并自動轉碼,而且需要兼容手機端進行播放。字段類型選擇本地視頻,字段名可以任意填寫,比如。 原文鏈接:http://www.fire-rain.com/blog/localvideo Phpcmsv9本地視頻轉碼字段 近幾個月接了不少視頻網站的單子,客戶都要求能夠上傳本地視頻并自動轉碼,而且需要兼容手機...

    Charles 評論0 收藏0
  • 使用PHP結合Ffmpeg快速搭建流媒體服務實踐

    摘要:一背景筆者想將自己收藏的一些電影放到網站上可以用來隨時播放,不過遇到了一個問題,便是如果直接將文件放放到網站目錄當中,手機端必須下載整個視頻才可以播放,而如果跨外網傳輸,這實在是不太現實。 一、背景 筆者想將自己收藏的一些電影放到網站上可以用來隨時播放,不過遇到了一個問題,便是如果直接將MP4文件放放到網站目錄當中,手機端必須下載整個視頻才可以播放,而如果跨外網傳輸,這實在是不太現實。...

    Drinkey 評論0 收藏0
  • 使用PHP結合Ffmpeg快速搭建流媒體服務實踐

    摘要:一背景筆者想將自己收藏的一些電影放到網站上可以用來隨時播放,不過遇到了一個問題,便是如果直接將文件放放到網站目錄當中,手機端必須下載整個視頻才可以播放,而如果跨外網傳輸,這實在是不太現實。 一、背景 筆者想將自己收藏的一些電影放到網站上可以用來隨時播放,不過遇到了一個問題,便是如果直接將MP4文件放放到網站目錄當中,手機端必須下載整個視頻才可以播放,而如果跨外網傳輸,這實在是不太現實。...

    MASAILA 評論0 收藏0
  • 在CentOS下,利用FFMPEG對視頻進行轉碼

    摘要:先按照的安裝攻略,搞定你上的,我目前使用的版本是然后直接上代碼簡單的轉碼服務,利用和編碼器轉換成使用輸入文件路徑輸出文件路徑執行下 先按照ffmpeg的安裝攻略,搞定你CentOS上的ffmpeg,我目前使用的版本是3.0.2然后直接上代碼 package main import ( fmt log os os/exec time ) fun...

    kuangcaibao 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<