|
|
|
ต้องการ resize ขนาดไฟล์ VDO ให้มีขนาดที่เล็กลง ขอคำแนะนำด้วยค่ะ |
|
|
|
|
|
|
|
ต้องการ resize ขนาดไฟล์ VDO ค่ะ
ขอคำแนะนำด้วยค่ะ ลองทำแล้ว ขนาด vdo ไม่ลดลงเลย
Code (PHP)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<?php
function upvideo($vdo,$vdolocate,$limit_size=10000000){
$allowed_types=array("mp4","avi","mkv");
if($vdo["name"]!=""){
$fileupload1=$vdo["tmp_name"];
$g_vdo=explode(".",$vdo["name"]);
$ext = strtolower(array_pop($g_vdo));
$file_up=time().".".$ext;
$canUpload=0;
if($vdo["size"]<=$limit_size){
$canUpload=1;
}
if($fileupload1!="" && @in_array($ext,$allowed_types) && $canUpload==1){
@move_uploaded_file($fileupload1,$vdolocate.$file_up);
@chmod($vdolocate.$file_up,0777);
}else{
$file_up="";
}
}
return $file_up; // ส่งกลับชื่อไฟล์
}
?>
<br />
<form action="" method="post" enctype="multipart/form-data" name="form1" id="form1">
<input type="file" name="vdo_upload" id="vdo_upload" />
<input type="submit" name="bt_upload" id="bt_upload" value="Submit" />
</form>
<pre>
<?php
if(isset($_POST["bt_upload"])){
$data_video=upvideo($_FILES['vdo_upload'],"video/");
echo $data_video; // แสดงชื่อไฟล์วิดีโอ สามารถเอาตัวแปรนี้ไปเก็บลงฐานข้อมูลได้
}
?>
</pre>
</body>
</html>
Tag : PHP, XAMPP
|
|
|
|
|
|
Date :
2017-06-24 15:37:14 |
By :
Baitong_ch |
View :
2760 |
Reply :
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
การลดขนาดมี vdo ที่เห็นส่วนใหญ่ 3 กรณีคือ
1) ฝั่ง client ทำการ convert หรือ resize ค่อย upload ไปยัง server(ใช้โปรแกรม convert ทั่วไป)
2) client php-upload VDO ไฟล์ต้นฉบับแล้ว ฝั่ง server ทำการ convert ต่อหลังจาก upload เสร็จ
3) client php-gzip(jszip) and php-upload ไฟล์ต้นฉบับแล้ว ฝั่ง server ทำการ uncompress and convert size ต่อหลังจาก upload เสร็จ
ข้อ 2 ลองดู php-ffmpeg resize
ข้อ 3 ลองดู php-gzip php-zip และก็ php-ffmpeg resize (ส่วนใหญ่ที่เห็นเขาใช้กันคือ zip-->upload-->convert-->save new resolution)
Link :
1) JSZIP http://stuk.github.io/jszip/
2) PHP-ffmpeg [url]https://github.com/hrsh2112/PHP-Video-Converter--Kit--ffmpeg/blob/master/code/demo.php[/url]
Note.
- vdo resize ส่วนใหญ่จะเป็นฝั่ง server-side เพราะฝั่ง client-side โดย web-browser แล้วจะไม่สามารถอ่านไฟล์ขนาดใหญ่เพื่อทำการ resize vdo ก่อน upload ได้ ถ้าพอจะเป็นไปได้คงเป็น windows-app ซึ่งจะใช้ library ffmpeg มา resize ได้
- ฝั่ง client ส่วนจะกำหนดขนาดของ resolution ขนาดของ vdo(WxH) ตอนแสดงเท่านั้น ขนาดไฟล์ยังเท่าเดิม นอกจากเราจะบันทึกทับไปก่อน หรือ convert ไฟล์เองก่อน ค่อย upload
- แต่ก็มีคนเอา ffmpeg แอพมาทำเป็น javascript client-side https://github.com/bgrins/videoconverter.js
- ฝั่ง server-side คือถ้า vdo อยู่ที่ server แล้ว server-side ก็จะมี Library หลายตัวที่กำหนด resize แล้วส่ง vdo ไปที่ client
|
ประวัติการแก้ไข 2017-06-25 03:49:27
|
|
|
|
Date :
2017-06-25 03:45:31 |
By :
ccjpn |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลองคิดเล่นๆ
นอกจากต้องใช้ storage ขนาดใหญ่เพื่อเก็บ video แล้ว
ถ้า server ไม่แรงพอนี่ เป็นการหาเรื่องให้ server ล่มง่ายๆ เลยนะเนี่ย
ลอง check performance ดีๆ ล่ะ แล้วก็ค่า hardware น่าจะหลายตังค์อยู่นะ
|
|
|
|
|
Date :
2017-06-26 10:19:10 |
By :
ห้ามตอบเกินวันละ 2 กระทู้ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 00
|