用php将任何格式视频转为flv的代码


Posted in PHP onSeptember 03, 2009
<? 
define("ROOT_DIR",dirname(__FILE__)); 
class EcodeFlv { 
var $fromFile; //上传来的文件 
var $toFilePath; //保存文件路径 
var $toPicPath; //保存图片路径 
var $mpeg; //ffmpeg.exe文件的路径 
var $mencode; //mencode.exe文件的路径 
var $cmdToFile; //转换文件命令 
var $cmdToPic; //转换图片命令 
var $toFileName; //转换后的文件名 
var $mpegComm; //ffmpeg.exe的转换命令 
var $mencodeComm; //mencode.exe的命令 
var $mpegType; 
var $mencodeType; 
var $midi; //mdi.exe的路径 
var $cmdMidi; //mdi.exe的命令 
//初始化类 
function EcodeFlv($fromFile,$toFilePath,$toPicPath,$mpeg,$mencode,$midi) { 
$this->mpegComm = false; 
$this->mencodeComm = false; 
$this->fromFile = $fromFile; 
$this->toFilePath = $toFilePath; 
$this->toPicPath = ROOT_DIR."/".$toPicPath; 
$this->mpeg = ROOT_DIR.$mpeg; 
$this->mencode = ROOT_DIR.$mencode; 
$this->midi = ROOT_DIR.$midi; 
$this->mpegType=array ( 
"audio/x-mpeg"=>".mp3", 
"video/mpeg"=>".mpeg", 
"video/3gpp"=>".3gp", 
"video/x-ms-asf"=>".asf", 
"video/x-msvideo"=>".avi" 
); 
$this->mencodeType = array( 
"application/vnd.rn-realmedia"=>".rm", 
"audio/x-pn-realaudio"=>".rmvb", 
"audio/x-ms-wmv"=>".wmv", 
); 
} //检查文件类型 
function checkType() { 
if(function_exists(mime_content_type)){ 
return false; 
}else{ 
//$contentType = mime_content_type($this->fromFile); 
$exe = "D:\server\php\extras\magic"; 
$handel = new finfo(FILEINFO_MIME, $exe); 
$contentType = $handel->file($this->fromFile); 
} 
foreach($this->mpegType as $index=>$key){ 
if($contentType == $index){ 
$name = md5(date("Ymd").tiime()); 
$this->toFileName = $name; 
$this->$mpegComm = true; 
return true; 
} 
} 
foreach($this->mencodeType as $index=>$key){ 
if($contentType == $index){ 
$name = md5(date("Ymd").time()); 
$this->toFileName = $name; 
$this->mencodeComm = true; 
return true; 
}else{ 
return false; 
} 
} 
} 
//设置文件,图片大小 
function setSize($flvSize,$picSize) { 
$flvWidth = $flvSize[0]; 
$flvHeight = $flvSize[1]; 
$picWidth = $picSize[0]; 
$picHeight = $picSize[1]; 
$picName = $this->toPicPath.$this->toFileName.".jpg"; 
$flvName = $this->toFilePath.$this->toFileName.".flv"; 
$toMdi = ROOT_DIR."/".$flvName; 
$size = $picWidth."x".$picHeight; 
if($this->mpegComm){ 
$this->cmdToFile= "$this->mpeg -i $this->fromFile -y -ab 56 -ar 22050 -b 500 -r 15 -s $flvWith*$flvHeight $flvName"; 
} 
elseif($this->mencodeComm){ 
$this->cmdToFile = "$this->mencode $this->fromFile -vf scale=$flvWidth:$flvHeight -ffourcc FLV1 -of lavf -ovc lavc -lavcopts vcodec=flv:vbitrate=70:acodec=mp3:abitrate=56:dia=-1 -ofps 25 -srate 22050 -oac mp3lame -o $flvName"; 
} 
$this->cmdToPic = "$this->mpeg -i $toMdi -y -f image2 -ss 8 -t 0.003 -s $size $picName"; 
$this->cmdMidi = "$this->midi $toMdi /k"; 
echo $this->cmdToPic; 
} 
//开始转换 
function toEcode() { 
set_time_limit(0); 
exec($this->cmdToFile,$flvStatus) 
exec($this->cmdToPic,$picStatus); 
exec($this->cmdMidi,$mStatus); 
} 
} 
?>
PHP 相关文章推荐
dede全站URL静态化改造[070414更正]
Apr 17 PHP
逐步提升php框架的性能
Jan 10 PHP
php中将地址生成迅雷快车旋风链接的代码[测试通过]
Apr 20 PHP
一个漂亮的php验证码类(分享)
Aug 06 PHP
PHP关联数组实现根据元素值删除元素的方法
Jun 26 PHP
使用PHP uniqid函数生成唯一ID
Nov 18 PHP
PHP面向对象程序设计OOP继承用法入门示例
Dec 27 PHP
ThinkPHP3.2.3框架邮件发送功能图文实例详解
Apr 23 PHP
在Laravel的Model层做数据缓存的实现
Sep 26 PHP
php实现对文件压缩简单的方法
Sep 29 PHP
PHP For循环字母A-Z当超过26个字母时输出AA,AB,AC
Feb 16 PHP
php设计模式之原型模式分析【星际争霸游戏案例】
Mar 23 PHP
ajax php 实现写入数据库
Sep 02 #PHP
php 正则表达式小结
Aug 31 #PHP
自动把纯文本转换成Web页面的php代码
Aug 27 #PHP
PHP高级OOP技术演示
Aug 27 #PHP
php 获取可变函数参数的函数
Aug 26 #PHP
php download.php实现代码 跳转到下载文件(response.redirect)
Aug 26 #PHP
php 文件夹删除、php清除缓存程序
Aug 25 #PHP
You might like
PHP在字符串中查找指定字符串并删除的代码
2008/10/02 PHP
php需登录的文件上传管理系统
2020/03/21 PHP
PHP使用trim函数去除字符串左右空格及特殊字符实例
2016/01/07 PHP
jQuery实现多级下拉菜单jDropMenu的方法
2015/08/28 Javascript
javascript省市级联功能实现方法实例详解
2015/10/20 Javascript
Javascript BOM学习小结(六)
2015/11/26 Javascript
详解jQuery UI库中文本输入自动补全功能的用法
2016/04/23 Javascript
Vue实现自带的过滤器实例
2017/03/09 Javascript
jQuery实现鼠标经过显示动画边框特效
2017/03/24 jQuery
vue系列之requireJs中引入vue-router的方法
2018/07/18 Javascript
vue项目中mock.js的使用及基本用法
2019/05/22 Javascript
深入学习TypeScript 、React、 Redux和Ant-Design的最佳实践
2019/06/17 Javascript
加速vue组件渲染之性能优化
2020/04/09 Javascript
vue3自定义dialog、modal组件的方法
2021/01/04 Vue.js
[03:10]2014DOTA2 TI马来劲旅Titan首战告捷目标只是8强
2014/07/10 DOTA
详解Python当中的字符串和编码
2015/04/25 Python
简单学习Python多进程Multiprocessing
2017/08/29 Python
python方向键控制上下左右代码
2018/01/20 Python
python中文编码与json中文输出问题详解
2018/08/24 Python
python图像和办公文档处理总结
2019/05/28 Python
利用python开发app实战的方法
2019/07/09 Python
利用Python实现kNN算法的代码
2019/08/16 Python
win10环境下配置vscode python开发环境的教程详解
2019/10/16 Python
canvas实现圆绘制的示例代码
2019/09/11 HTML / CSS
常用的HTML5列表标签
2017/06/20 HTML / CSS
兰蔻英国官网:Lancome英国
2019/04/30 全球购物
个人实用简单的自我评价
2013/10/19 职场文书
银行个人求职自荐信范文
2013/12/16 职场文书
高中体育教学反思
2014/01/24 职场文书
大四毕业生自荐书
2014/07/05 职场文书
助学感谢信范文
2015/01/21 职场文书
2015年学校党支部工作总结
2015/04/01 职场文书
2015年“我们的节日·中秋节”活动总结
2015/07/30 职场文书
浅谈PHP7中的一些小技巧
2021/05/29 PHP
SQL Server2019数据库备份与还原脚本,数据库可批量备份
2021/11/20 SQL Server
动画《平凡职业成就世界最强》宣布制作OVA
2022/04/01 日漫