`
Pringles
  • 浏览: 51426 次
  • 来自: capital of china
最近访客 更多访客>>
社区版块
存档分类
最新评论

在线视频转换的问题

阅读更多
客户端代码:

<?
error_reporting(E_ALL);
set_time_limit(0);
ob_implicit_flush();
$server = "211.94.190.86";
echo date("Y-m-d H:i:s")." Init ftp connection, server is $server.\n";
$ftp = ftp_connect($server);
ftp_login($ftp,"viosevent ","event.vios.com");
ftp_chdir($ftp,"/uploadfile/movie/in/");
//fetch
$lst = ftp_nlist($ftp,".");
foreach ($lst as $f){
if(strtolower(substr($f,strlen($f)-5,5))==".flag"){
$f = str_ireplace(".flag","",$f);
echo date("Y-m-d H:i:s")." New file discovered: ./in/$f.\n";
ftp_get($ftp,".\\in\\".$f,"./".$f,FTP_BINARY);
echo date("Y-m-d H:i:s")." Placing FLAG file:.\\in\\$f.flag.\n";
file_put_contents(".\\in\\$f.flag"," ");
echo date("Y-m-d H:i:s")." Removing the remote flag file. .\\in\\".$f.".flag...\n";
ftp_delete($ftp,"./".$f.".flag");
ftp_delete($ftp,"./".$f."");
}

ftp_raw($ftp,"noop");
}
//send
$workdir = dir(".\\out\\");
$entrys = array();
while (false !== ($entry = $workdir->read())) {
$entrys[]=$entry;
}
$workdir->close();
foreach ($entrys as $entry){
switch ($entry){
case ".":
case "..":
break;
default:
// echo $entry;
$pinfo = pathinfo($entry);
if(isset($pinfo['extension']) and $pinfo['extension']=="flv"){
echo date("Y-m-d H:i:s")." Sending .\\out\\{$pinfo["basename"]}...";
@ftp_put($ftp,"/uploadfile/movie/out/{$pinfo["basename"]}",".\\out\\{$pinfo["basename"]}",FTP_BINARY);
echo date("Y-m-d H:i:s")." Removeing .\\out\\{$pinfo["basename"]}...";
unlink(".\\out\\{$pinfo["basename"]}");
}
break;
}
ftp_raw($ftp,"noop");
}

ftp_close($ftp);
echo date("Y-m-d H:i:s")." Job finished, closing...";
?>

服务器端代码:
<?
error_reporting(E_ALL);
set_time_limit(0);
ob_implicit_flush();

$path_src = ".\\in\\";
$path_dest = ".\\out\\";
$path_tmp = ".\\tmp\\";
/*
$default_video = array(
"filename"=>"file.avi",
"ext"=>"avi",
"width"=>"320",
"height"=>"240",
""=>"",
""=>"",
""=>"",
""=>"",
""=>"",
""=>"",
""=>"",
);
*/
if(file_exists("flvsrv.cfg.php")){
include("flvsrv.cfg.php");
}

while (true) {

$workdir = dir($path_src);
while (false !== ($entry = $workdir->read())) {
switch ($entry){
case ".":
case "..":
break;
default:
$pinfo = pathinfo($path_src.$entry);
if($pinfo['extension']=="flag"){
$fn = str_replace(".flag","",$entry);
$destfn = substr($fn,0,strripos($fn,"."));
//$video_file = unserialize(file_get_contents($path_src.$entry));
echo date("Y-m-d H:i:s")." .\\me\\mencoder {$path_src}{$fn} -o {$path_tmp}{$destfn}.flv -of lavf -oac mp3lame -lameopts abr:br=56 -srate 22050 -ovc lavc -lavcopts vcodec=flv:vbitrate=500:mbd=2:mv0:trell:v4mv:cbp:last_pred=3  -lavfopts i_certify_that_my_video_stream_does_not_use_b_frames";
exec(".\\me\\mencoder {$path_src}{$fn} -o {$path_tmp}{$destfn}.flv -of lavf -oac mp3lame -lameopts abr:br=56 -srate 22050 -ovc lavc -lavcopts vcodec=flv:vbitrate=500:mbd=2:mv0:trell:v4mv:cbp:last_pred=3  -lavfopts i_certify_that_my_video_stream_does_not_use_b_frames");
echo date("Y-m-d H:i:s")." Deleting $path_src$entry...";
echo date("Y-m-d H:i:s")." Deleting $path_src$fn...";
unlink($path_src.$entry);
unlink($path_src.$fn);
echo date("Y-m-d H:i:s")." Moving {$path_tmp}{$destfn}.flv to {$path_dest}{$destfn}.flv...";
rename("{$path_tmp}{$destfn}.flv","{$path_dest}{$destfn}.flv");
break;
}
break;
}
}
$workdir->close();

}
?>

说明:
1. 客户端登陆至FTP服务器以后,将当前的目录切换为指定的目录;
2. 客户端在FTP下载目录中寻找.flag形式的文件,删除文件末尾的.flag后缀。然后从FTP上下载视频文件(比如名字为a.avi),并且写一空文件到目录中,名字为(a.avi.flag)。
3. 如果客户端在下载目录中寻找到以.flv后缀的文件,则直接上传到服务器端去。并清空上传目录。
4. 同时在server端也有一个进程在监视这个上传目录,当发现名字后缀位.flag的文件时(比如a.avi.flag),会去找a.avi这个文件,并且调用开源的mplayer 中的 mencode 转换格式将a.avi转换成a.flv,然后传到server上面。
5. Mencode的参数很复杂,详情请看mplayer手册。
分享到:
评论

相关推荐

    视频格式转换-奇客视频转换-转换视频与音频格式

    奇客视频转换器支持1000多种格式的一键批量转换。 稳定的性能和超强的体验 易于使用: 一键拖放上传视频,一键操作转换视频,分两步完成视频转换 功能丰富: 支持市场上常见视频格式之间的转换,并提供各种视频...

    视频转换_视频转换器_炬力mp3固件_视频转换mp3_

    "视频转换_视频转换器_炬力mp3固件_视频转换mp3_"这个标题揭示了几个关键知识点,我们将逐一详细解释。 首先,"视频转换"指的是将一种视频格式转化为另一种格式的过程。这可能出于多种原因,比如兼容性问题(不同...

    14:迅捷视频转换器(正式注册版)格式转换软件.rar

    迅捷视频转换器是一款功能强大的多媒体格式转换工具,专为用户解决各种视频、音频、图片格式不兼容问题而设计。这款软件集成了多种格式的转换功能,能够满足用户在不同设备间分享媒体文件的需求,确保内容能在手机、...

    万能视频格式转换器

    在使用"万能视频格式转换器"时,用户需要考虑兼容性问题,确保转换后的格式适用于目标设备或平台。例如,如果目标是移动设备,可能需要转换为MP4或H.264编码的视频,因为这些格式在iOS和Android设备上普遍支持。同时...

    曦力音视频转换专家

    曦力音视频转换专家,支持MAC OS。 强大至近乎完美的音视频转换专家,支持转换几乎所有格式的音视频转换AVI、MPEG、WMV、DivX、MP4、H.264/AVC、RM、3GP、FLV、MP3、WMA、WAV、RA、AAC。针对多种数码设备,提供数十...

    视频转换大师绿色版(万能转换)

    为了解决这一问题,"视频转换大师绿色版"应运而生,它是一款强大的视频格式转换工具,无需安装即可使用,兼容各类格式,包括手机格式,真正实现了“万能转换”。 首先,我们来了解一下视频转换的基本概念。视频格式...

    视频转换工具大集合

    在IT领域,视频转换工具是不可或缺的一部分,它们帮助用户处理不同格式的视频文件,以便在各种设备上播放或进行编辑。"视频转换工具大集合"这个主题涵盖了多种类型的转换软件,如狸窝软件旗下的全能视频格式转换器,...

    ATJ2127 视频转换工具.rar

    总的来说,ATJ2127 视频转换工具是一个实用的多媒体解决方案,适用于日常生活中遇到的视频格式不兼容问题。通过自我实践,用户不仅可以方便地转换视频格式,还能提升自己的数字媒体技能。只要按照软件提供的教程进行...

    视频标注,视频转换

    在IT领域,视频标注和视频转换是两个非常重要的概念,它们在多媒体处理、人工智能和内容创作中占有核心地位。下面将分别对这两个知识点进行详细阐述。 视频标注是将信息或元数据附加到视频内容的过程,这有助于理解...

    视频转换器-全能视频转换器

    狸窝超级全能视频转换器 2.3.0.5 中文绿色免费版 ———————————————— 使用说明:狸窝超级全能视频转换器 (Leawo Video Converter) 是一款免费软件,使用前先绿化,运行 !)Install.bat(Vista/...

    万能视频转换器

    总的来说,"万能视频转换器"以其绿色便携和强大的格式转换能力,成为了广大用户处理视频格式问题的理想选择。无论你是需要在不同设备间共享视频,还是希望优化视频以适应网络上传,这款工具都能为你提供便利。只需...

    视频转换工具

    视频转换工具是一款软件应用,主要用于将不同格式的视频文件转换为其他格式,以满足用户在不同设备或平台上的播放需求。这些工具通常支持多种输入和输出格式,如MP4、AVI、MOV、WMV等,确保视频能在手机、电视、电脑...

    视频转换器带注册码

    视频转换器带注册码支持WAV,MP3,WMA,AAC,M4A,OGG,APE,AC3,RMA等格式的音频,同时支持抓取AVI,VCD,SVCD,DVD,MPG,WMV,ASF,RM,RMVB,FLV,F4V,MOV,QT,MP4,MPEG4,3GP,3G2,MKV,TS,TP,MTS,M2TS,MOD,TOD,SDP,YUV等视频文件的...

    纽曼A26视频转换

    【纽曼A26视频转换】是一个针对纽曼A26设备进行视频格式转换的主题,主要涉及的是如何将不同格式的视频文件转换成适合纽曼A26播放的格式。在数字媒体领域,设备对视频格式的支持至关重要,因为不同的设备可能支持...

    魅族视频转换器

    在这个过程中,魅族视频转换器会尽可能地保持音视频同步,避免出现声音与画面不同步的问题。同时,它还提供了批量转换功能,用户可以一次性处理多个视频文件,大大提高了效率。 除了基本的转换功能,魅族视频转换器...

    3GP视频转换软件 3gp视频转换软件

    一款3GP视频转换软件。可以将mpg, mpeg1, mpeg2, mpeg4, wmv, mp4, 3gp, mov, rm, dv, yuv, h264 格式视频文件转换成 3GPP 格式视频文件,将3GP 格式视频文件转换到 MPEG, AVI, VOB, MPEG4, WMV格式视频文件。提取3...

    视频转换大师

    《视频转换大师:全方位解析与应用指南》 在数字化时代,视频内容的生产和分享日益频繁,不同的设备和平台对视频格式的要求各异,这就催生了视频转换工具的重要性。"视频转换大师"作为一款专业的视频格式转换软件,...

    电弧手机视频转换器

    总而言之,电弧手机视频转换器是解决跨平台视频播放问题的有效解决方案。它不仅能帮助用户消除格式障碍,还能确保转换后的视频质量和播放体验。无论是在日常娱乐、工作分享,还是在移动学习中,这款工具都能发挥重要...

    万能视频转换工具

    综上所述,"万能视频转换工具"是一个能够解决多种视频格式问题的实用软件,它通过复杂的编码和解码技术,帮助用户在不同设备和平台上流畅地观看视频,同时提供了丰富的自定义选项以满足个性化需求。在日常使用中,...

    2D视频转3D视频转换器中文版.rar

    mediAvatar 3D Converter是一款用来将2D视频转换到3D视频的转换工具。2D转换为3D是将普通视频转换成3D视频,可以在普通电视或者3D电视上观看。3D格式转换,如果你没有3D电视,可以将左右/上下格式3D视频转换成红蓝...

Global site tag (gtag.js) - Google Analytics