用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 相关文章推荐
对javascript和select部件的结合运用
Oct 09 PHP
常用的PHP数据库操作方法(MYSQL版)
Jun 08 PHP
PHP通过正则表达式下载图片到本地的实现代码
Sep 19 PHP
解析php curl_setopt 函数的相关应用及介绍
Jun 17 PHP
PHP图片处理之使用imagecopy函数添加图片水印实例
Nov 19 PHP
Thinkphp搭建包括JS多语言的多语言项目实现方法
Nov 24 PHP
php使用指定编码导出mysql数据到csv文件的方法
Mar 31 PHP
PHP使用mysql与mysqli连接Mysql数据库用法示例
Jul 07 PHP
PHP上传图片时判断上传文件是否为可用图片的方法
Oct 20 PHP
浅谈php使用curl模拟多线程发送请求
Mar 08 PHP
一文看懂PHP进程管理器php-fpm
Jun 01 PHP
浅谈如何提高PHP代码质量之端到端集成测试
May 28 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 session有效期问题
2009/04/26 PHP
浅谈php(codeigniter)安全性注意事项
2017/04/06 PHP
php+jQuery ajax实现的实时刷新显示数据功能示例
2019/09/12 PHP
经典的带阴影的可拖动的浮动层
2006/06/26 Javascript
jquery 简短右键菜单 多浏览器兼容
2010/01/01 Javascript
Javascript学习笔记6 prototype的提出
2010/01/11 Javascript
javascript 跨浏览器开发经验总结(五) js 事件
2010/05/19 Javascript
理解Javascript_08_函数对象
2010/10/15 Javascript
jquery获取一组checkbox的值(实例代码)
2013/11/04 Javascript
使用postMesssage()实现跨域iframe页面间的信息传递方法
2016/03/29 Javascript
JavaScript ES5标准中新增的Array方法
2016/06/28 Javascript
Bootstrap模态框调用功能实现方法
2016/09/19 Javascript
hovertree插件实现二级树形菜单(简单实用)
2016/12/28 Javascript
JS对象序列化成json数据和json数据转化为JS对象的代码
2017/08/23 Javascript
详解Angular6学习笔记之主从组件
2018/09/05 Javascript
javascript实现贪吃蛇经典游戏
2020/04/10 Javascript
Python实战购物车项目的实现参考
2019/02/20 Python
pycharm如何实现跨目录调用文件
2020/02/28 Python
python判断两个序列的成员是否一样的实例代码
2020/03/01 Python
基于python的opencv图像处理实现对斑马线的检测示例
2020/11/29 Python
RentCars.com巴西:汽车租赁网站
2016/08/22 全球购物
美国益智玩具购物网站:Fat Brain Toys
2017/11/03 全球购物
WoolOvers澳洲官方网站:英国针织服装公司
2018/05/13 全球购物
巴西葡萄酒商店:Divvino
2020/02/22 全球购物
美团网旗下网上订餐平台:美团外卖
2020/03/05 全球购物
大学军训自我鉴定
2013/12/15 职场文书
写给妈妈的道歉信
2014/01/11 职场文书
师德师风学习材料
2014/12/19 职场文书
婚礼答谢词
2015/01/04 职场文书
布达拉宫的导游词
2015/02/02 职场文书
党员个人总结自评
2015/02/14 职场文书
应届毕业生自荐信
2015/03/04 职场文书
教师聘用意向书
2015/05/11 职场文书
JavaScript 语句之常用 for 循环详解
2021/03/29 Javascript
Nginx反爬虫策略,防止UA抓取网站
2021/03/31 Servers
CSS实现隐藏搜索框功能(动画正反向序列)
2021/07/21 HTML / CSS