作者: iambenzhk 時間: 2017-6-23 03:11 標題: >< >< 用咩方法protect d相同片最好???
問題是這樣的, iOS 10出左之後問題多到爆
我個web server會upload相同片, 之後片就用JPlayer去播,
而家用htaccess detect resources folder, 就redirect去 getresource.php 去gen.返D片同相出黎,
點知iOS 10而家睇唔到片, 但desktop 既browser同android都無問題><
有無大大遇過呢個問題??? iOS block左redirect function???
作者: 7h1r733n 時間: 2017-6-23 10:59
本帖最後由 7h1r733n 於 2017-6-23 11:57 編輯
Ios10 唔可以autoplay
作者: iambenzhk 時間: 2017-6-23 11:52
回覆 2# 7h1r733n
我試過用jplayer set左auto play attr都唔得T_T 但android, desktop browser全部都work T_T
作者: 7h1r733n 時間: 2017-6-23 11:57
回覆 7h1r733n
我試過用jplayer set左auto play attr都唔得T_T 但android, desktop browser全部都work ...
iambenzhk 發表於 2017-6-23 11:52
sorry.. 我想話iOS10係唔可以autoplay.. 打錯字. ~_~"
作者: iambenzhk 時間: 2017-6-23 11:58
回覆 4# 7h1r733n
點解ios要咁做T_T
咁ios用咩player播mp4好?
作者: 7h1r733n 時間: 2017-6-23 12:04
你有冇試過就咁用html video tag得唔得?
或者direct link to果個file....
作者: iambenzhk 時間: 2017-6-23 23:08
回覆 6# 7h1r733n
direct link完全無問題~~
一htaccess protect, 加redirect去php就唔得
作者: KinChungE 時間: 2017-6-23 23:09
慳電
https://techcrunch.com/2017/06/05/auto-play-block/
下代macOS都一樣會block埋video autoplay
作者: 7h1r733n 時間: 2017-6-23 23:10
回覆 7h1r733n
direct link完全無問題~~
一htaccess protect, 加redirect去php就唔得 ...
iambenzhk 發表於 2017-6-23 23:08
我有個問題.. 你個getresource.php 主要用黎做乜.. 點gen出黎?
作者: 7h1r733n 時間: 2017-6-23 23:23
佢direct link果個file得..有可能係個php出事.
作者: iambenzhk 時間: 2017-6-24 02:07
回覆 10# 7h1r733n
但其他機android, desktop都無事。
個getresource.php 會check client有無login先用php readmp4() function gen.返條片出黎XD
- <?php
- $path = 'file.mp4';
- $size=filesize($path);
- $fm=@fopen($path,'rb');
- if(!$fm) {
- // You can also redirect here
- header ("HTTP/1.0 404 Not Found");
- die();
- }
- $begin=0;
- $end=$size;
- if(isset($_SERVER['HTTP_RANGE'])) {
- if(preg_match('/bytes=\h*(\d+)-(\d*)[\D.*]?/i', $_SERVER['HTTP_RANGE'], $matches)) {
- $begin=intval($matches[0]);
- if(!empty($matches[1])) {
- $end=intval($matches[1]);
- }
- }
- }
- if($begin>0||$end<$size)
- header('HTTP/1.0 206 Partial Content');
- else
- header('HTTP/1.0 200 OK');
- header("Content-Type: video/mp4");
- header('Accept-Ranges: bytes');
- header('Content-Length:'.($end-$begin));
- header("Content-Disposition: inline;");
- header("Content-Range: bytes $begin-$end/$size");
- header("Content-Transfer-Encoding: binary\n");
- header('Connection: close');
- $cur=$begin;
- fseek($fm,$begin,0);
- while(!feof($fm)&&$cur<$end&&(connection_status()==0))
- { print fread($fm,min(1024*16,$end-$cur));
- $cur+=1024*16;
- usleep(1000);
- }
- die();
作者: 7h1r733n 時間: 2017-6-24 03:59
回覆 7h1r733n
但其他機android, desktop都無事。
個getresource.php 會check client有無login先用php ...
iambenzhk 發表於 2017-6-24 02:07
你呢個file.. windows都play唔到..
作者: iambenzhk 時間: 2017-6-24 04:15
回覆 12# 7h1r733n
php program黎XD file放哂係web server到><
作者: 7h1r733n 時間: 2017-6-24 04:17
本帖最後由 7h1r733n 於 2017-6-24 05:49 編輯
我知.. 我話你個file... o系chrome都play唔到..
根本你果個php就唔work.. 一play就stop...
算啦.. 等叔叔幫吓你啦.. 助人為快樂之本...
- <?php
- $file = "file.m4a";
- $size = filesize( $file ) ;
- header( "Accept-Ranges: bytes" ) ;
- $handle = fopen($file, 'rb');
- if ($handle === false)
- return false;
- if( isset( $_SERVER['HTTP_RANGE'] ) ) {
- $r=explode('=', $_SERVER['HTTP_RANGE'])[1];
- list($start, $end) = explode('-', $r);
- header('HTTP/1.1 206 Partial Content');
- if(stripos($_SERVER['HTTP_USER_AGENT'],"iPod") || stripos($_SERVER['HTTP_USER_AGENT'],"iPhone") || stripos($_SERVER['HTTP_USER_AGENT'],"iPad")){
- header('Content-Length: ' . ($end - $start +1));
- header('Content-Range: bytes ' . $r . '/' . $size);
- }else
- header('Content-Range: bytes '.$start.'-'.($size - 1).'/'.$size);
-
- fseek($handle, $start);
- }else
- header('Content-Length: ' . $size);
- header('Content-type: video/mp4');
- header('Etag: "' . md5( $_SERVER["REQUEST_URI"] ) . $size . '"' );
- header("Last-Modified: " . gmdate( "D, d M Y H:i:s", filemtime($file)) . " GMT");
- @ob_end_clean();
- while (!feof($handle) && connection_status() == 0 && !connection_aborted()) {
- set_time_limit(0);
- $buffer = fread($handle,16384);
- echo $buffer;
- @flush();
- @ob_flush();
- }
- fclose($handle);
- exit(0);
作者: iambenzhk 時間: 2017-6-24 12:01
回覆 14# 7h1r733n
Etag係咩黎?@@ 點解要用md5加密佢?@@ 我係google search左幾日無人咁做XD
Thanks 大師兄, 我一陣試下
作者: 7h1r733n 時間: 2017-6-24 13:34
回覆 7h1r733n
Etag係咩黎?@@ 點解要用md5加密佢?@@ 我係google search左幾日無人咁做XD
Thanks 大師 ...
iambenzhk 發表於 2017-6-24 12:01
Etag
http://blog.csdn.net/21aspnet/article/details/6604789
作者: iambenzhk 時間: 2017-6-24 16:56
回覆 16# 7h1r733n
多謝你, 又學到新野, 要星期一返到office先試到, 有野唔明再問你-v- 好感激!!!!!

