有一种比较正统的做法,原理大致是这样的:在你的服务器上安装一个可以将很多种格式的视频文件转换为FLV文件的软件,研究其命令行调用的各种参数,然后在你的PHP代码中用system命令调用即可。
可参考:
http://blog.csdn.net/chinalinuxzend/article/details/1828451
可参考:
http://blog.csdn.net/chinalinuxzend/article/details/1828451
第一步:
安装上传插件。复制以下代码到head区域
<link href="images/default.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="js/swfupload.js"></script>
<script type="text/javascript" src="js/handlers.js"></script>
<script type="text/javascript">
var swfu;
window.onload = function () {
swfu = new SWFUpload({
upload_url: "upload.php",
post_params: {"PHPSESSID": "<?php echo session_id(); ?>"},
file_size_limit : "1000 MB", // 1000MB
file_types : "*.wma;*.mp4;*.rmvb;*.mp3;*.wmv;*.flv;*.avi;*.3gp;*.mov;*.vob",
file_types_description : "JPG Images",
file_upload_limit : "0",
file_queue_error_handler : fileQueueError,
file_dialog_complete_handler : fileDialogComplete,
upload_progress_handler : uploadProgress,
upload_error_handler : uploadError,
upload_success_handler : uploadSuccess,
upload_complete_handler : uploadComplete,
button_image_url : "images/user-upload-upm.gif",
button_placeholder_id : "spanButtonPlaceholder",
button_width: 158,
button_height: 50,
button_text : '<span class="button"><span class="buttonSmall"></span></span>',
button_text_style : '.button { font-family: Helvetica, Arial, sans-serif; font-size: 12pt; } .buttonSmall { font-size: 10pt; }',
button_text_top_padding: 0,
button_text_left_padding: 0,
button_window_mode: SWFUpload.WINDOW_MODE.TRANSPARENT,
button_cursor: SWFUpload.CURSOR.HAND,
flash_url : "images/swfupload.swf",
custom_settings : {
upload_target : "divFileProgressContainer"
},
debug: false
});
};
</script>
把网站系统的表单提交字段和ID作相应调整
<li>视频标题:<input type="text" name="title" id="movietitle" value="" size="60"></li>
<li>视频简介:<input type="text" name="moviesay" id="moviesay" value="" size="60"></li>
<li>视频地址:<input type="text" name="movie_url" id="odownpath1" value="" size="60"></li>
<li>图片地址:<input type="text" name="pic_url" id="titlepic" value="" size="60"></li>
在需要显示上传按钮的地方插入以下代码:
<div id="content">
<?php
if( !function_exists("imagecopyresampled") ){
?>
<?php
} else {
?>
<form>
<div style="display: inline;">
<span id="spanButtonPlaceholder"></span>
</div>
</form>
<?php
}
?>
<div id="divFileProgressContainer" style="height:100px;"></div>
</form>
<script>
function uploadSuccess(file,data,response ){
var data = data.split(';');
//alert(data[1] + data[2] + data[3]+ data[4] +data[5]);
document.getElementById('cname').value= data[1];
document.getElementById('path').value= data[2];
document.getElementById('pic').value= data[3];
document.getElementById('convertname').value= data[4];
document.getElementById('name').value= data[5];
document.getElementById('odownpath1').value = data[2]+data[4];
document.getElementById('titlepic').value = data[2]+data[3];
document.getElementById('movietitle').value = data[6];
document.getElementById('moviesay').value = data[6];
}
</script>
第二步:
增加字段到mysql数据库。
增加视频上传信息的对应字段如:视频地址、缩略图地址、视频名称、转码标识等信息到数据库,以便转码软件识别。
第三步:
结合网站目录配置转码软件。
请参见91视频转码软件配置:www.91flv.com/help/2014-03-11/265.html
配置完成,上传一个视频,测试看看。