Hãy đăng ký thành viên để có thể dễ dàng trao đổi, giao lưu và chia sẻ về kiến thức đồ họa.
  1. Hãy đăng ký subscribe kênh Youtube mới của Việt Designer tại địa chỉ: Youtube.com/VietDesignerChannel để theo dõi các video về thiết kế đồ họa. Do trước đó kênh cũ bị Youtube quét không rõ lý do, trong thời gian chờ kháng cáo nếu các bạn thấy video trên diễn đàn bị die không xem được thì có thể vào kênh mới để tìm xem video sơ cua nhé.
    Loại bỏ thông báo

Get link stream của 1 trang web

Chủ đề thuộc danh mục 'Hỏi đáp - Thảo luận về web' được đăng bởi Mr_Love, 7/4/15.

Lượt xem: 24,988

  1. msub

    msub Banned

    Ko get dung link roi
  2. Mr_Love

    Mr_Love Mới đăng kí

    msub là sao bạn ?

    zDark Mình thử code của bạn nhưng vẫn không thể play được. Bạn thử play chưa ? :(
    Mình nghĩ vấn đề chắc là do khi truy cập vào trang nó check cái header gì đó, sai thì vẫn hiện link nhưng link này không thể play được.
  3. zDark

    zDark Mới đăng kí

    Bạn play như thế nào?

    Khi xem code, bạn đã biết "cơ chế" hoạt động của code chưa?

    Mình có add header để code tự động dump nội dung m3u8 và download về máy, bạn có thể sử dụng chương trình player nào đó để play thử, VLC chẳng hạn...

    Đây là phần code để embed và play trực tiếp trên website:

    PHP:
    <? php
    /*!
    * (C) vietdesigner.net
    *
    */

    header("Content-Type: text/plain"); // display as plain text

    $url "http://hplus.com.vn/vi/content/detail/vtv6-hd-2129.html"// site url
    $content file_get_contents($url); // get page content html

    preg_match('/<input id="link-live" type="hidden" value="(.*?)"/is'$content$match); // regular expression match

    if (isset($match[1])) { // a match was found
        
    $playlist explode("/"$match[1]); // split url by slash
        
    $playlist end($playlist); // get filename + query (playlist.m3u8?t=...&e=...)

        
    $urlStream str_replace($playlist""$match[1]); // remove filename + query
        
    $urlStream substr($urlStream, -1) == "/" $urlStream $urlStream."/"// forced add trailing slash onto the end of url

        
    $contentStream file_get_contents($match[1]); // get content file m3u8
        
    $contentStream str_replace("chunklist_"$urlStream."chunklist_"$contentStream); // add full url

        // force file download
        
    $filename "vds.".time().".m3u8";// downloaded filename
        
    header("Content-Description: File Transfer");
        
    // header("Content-Type: application/octet-stream");
        
    header("Content-Type: audio/x-mpegurl"); // important
        
    header("Content-Disposition: attachment; filename=".$filename);
        
    header("Content-Transfer-Encoding: binary");
        
    header("Connection: Keep-Alive");
        
    header("Expires: 0");
        
    header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
        
    header("Pragma: public");
        
    header("Content-Length: ".strlen($contentStream));

        echo 
    $contentStream// print to screen
    } else echo "URL stream not found"// a match was not found
    ?>
    Chỉnh sửa lần cuối: 21/4/15
    Mr_Love thích bài viết này
  4. Mr_Love

    Mr_Love Mới đăng kí

    zDark
    Nếu để nguyên hàm như bạn thì khi chạy nó sẽ hiển thị giống download file.
    và download file về rồi play file đó = vlc nhưng không được.

    Mình cần get link nên mình bỏ cái đoạn header đi, và chỉ lấy đến đoạn:

    $playlist = explode("/", $match[1]); // split url by slash$playlist = end($playlist); // get filename + query (playlist.m3u8?t=...&e=...)
    $urlStream = str_replace($playlist, "", $match[1]); // remove filename + query$urlStream = substr($urlStream, -1) == "/" ? $urlStream : $urlStream."/"; // forced add trailing slash onto the end of url
    $contentStream = file_get_contents($match[1]); // get content file m3u8$contentStream = str_replace("chunklist_", $urlStream."chunklist_", $contentStream); // add full url

    sau đó lọc lấy cái đoạn link và echo luôn ra:
    $arr = explode("http://", $contentStream);
    echo "http://" . $arr[1];

    dùng cái link này để mở bằng VLC thì không được.
    Cả 2 cách echo link và download đều thế cả.
    Bạn có thể test tại đây:
    c1: talat247.com/test/test_1. php
    c2: talat247.com/test/test_2. php
  5. hoangngoc72007

    hoangngoc72007 Mới đăng kí

    cho mình hởi là đoạn code trên có còn dùng được không nhỉ, thấy chủ để này lâu quá rồi

Ủng hộ diễn đàn