Header Ads

Download video from facebook - Các web phim đã giảm 99.99% chi phí bằng Facebook

Bài viết này cá nhân mình sẽ phân tích cách tải một video từ Facebook - và mô phỏng cách hoạt động của các web phim sử dụng facebook để lưu video nhằm tiết kiệm chi phí dữ liệu cũng như băng thông. Tiêu đề giật tít tý 


Các web phim đã giảm 99.99% chi phí bằng Facebook như thế nào


Chuyện bắt đầu khi mình vừa cày xong vài bộ anime khá hay , mình tự đặt ra câu hỏi là khi Google drive không còn lưu phim tốt như trước, thì các website hiện nay lưu video tại đâu? 

 Tìm hiểu video trên website phim

Trở lại với bộ anime mình đã xem với View page source (Ctrl + U) và Inspect in Chrome mình thấy video có đường dẫn từ facebook.


Mình thử các trang khác cũng tương tự như vậy. Vậy là đa số các web phim hiện nay đã upload video lên facebook sau đó phát lại trên website.


Upload video lên Facebook

Mình vào Facebook tạo 1 page mới là: https://www.facebook.com/940863846094937/
Sau đó mình tải video trên web anime trên và upload vào thư viện video dưới dạng Thêm dưới dạng video bí mật.

Danh sách video upload lên facebook

Đây là video mình đã upload lên facebook:



Với chức năng chèn của video facebook có thể copy đường dẫn ( postVideo )trên dán vào đây là hiển thị video rồi.
Nhưng quay lại trang Animehay thì src của video là file có đuôi mp4 và là link video đích có thể phát mà không thể tìm được tên fanpage hay là địa chỉ video post trên facebook. Vậy làm thế nào để lấy được video HD dạng link đích như vậy?


Url Video Facebook

View page source (Ctrl + U) trang https://www.facebook.com/940863846094937/videos/941476929366962/ và tìm kiếm bằng từ khóa là "mp4" có rất nhiều kết quả nhưng mình chú ý đến đoạn có giá trị bắt đầu là: hd_src_no_ratelimit và sd_src_no_ratelimit.
Tất nhiên, hd_src_no_ratelimit có nghĩa là chất lượng video cao và sd_src_no_ratelimit cho chất lượng chuẩn.
Thử copy chạy link vào tab mới tập phim được phát ngay trên trình duyệt. Vậy là các webphim như animehay đã upload video lên facebook sau đó lấy link hd_src_no_ratelimit để phát lại trên website của họ.
Mình đã làm tương tự 1 trang như vậy tại đây: https://nhatkythuthuat.com/movie/darling-in-the-franxx/?ep=20

Đã giải đáp được câu hỏi lúc đầu tự đưa ra mình chia sẻ link trên cho bạn bè, các bạn khác đều xem được và rất mượt.

Thời gian tồn tại của Url Video

Ngày hôm sau tôi vào lại trang https://nhatkythuthuat.com/movie/darling-in-the-franxx/?ep=20 thì video không còn hiển thị nữa và có thông báo như sau: :cry:

Sau khi copy đoạn text trên vào google thị đại loại là đường dẫn video như thế này chỉ tồn tại một thời gian ngắn lúc từ lúc được tạo ra.

Vậy các web phim đã tự động tạo ra các link video mp4 từ link video facebook như thế nào?

Sử dụng code lấy Url Video từ Post Video

Quay lại vấn đề chính thì urlVideo sẽ được lấy khi View page source (Ctrl + U) postVideo vậy chỉ cần lấy urlVideo mới là được.

  1. Mình sẽ dùng Php curl để lấy toàn bộ nội dung như khi Ctrl + U
  2. Sau đó dùng getBetween để lấy urlVideo nằm sau đoạn hd_src_no_ratelimit


function videoFb($videoUrl){
    $ch = curl_init($videoUrl);
    curl_setopt( $ch, CURLOPT_POST, false );
    curl_setopt( $ch, CURLOPT_FOLLOWLOCATION, true );
    curl_setopt( $ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U;   Windows NT 5.0; en-US; rv:1.7.12) Gecko/20050915 Firefox/1.0.7");
    curl_setopt( $ch, CURLOPT_HEADER, false );
    curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
    $data = curl_exec( $ch );
    curl_close($ch );
    $html_encoded = htmlentities($data);

    if (stripos($data,"hd_src_no_ratelimit:")!=false && stripos($data, "aspect_ratio")!=false) {
        $start = "hd_src_no_ratelimit:";
        $end = ",aspect_ratio";
        $output = getBetween($data,$start,$end);
    } else {
        $output = "";
    }
    return $output;
}
function getBetween($content,$start,$end){
    $r = explode($start, $content);
    if (isset($r[1])){
        $r = explode($end, $r[1]);
        return $r[0];
    }
    return '';
    }
?>
Kết quả khi truyền vào postVideo qua đoạn php trên sẽ trả về urlVideo :love:
Thường quá trình này xử lý sẽ mất tầm 3s cho nên các web phim thường có 1 đoạn video quảng cáo ngắn 1 phần để quảng cáo tạo danh thu và đủ thời gian để load được urlVideo. Mình cũng chưa biết urlVideosẽ tồn tại bao lâu nếu như 3h thì cứ sau 3h tạo mới urlVideo thông qua đoạn code trên sẽ tiết kiệm thời gian.

Như vậy các web phim đã upload video lên Facebook sau đó qua code sẽ lấy đc urlVideo và phát lại trên website.

Vấn đề mình còn chưa rõ là tại sao 20 video tải về upload lên lại fb thì có 6/20 video bị dính bản quyền âm thanh! Vậy các website phim đã lách luật như thế nào?Tách riêng video và âm thanh Hay là postVideo lên trang cá nhân hoặc nhóm?
 Bài viết được sưu tầm từ nguồn: Nhật kí thủ thuật
Được tạo bởi Blogger.