PHP+FFMPEG实现将视频自动转码成H264标准Mp4文件


Posted in PHP onSeptember 24, 2014

配置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环境下安装源码安装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

PHP 相关文章推荐
php中文本操作的类
Mar 17 PHP
PHP与Java进行通信的实现方法
Oct 21 PHP
yii框架builder、update、delete使用方法
Apr 30 PHP
yii操作session实例简介
Jul 31 PHP
一个比较不错的PHP日历类分享
Nov 18 PHP
PHP生成plist数据的方法
Jun 16 PHP
yii,CI,yaf框架+smarty模板使用方法
Dec 29 PHP
php微信支付接口开发程序
Aug 02 PHP
Laravel5.1自定义500错误页面示例
Oct 09 PHP
解决php extension 加载顺序问题
Aug 16 PHP
PHP实现批量修改文件名的方法示例
Sep 18 PHP
laravel批量生成假数据的方法
Oct 09 PHP
php实现获取及设置用户访问页面语言类
Sep 24 #PHP
php实现的zip文件内容比较类
Sep 24 #PHP
php导出CSV抽象类实例
Sep 24 #PHP
php实现的双向队列类实例
Sep 24 #PHP
php实现的Timer页面运行时间监测类
Sep 24 #PHP
php密码生成类实例
Sep 24 #PHP
PHP中file_get_contents高?用法实例
Sep 24 #PHP
You might like
全国FM电台频率大全 - 20 广西省
2020/03/11 无线电
PHP实现的博客欢迎提示功能(很特别哦)
2014/06/05 PHP
PHP实现返回JSON和XML的类分享
2015/01/28 PHP
php接口数据加密、解密、验证签名
2015/03/12 PHP
PHP+JQUERY操作JSON实例
2017/03/23 PHP
原生Js实现元素渐隐/渐现(原理为修改元素的css透明度)
2013/06/24 Javascript
javascript计算当月剩余天数(天数计算器)示例代码
2014/01/09 Javascript
js实现编辑div节点名称的方法
2014/12/17 Javascript
详解Javascript模板引擎mustache.js
2016/01/20 Javascript
动态加载js文件简单示例
2016/04/21 Javascript
jQuery简单设置文本框回车事件的方法
2016/08/01 Javascript
ES6中Math对象新增的方法实例详解
2017/04/25 Javascript
关于JS与jQuery中的文档加载问题
2017/08/22 jQuery
bootstrap轮播模板使用方法详解
2017/11/17 Javascript
vue循环数组改变点击文字的颜色
2019/10/14 Javascript
Linux中Python 环境软件包安装步骤
2016/03/31 Python
Python编程实现蚁群算法详解
2017/11/13 Python
Python OpenCV实现图片上输出中文
2018/01/22 Python
Django之Mode的外键自关联和引用未定义的Model方法
2018/12/15 Python
Python数据结构与算法(几种排序)小结
2019/06/22 Python
django 信号调度机制详解
2019/07/19 Python
python lambda表达式(匿名函数)写法解析
2019/09/16 Python
Python读写操作csv和excle文件代码实例
2020/03/16 Python
Python实现将元组中的元素作为参数传入函数的操作
2020/06/05 Python
美国Rue La La闪购网站:奢侈品、中高档品牌限时折扣
2016/10/19 全球购物
采购员的工作职责
2013/12/26 职场文书
小学生环保演讲稿
2014/04/25 职场文书
软件项目实施计划书
2014/05/02 职场文书
推荐信模板
2014/05/09 职场文书
和谐家庭演讲稿
2014/05/24 职场文书
入党积极分子学习优秀共产党员先进事迹思想汇报
2014/09/13 职场文书
学生穿着不得体检讨书
2014/10/12 职场文书
党员违纪检讨书怎么写
2014/11/01 职场文书
南京大屠杀观后感
2015/06/02 职场文书
监守自盗观后感
2015/06/10 职场文书
蜗居观后感
2015/06/11 职场文书