kiến thức Tổng hợp những addon chất cho Firefox / Chromium

Ngon xài cái này không chỉ xài chung 1 nút với MPV mà còn chỉnh được độ dài của title :p

Mà hóa ra cái nút MPV NOYTDL không hề phí phạm, nó chỉ chuyển hóa từ dạng này sang dạng khác :D
Sửa thành như sau:
Thế là có một nút xổ <video> element ngon lành cành đào. :love:

Chỉnh thành Video Context là nó hỗ trợ bật sang MPV mà thậm chí không cần cái M3U8 Downloader bên trên, cái bên trên sẽ chuyên trị M3U8 còn MPV YTDLP trị <video> element.
 
Có plugin nào mà thay đổi setting language cho những web riêng lẻ ko các thím ?

Bạn thử cái này xem sao: https://addons.mozilla.org/en-US/firefox/addon/languageswitch/

Thêm Việt Nam vào bằng cách dùng vi-VN vì mặc định nó hỗ trợ vài ngôn ngữ bên trời Tây, tham khảo thêm mã ngôn ngữ để tự thêm vào tại đây: http://www.lingoes.net/en/translator/langcode.htm

Xem mã nguồn thì nó ngon nhất quả đất rồi không chỉ đổi header Accept-Language còn đổi cả navigator Javascript nữa.

Cái này đổi Accept-Language thôi những hồ trợ đặt theo tên miền: https://addons.mozilla.org/en-US/firefox/addon/accept-language-per-site/
 
Bạn thử cái này xem sao: https://addons.mozilla.org/en-US/firefox/addon/languageswitch/

Thêm Việt Nam vào bằng cách dùng vi-VN vì mặc định nó hỗ trợ vài ngôn ngữ bên trời Tây, tham khảo thêm mã ngôn ngữ để tự thêm vào tại đây: http://www.lingoes.net/en/translator/langcode.htm

Xem mã nguồn thì nó ngon nhất quả đất rồi không chỉ đổi header Accept-Language còn đổi cả navigator Javascript nữa.

Cái này đổi Accept-Language thôi những hồ trợ đặt theo tên miền: https://addons.mozilla.org/en-US/firefox/addon/accept-language-per-site/

Thank fen. Để mình thử .
Tiện thể thím biết addon chụp screenshot trên FF ko ?

Sent from Google Pixel 6a using vozFApp
 
Thank fen. Để mình thử .
Tiện thể thím biết addon chụp screenshot trên FF ko ?

Sent from Google Pixel 6a using vozFApp

Thật ra không cần addon đâu bạn, mình toàn dùng cái nút Take Screenshot mặc định của Firefox cho đỡ phải cài thêm addon vì trước có vụ mấy người dùng Chrome chỉ vì cài extension chụp trang web mà dính extension chứa malware (Chi tiết: đâyđây), trong khi bản thân Chrome hỗ trợ tính năng này, cụ thể:

- Ấn Ctrl + Shift + I, chỉnh:

Sau đó sẽ có nút Take Screenshot khi ấn chuột phải:

2018-04-19-05-49-06-164ced.png


Còn nếu bạn muốn chụp xong upload thẳng lên trang web, dùng ShareX: https://voz.vn/t/tong-hop-nhung-addon-chat-cho-firefox-pc-mobile.682181/post-23502764
 
Last edited:
Cách này có tải được video của chillhat chấm net ko thím. Server S của nó f12 lên là bị chặn :(

Gửi từ Samsung SM-A225F bằng vozFApp

Giờ mạng mới đủ nhanh để load trang.
F12 thì mình tìm ra cách vượt rồi, cơ mà trang này cái server S nó dùng blob: để chạy stream nên M3U8 Downloader không bắt link được. Nhưng mà các server khác thì chắc có thể.

Nhìn chung đợi khi hết hẳn đứt cáp quang biển mình mới có thể test được chứ hiện tại vào trang đó cũng phải proxy đủ kiểu mới load được nản lắm.

Còn code chống devtool của nó đây, rất dễ hiểu là nó thấy devtool thì chuyển hướng trang sang một trang phế vật để người dùng không vọc trang nó được nữa, dùng uBlock scriptlets chém nó đi là xong:

Code:
$(document).ready(function () {
  var _0x281534 = navigator.platform || 'no'
  ;(_0x281534 == 'Win32' || _0x281534 == 'MacIntel') &&
    (typeof devtoolsDetector === 'undefined'
      ? (window.location.href = 'https://playhq.net')
      : (devtoolsDetector.launch(),
        devtoolsDetector.addListener(function (_0xbcf0a5) {
          _0xbcf0a5 && (window.location.href = 'https://playhq.net')
        })))
})
 
Giờ mạng mới đủ nhanh để load trang.
F12 thì mình tìm ra cách vượt rồi, cơ mà trang này cái server S nó dùng blob: để chạy stream nên M3U8 Downloader không bắt link được. Nhưng mà các server khác thì chắc có thể.

Nhìn chung đợi khi hết hẳn đứt cáp quang biển mình mới có thể test được chứ hiện tại vào trang đó cũng phải proxy đủ kiểu mới load được nản lắm.

Còn code chống devtool của nó đây, rất dễ hiểu là nó thấy devtool thì chuyển hướng trang sang một trang phế vật để người dùng không vọc trang nó được nữa, dùng uBlock scriptlets chém nó đi là xong:

Code:
$(document).ready(function () {
  var _0x281534 = navigator.platform || 'no'
  ;(_0x281534 == 'Win32' || _0x281534 == 'MacIntel') &&
    (typeof devtoolsDetector === 'undefined'
      ? (window.location.href = 'https://playhq.net')
      : (devtoolsDetector.launch(),
        devtoolsDetector.addListener(function (_0xbcf0a5) {
          _0xbcf0a5 && (window.location.href = 'https://playhq.net')
        })))
})

Code này gắn vào đâu vậy bác :p
Đa tạ bác 😍

Gửi từ Samsung SM-A225F bằng vozFApp
 
Code này gắn vào đâu vậy bác :p
Đa tạ bác 😍

Gửi từ Samsung SM-A225F bằng vozFApp

Mở devtool ngon lành nhé, mỗi cái video nó dùng blob: nên mình chưa tìm ra cách bật MPV được, cơ mà kiểu gì cũng có cách miễn là cố đến mức nào thôi :D

Zk8LHUa


Còn bạn dùng set-constant của uBlock rồi chặn cái object devtoolsDetector.launch với devtoolsDetector.addListener đi là nó tịt ngòi. uBlock bản thân nó là một công cụ thâm nhập mã nguồn trang web cực mạnh mà nếu bạn biết dùng thì không có trang chặn devtool nào bạn không phá được cả, quan trọng là biết chút kỹ năng RE Javascript để khôi phục mã nguồn gốc trước khi bị "mã hóa" để đọc code, sau đó lấy uBlock ra chặt chém là xong.
 
Last edited:
Giờ ngon đến mức xem cả Nicovideo nhẹ nhàng đằm thắm :D

Video: https://gfycat.com/AccurateBelatedChipmunk

Nhìn chung là xử lý được tầm 90% thể loại trang, trừ mấy trang dùng .html giả làm file .ts thì khó, nói chung mình chưa thử vì tụi này hiếm, lại chỉ có ở mấy trang Việt Nam nên chưa có ví dụ thực tế để test. Nếu mà bạn nào kiếm được thì cứ ném lên mình test thử, cơ mà hiện tại cũng hài lòng với những gì mình đang có rồi. :D
Hình như còn tùy host hay sao ấy thím, giống cái link của thím kia https://anime47.com/xem-phim-kage-no-jitsuryokusha-ni-naritakute-ep-01/191712.html thì 2 cái host đầu coi ok còn cái host Wa thì bên em lấy được link từ M3U8 nhưng mà lại không coi được.
Hoặc là trang xem bóng đá kiểu như https://cakhia.cakhia26.tv/ em thấy không thấy thằng nào bắt được link của nó (nếu thím muốn test thì vào buổi tối nó đẩy mấy host của nó lên kiểu SD1 / HD1 / SD2 / HD2 này nọ)
Còn trang nước ngoài thì kiểu trang này https://watchwrestling.ai/watch-wwe-rivals-hulk-hogan-vs-andre-the-giant-s2e1-2-19-23/ mặc dù nó là Dailymotion nhưng mà hình như M3U8 cũng không lấy được link đúng để xem (hình như do thằng ad nó chỉnh private bên Dailymotion của nó)
 
Hình như còn tùy host hay sao ấy thím, giống cái link của thím kia https://anime47.com/xem-phim-kage-no-jitsuryokusha-ni-naritakute-ep-01/191712.html thì 2 cái host đầu coi ok còn cái host Wa thì bên em lấy được link từ M3U8 nhưng mà lại không coi được.
Hoặc là trang xem bóng đá kiểu như https://cakhia.cakhia26.tv/ em thấy không thấy thằng nào bắt được link của nó (nếu thím muốn test thì vào buổi tối nó đẩy mấy host của nó lên kiểu SD1 / HD1 / SD2 / HD2 này nọ)
Còn trang nước ngoài thì kiểu trang này https://watchwrestling.ai/watch-wwe-rivals-hulk-hogan-vs-andre-the-giant-s2e1-2-19-23/ mặc dù nó là Dailymotion nhưng mà hình như M3U8 cũng không lấy được link đúng để xem (hình như do thằng ad nó chỉnh private bên Dailymotion của nó)

À, cái server Wa mình tìm ra nguyên nhân rồi, sử dụng con proxy thâm nhập của mình thì nó sử dụng anti-hotlink để chuyển hướng sang cloudflare.com, cách xử lý thì vừa dễ vừa khó là nếu khai báo y xì nội dung các header như của Firefox thì sẽ xem được, tuy nhiên sẽ cần sử dụng tính năng script của External Application để lấy giá trị header rồi gửi cho MPV, và mình nghĩ là đa phần các trang khác cũng có thể khắc phục bằng cách gửi y xì header cho MPV từ Referer cho tới Cookie, User-Agent, trừ một trường hợp khó nhất là TLS Fingerprint vì bọn này nó đòi dấu vân của gói tin SSL phải giống hệt trình duyệt web, mà MPV thì không thể giả sâu tới vậy được.

Còn cái bị chuyển hướng chính xác là cái link này, để ý thấy đây là cách người Việt sử dụng khá nhiều để giả file .ts hay .mp4 thành .png để ăn gian trên một số dịch vụ, ấn vào sẽ thấy bị chuyển qua cloudflare.com vì Referer không phải là anime47: https://hls.anime47.com/hls/ZzVDOVp...1ajUxQjl0NDhKQzZac2xyczdFSWNVd21jTVRFQg==.png

Tuy nhiên nếu mình fake Referer thành anime47 thì kết quả lại load ngon lành :D
Và link thật sau khi được "bóc tách": https://lh3.googleusercontent.com/D...ljPg_uIHAeN8En4ra2OrPcLUPK4GWbxQlZ6-omvJu9=s0

Cập nhập tiếp là đã vượt qua anti-hotlink của nó và load được đến file video, tuy nhiên điều đáng buồn là MPV không chịu load vì file video bị fake thành file ảnh, giáp pháp mình sẽ thử là đổi Content-Type của nó thành video/mp4, sẽ cập nhập tiếp:
Để ý thấy link video bị đổi content-type thành image/jpeg:
Sau khi test thử thì mình tìm ra là file video này bị "fake sâu" thành ảnh, nghĩa là trong file đó chứa header khiến các phần mềm khác đọc dữ liệu trên thành ảnh, nghĩa là header ảnh đó, phải loại bỏ nó đi mới xem trên MPV được nghĩa là độ khó ở mức cao đấy :D


Đoạn màu đỏ là đoạn bị fake thành file ảnh, phần bên dưới màu xanh nước biến là file video

https://i.imgur.com/CZ31A1W.png

Xóa thủ công bằng tay, save lại ném vào MPV và hậu quả khôn lường:

https://i.imgur.com/a010K0G.png

Video: https://gfycat.com/ComposedPerkyBoto

Cách duy nhất để mình khiến MPV xem được link dạng này là code một plugin chiết xuất phần xem được của file fake bên trên rồi gửi qua MPV, điều này đòi hòi phải sử dụng con proxy thâm nhập của mình chứ hiện tại không có phần mềm nào cho thay đổi nhiều tới vậy trừ BurpSuite, bạn nào muốn có thể tải BurpSuite về rồi để đặt proxy cho MPV bằng --http-proxy=http://127.0.0.1:8080/ (địa chỉ local của BurpSuite) sau đó tiến hành code plugin chiết xuất bóc tách.

Bài học rút ra:
  • Một số trang sử dụng Referer và Cookie để chồng hotlink, fake là qua
  • MPV không thể tự động bóc tách file giả mạo thành video được, có nên mở Issue trên Github để cải thiện ?

Code:
ProxyRule.py:857[TPP_0]Proxy: Connect to https://hls.anime47.com/m3u8/0cd7f99b84d0ff355a6f6c29f73316c0.m3u8 through RandomProxy socks5://127.0.0.1:9090
OptionRule.py:1341[TPP_0]Fetching socks5://127.0.0.1:9090 https://hls.anime47.com/m3u8/0cd7f99b84d0ff355a6f6c29f73316c0.m3u8
ExtenderRule.py:683[TPP_0]Single Mode because not fulfil https://hls.anime47.com/m3u8/0cd7f99b84d0ff355a6f6c29f73316c0.m3u8
OptionRule.py:1632[TPP_0]socks5://127.0.0.1:9090 GET 206 https://hls.anime47.com/m3u8/0cd7f99b84d0ff355a6f6c29f73316c0.m3u8 - 1.2821156978607178 application/vnd.apple.mpegurl 6808 NOCACHE
ProxyRule.py:857[TPP_2]Proxy: Connect to https://hls.anime47.com/hls/ZzVDOVp4VWkyeG90ODc5L3ZCQStwS3lRZ09kbm1mbkg5RnR1ajUxQjl0NDhKQzZac2xyczdFSWNVd21jTVRFQg==.png through RandomProxy socks5://127.0.0.1:9090
OptionRule.py:1341[TPP_2]Fetching socks5://127.0.0.1:9090 https://hls.anime47.com/hls/ZzVDOVp4VWkyeG90ODc5L3ZCQStwS3lRZ09kbm1mbkg5RnR1ajUxQjl0NDhKQzZac2xyczdFSWNVd21jTVRFQg==.png
ExtenderRule.py:683[TPP_2]Single Mode because not fulfil https://hls.anime47.com/hls/ZzVDOVp4VWkyeG90ODc5L3ZCQStwS3lRZ09kbm1mbkg5RnR1ajUxQjl0NDhKQzZac2xyczdFSWNVd21jTVRFQg==.png
OptionRule.py:1632[TPP_2]socks5://127.0.0.1:9090 GET 302 https://hls.anime47.com/hls/ZzVDOVp4VWkyeG90ODc5L3ZCQStwS3lRZ09kbm1mbkg5RnR1ajUxQjl0NDhKQzZac2xyczdFSWNVd21jTVRFQg==.png - 1.1985831260681152 text/html; charset=UTF-8 0 NOCACHE
OptionRule.py:1341[TPP_1]Fetching NoProxy https://www.cloudflare.com/
ExtenderRule.py:683[TPP_1]Single Mode because not fulfil https://www.cloudflare.com/
ProxyRule.py:857[TPP_3]Proxy: Connect to https://hls.anime47.com/hls/Qmh5Ky9sUEg1aGE0ZFV1L1hPYmRNYjBGY0hvdkc1QmUxOU02SVA0YjQwZlZGWjJVQll4RFJmaDYrRG1uQXYvUA==.png through RandomProxy socks5://127.0.0.1:9090
OptionRule.py:1341[TPP_3]Fetching socks5://127.0.0.1:9090 https://hls.anime47.com/hls/Qmh5Ky9sUEg1aGE0ZFV1L1hPYmRNYjBGY0hvdkc1QmUxOU02SVA0YjQwZlZGWjJVQll4RFJmaDYrRG1uQXYvUA==.png
ExtenderRule.py:683[TPP_3]Single Mode because not fulfil https://hls.anime47.com/hls/Qmh5Ky9sUEg1aGE0ZFV1L1hPYmRNYjBGY0hvdkc1QmUxOU02SVA0YjQwZlZGWjJVQll4RFJmaDYrRG1uQXYvUA==.png
OptionRule.py:1632[TPP_1]NoProxy GET 200 https://www.cloudflare.com/ - 0.23882699012756348 text/html; charset=utf-8 299370 NOCACHE
OptionRule.py:1632[TPP_3]socks5://127.0.0.1:9090 GET 302 https://hls.anime47.com/hls/Qmh5Ky9sUEg1aGE0ZFV1L1hPYmRNYjBGY0hvdkc1QmUxOU02SVA0YjQwZlZGWjJVQll4RFJmaDYrRG1uQXYvUA==.png - 0.3095824718475342 text/html; charset=UTF-8 0 NOCACHE
OptionRule.py:1341[TPP_0]Fetching NoProxy https://www.cloudflare.com/
ExtenderRule.py:683[TPP_0]Single Mode because not fulfil https://www.cloudflare.com/
OptionRule.py:1735[TPP_0]
OptionRule.py:1736[TPP_0]Connection aborted by client
OptionRule.py:1738[TPP_0]SSLEOFError EOF occurred in violation of protocol (_ssl.c:2393)
OptionRule.py:1740[TPP_0]GET https://www.cloudflare.com/
OptionRule.py:1745[TPP_0]HTTPHeaderDict({'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.19 Safari/537.36', 'Accept': '*/*', 'Range': 'bytes=0-', 'Connection': 'keep-alive', 'Host': 'www.cloudflare.com', 'Cookie': '_ga=GA1.2.987900616.1677121855; _gid=GA1.2.1843636138.1677121855'})
OptionRule.py:1747[TPP_0]HTTPHeaderDict({'Date': 'Thu, 23 Feb 2023 03:17:17 GMT', 'Content-Type': 'text/html; charset=utf-8', 'Transfer-Encoding': 'chunked', 'Connection': 'keep-alive', 'CF-Ray': '79dccebf59af24c3-HKG', 'Age': '29', 'Cache-Control': 'max-age=120', 'Expires': 'Thu, 23 Feb 2023 03:16:52 GMT', 'Last-Modified': 'Thu, 23 Feb 2023 03:10:22 GMT', 'Strict-Transport-Security': 'max-age=31536000', 'Vary': 'Accept-Encoding', 'CF-Cache-Status': 'HIT', 'X-Content-Type-Options': 'nosniff', 'X-Frame-Options': 'SAMEORIGIN', 'x-rm': 'RDWD', 'X-XSS-Protection': '1; mode=block', 'Set-Cookie': '__cf_bm=7qcIYqjWU5O8sVC5QomShOamnUNTJLvZWaUB_CduKd0-1677122237-0-AXhrZM3ppq0uhsshzuW48C3NxnrljY6j0ZhuwUuQHZ6OGWa4CdO+q/os33nqWQ+yQNdRtMbn6l2Tf+aztMd7DROAO1WvJbF3V5BFSFEQot8S; path=/; expires=Thu, 23-Feb-23 03:47:17 GMT; domain=.www.cloudflare.com; HttpOnly; Secure; SameSite=None', 'Server-Timing': 'cf-q-config;dur=3.9999995351536e-06', 'Report-To': '{"endpoints":[{"url":"https:\\/\\/a.nel.cloudflare.com\\/report\\/v3?s=GMXH%2Fn7cCUKf%2BcoiZa6zTl6BRw54kchVfVOhlTqQuiczgjEMJa4uIe%2BfsxaE3t86%2B0l%2BjcLV5h%2FvG4tG2wJBTu8RbKMbryLyics%2BmeE2VvfxK4s7UjkZtyRb4hUHpw%2BiY87gpQ%3D%3D"}],"group":"cf-nel","max_age":604800}', 'NEL': '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}', 'Server': 'cloudflare', 'alt-svc': 'h3=":443"; ma=86400, h3-29=":443"; ma=86400'})
OptionRule.py:1749[TPP_0]200
OptionRule.py:1751[TPP_0]OK
OptionRule.py:1753[TPP_0]

Mấy cái kia chắc mình test sau, mạng giờ toàn phải test buổi đêm mới được.
 
Last edited:
Mở devtool ngon lành nhé, mỗi cái video nó dùng blob: nên mình chưa tìm ra cách bật MPV được, cơ mà kiểu gì cũng có cách miễn là cố đến mức nào thôi :D


Còn bạn dùng set-constant của uBlock rồi chặn cái object devtoolsDetector.launch với devtoolsDetector.addListener đi là nó tịt ngòi. uBlock bản thân nó là một công cụ thâm nhập mã nguồn trang web cực mạnh mà nếu bạn biết dùng thì không có trang chặn devtool nào bạn không phá được cả, quan trọng là biết chút kỹ năng RE Javascript để khôi phục mã nguồn gốc trước khi bị "mã hóa" để đọc code, sau đó lấy uBlock ra chặt chém là xong.
1677141188335.png

đoạn code có phải thêm vào đây không bác ơi
 
View attachment 1679657
đoạn code có phải thêm vào đây không bác ơi

Không phải đoạn code đó, đoạn code đó là code mình giải mã từ trang trên, là cái code mà họ dùng để phát hiện ra ai đang bật F12 hay còn gọi là devtool đó.

Ý mình là dùng scriptlets set-constant của uBlock ấy, hướng dẫn: https://github.com/gorhill/uBlock/wiki/Resources-Library#set-constantjs-

Code:
play.plhqtvhay.xyz##+js(set, devtoolsDetector.launch, undefined)
play.plhqtvhay.xyz##+js(set, devtoolsDetector.addListener, undefined)

Code này tạm thời sẽ hoạt động nhưng mấy ông lỏi Việt Nam nằm vùng ghê lắm, họ sửa cái vụt thì bạn sẽ cần phải tự mò tiếp đó.
 
Last edited:
Không phải đoạn code đó, đoạn code đó là code mình giải mã từ trang trên, là cái code mà họ dùng để phát hiện ra ai đang bật F12 hay còn gọi là devtool đó.

Ý mình là dùng scriptlets set-constant của uBlock ấy, hướng dẫn: https://github.com/gorhill/uBlock/wiki/Resources-Library#set-constantjs-

Code:
play.plhqtvhay.xyz##+js(set, devtoolsDetector.launch, undefined)
play.plhqtvhay.xyz##+js(set, devtoolsDetector.addListener, undefined)
mình anti chặn dc rồi.. mà nó ra link blob khó chịu vãi :beat_brick:
 
mình anti chặn dc rồi.. mà nó ra link blob khó chịu vãi :beat_brick:

blob là dạng link giống như stream, cơ mà nó cho phép trang web thay đổi nội dung file video trước khi ném vào trình xem phim HTML5 trên trình duyệt, mà lý do chính ở đây là cái dữ liệu video trước khi cho vào blob ấy, nó bị mã hóa, nên trang web phải giải mã hóa thì trình xem phim mới đọc được.

Để mình lấy ví dụ cho dễ hiểu:

Cái cục này là cục blob, ban đầu nó trống rỗng <>
Khi mà mở trang web xem phim lên, dữ liệu nó gửi về sẽ bị mã hóa, kiểu [MÃ HÓA]
Thì trước khi ném vào cục blob trên, phải giải mã bằng Javascript mà luôn luôn có code giải mã ở trang web trên, để [MÃ HÓA] -> [DỮ LIỆU PHIM]
Rồi dữ liệu phim sẽ được nhồi vào blob <> thành:
<[DỮ LIỆU PHIM][DỮ LIỆU PHIM][DỮ LIỆU PHIM][DỮ LIỆU PHIM][DỮ LIỆU PHIM][DỮ LIỆU PHIM][DỮ LIỆU PHIM][DỮ LIỆU PHIM]>

Đó là cái mà bạn thấy khi xem phim ở những trang sử dụng blob. Nghĩa là người dùng thường cố gắng tải về nó sẽ thành:
<[MÃ HÓA][MÃ HÓA][MÃ HÓA][MÃ HÓA][MÃ HÓA][MÃ HÓA][MÃ HÓA][MÃ HÓA][MÃ HÓA][MÃ HÓA][MÃ HÓA][MÃ HÓA]>

Nghĩa là công cốc vì đống đó ngang với rác rưởi ở sông Tô Lịch.

Đó là tất cả bí mật đằng sau blob, đơn giản là để chống người dùng tải phim. Tất nhiên nếu cao tay có thể giải mã blob được, cơ mà mình không ham vụ này tốn thời gian bỏ mợ. :D

Nên chọn trang web nào ngon lành kiểu trang anime bốn mươi bảy bên trên họ cho link tải tử tế chứ mấy ông thậm thà thậm thụt chơi với mấy ông này mệt lắm.
 
blob là dạng link giống như stream, cơ mà nó cho phép trang web thay đổi nội dung file video trước khi ném vào trình xem phim HTML5 trên trình duyệt, mà lý do chính ở đây là cái dữ liệu video trước khi cho vào blob ấy, nó bị mã hóa, nên trang web phải giải mã hóa thì trình xem phim mới đọc được.

Để mình lấy ví dụ cho dễ hiểu:

Cái cục này là cục blob, ban đầu nó trống rỗng <>
Khi mà mở trang web xem phim lên, dữ liệu nó gửi về sẽ bị mã hóa, kiểu [MÃ HÓA]
Thì trước khi ném vào cục blob trên, phải giải mã bằng Javascript mà luôn luôn có code giải mã ở trang web trên, để [MÃ HÓA] -> [DỮ LIỆU PHIM]
Rồi dữ liệu phim sẽ được nhồi vào blob <> thành:
<[DỮ LIỆU PHIM][DỮ LIỆU PHIM][DỮ LIỆU PHIM][DỮ LIỆU PHIM][DỮ LIỆU PHIM][DỮ LIỆU PHIM][DỮ LIỆU PHIM][DỮ LIỆU PHIM]>

Đó là cái mà bạn thấy khi xem phim ở những trang sử dụng blob. Nghĩa là người dùng thường cố gắng tải về nó sẽ thành:
<[MÃ HÓA][MÃ HÓA][MÃ HÓA][MÃ HÓA][MÃ HÓA][MÃ HÓA][MÃ HÓA][MÃ HÓA][MÃ HÓA][MÃ HÓA][MÃ HÓA][MÃ HÓA]>

Nghĩa là công cốc vì đống đó ngang với rác rưởi ở sông Tô Lịch.

Đó là tất cả bí mật đằng sau blob, đơn giản là để chống người dùng tải phim. Tất nhiên nếu cao tay có thể giải mã blob được, cơ mà mình không ham vụ này tốn thời gian bỏ mợ. :D

Nên chọn trang web nào ngon lành kiểu trang anime bốn mươi bảy bên trên họ cho link tải tử tế chứ mấy ông thậm thà thậm thụt chơi với mấy ông này mệt lắm.
do thằng này nó có phim thuyết minh á thím :(
 
Có bác nào bị hiện tượng xem video từ youtube vào mpv bị có tiếng đen màn không nhỉ, em bị suốt mặc dù cập nhập ytb-dl và mpv bản mới rồi :(
- Trong ảnh là chạy tới 1p27' mà đen thui luôn
 

Attachments

  • 1241241242.png
    1241241242.png
    56.2 KB · Views: 46
Có bác nào bị hiện tượng xem video từ youtube vào mpv bị có tiếng đen màn không nhỉ, em bị suốt mặc dù cập nhập ytb-dl và mpv bản mới rồi :(
là có tiếng nhưng không thấy màn hiện lên/màn tự tắt đi hả bác. Nếu là thế thì thỉnh thoảng em mở playlist cũng bị. Em thấy cứ để đấy nó tự chuyển sang video mới thì có thể sẽ hiện lên lại. Thử dùng mpv.net thì thấy cũng y chang, có cái là nó không tắt màn mà chỉ chuyển qua đen ngòm thôi
Na0MmcP.png
 
Có bác nào bị hiện tượng xem video từ youtube vào mpv bị có tiếng đen màn không nhỉ, em bị suốt mặc dù cập nhập ytb-dl và mpv bản mới rồi :(
- Trong ảnh là chạy tới 1p27' mà đen thui luôn

Do mạng lag nên MPV không load được file video đó, nhiều video chia làm 1 file video 1 file audio, mà file video thường nặng hơn.

Giải pháp là ấn Ctrl + R để reload lại video là ok thôi, hình như uosc có sẵn nút Ctrl + R để reload thì phải, không có thì cài plugin sau làm theo hướng dẫn là sẽ có Ctrl + R để reload:

https://github.com/christoph-heinrich/mpv-quality-menu | Chú ý đoạn Ctrl+r script-binding quality_menu/reload
 
Back
Top