cảm ơn bác về bài viết. Cách này áp dụng đc cho vieon không bác
Phim bộ ở FPT Play có đặc điểm là một tập được chia thành 2 phần: A và B.
- Mở Notepad, copy đoạn code dưới đây.
- Save thành file là: FPTPLAY_PhimBo.cmd
- Nhấp đúp để chạy.
==> Tự động tải 2 phần A và B về và ghép (join) lại thành 1 file MP4 duy nhất.
Ưu điểm: tốc độ tải nhanh như IDM, file cuối cùng tạo ra là MP4, phim mượt mà ở chỗ ghép nối cuối phần A và đầu phần B, không bị khựng như các phương pháp khác).
Yêu cầu:
- Có 2 file sau: N_m3u8DL-CLI_v2.9.7.exe và ffmpeg.exe đặt trong cùng thư mục với file FPTPLAY_PhimBo.cmd
- Làm phim khác thì sửa dòng set path=D:\Rips\van-cu-thich-em
Mã:@ echo off set path=D:\Rips\van-cu-thich-em echo. set /p folder=Video Name to be saved as: title %folder% echo. mkdir %path%\%folder% set /p streamA=Input M3U8 from stream detector (A): set /p streamB=Input M3U8 from stream detector (B): N_m3u8DL-CLI_v2.9.7.exe "%streamA%" --workDir %path%\%folder% --saveName A --enableDelAfterDone --enableMuxFastStart N_m3u8DL-CLI_v2.9.7.exe "%streamB%" --workDir %path%\%folder% --saveName B --enableDelAfterDone --enableMuxFastStart ffmpeg.exe -i %path%\%folder%\A.mp4 -c copy -bsf:v h264_mp4toannexb -f mpegts %path%\%folder%\A.ts ffmpeg.exe -i %path%\%folder%\B.mp4 -c copy -bsf:v h264_mp4toannexb -f mpegts %path%\%folder%\B.ts ffmpeg.exe -i "concat:%path%\%folder%\A.ts|%path%\%folder%\B.ts" -c copy -bsf:a aac_adtstoasc %path%\%folder%.mp4 del /q %path%\%folder%\*.ts
cảm ơn bác về bài viết. Cách này áp dụng đc cho vieon không bác
ôi, đa tạ bác, hóng hình của bác ạHướng dẫn tải phim trên iQiyi
- Chạy Google Chrome, mở trang https://www.iq.com/, chọn phim muốn rip, chọn độ phân giải cao nhất (free thì chỉ tới 720p)
- Nhấn F12 để vào Dev Tool
- Chọn tab Console
- Dán đoạn code dưới đây vào và nhấn Enter
- Khi nhấn Enter thì sẽ bật ra 01 cửa sổ Save as... thành file M3U8. Lưu lại trên ổ D: chẳng hạn (ví dụ là: D:\phim.m3u8)Mã:javascript:try{var info=playerObject._player._core._movieinfo.originalData.data.program.video;info.forEach(function(item,index){if(item._selected){var m3u8Content="";if(item.m3u8==undefined){try{if(typeof(eval(cmd5x))=="function"){}}catch(e){var req1=new XMLHttpRequest();req1.open("GET","https://static.iqiyi.com/js/common/f6a3054843de4645b34d205a9f377d25.js",false);req1.onload=function(){var script=document.createElement("script");script.text=req1.responseText;document.getElementsByTagName("head")[0].appendChild(script)};req1.send(null)}var fs=item.fs;var content="#EXTM3U\n";fs.forEach(function(fs_i,fs_index){var url=fs_i.l;var prefix="https://data.video.iqiyi.com/videos";var api=prefix+url;try{var t=playerObject._player._core._movieinfo.originalData.data.boss.data.t;api=prefix+url+"&cross-domain=1&t="+t+"&QY00001="+/qd_uid=(\d+)/g.exec(url)[1]+"&ib=4&ptime=0&ibt="+cmd5x(t+/\/(\w{10,})/g.exec(url)[1])}catch(err){}var req=new XMLHttpRequest();req.overrideMimeType("application/json");req.open("GET",api,false);req.onload=function(){var jsonResponse=JSON.parse(req.responseText);content+="#EXTINF:0\n"+jsonResponse["l"]+"\n"};req.send(null)});content+="#EXT-X-ENDLIST";m3u8Content=content}else{m3u8Content=item.m3u8}var blob=new Blob([m3u8Content],{type:"text/plain"});var url=URL.createObjectURL(blob);var title=(document.title.indexOf("-")!=-1?document.title.substring(0,document.title.indexOf("-")):document.title.replace(/\s/,""))+"_"+item.scrsz+"_"+(item.code==2?"H264":"H265")+"_"+document.getElementsByClassName("iqp-time-dur")[0].innerText.replace(/:/,".")+"_"+(item.vsize/1024/1024).toFixed(2)+"MB.m3u8";var aLink=document.createElement("a");aLink.href=url;aLink.download=title;aLink.style.display="none";var event;if(window.MouseEvent){event=new MouseEvent("click")}else{event=document.createEvent("MouseEvents");event.initMouseEvent("click",true,false,window,0,0,0,0,0,false,false,false,false,0,null)}aLink.dispatchEvent(event)}})}catch(err){var info1=playerObject._player.package.engine.adproxy.engine.movieinfo.vidl;info1.forEach(function(item1,index1){if(item1.responseData!=undefined){var info=item1.responseData.data.program.video;info.forEach(function(item,index){if(item._selected){var m3u8Content="";if(item.m3u8==undefined){try{if(typeof(eval(cmd5x))=="function"){}}catch(e){var req1=new XMLHttpRequest();req1.open("GET","https://static.iqiyi.com/js/common/f6a3054843de4645b34d205a9f377d25.js",false);req1.onload=function(){var script=document.createElement("script");script.text=req1.responseText;document.getElementsByTagName("head")[0].appendChild(script)};req1.send(null)}var fs=item.fs;var content="#EXTM3U\n";fs.forEach(function(fs_i,fs_index){var url=fs_i.l;var prefix="https://data.video.iqiyi.com/videos";var api=prefix+url;try{var t=playerObject._player.package.engine.adproxy.engine.movieinfo.current.boss.data.t;api=prefix+url+"&cross-domain=1&t="+t+"&QY00001="+/qd_uid=(\d+)/g.exec(url)[1]+"&ib=4&ptime=0&ibt="+cmd5x(t+/\/(\w{10,})/g.exec(url)[1])}catch(err){console.error(err)}var req=new XMLHttpRequest();req.overrideMimeType("application/json");req.open("GET",api,false);req.onload=function(){var jsonResponse=JSON.parse(req.responseText);content+="#EXTINF:0\n"+jsonResponse["l"]+"\n"};req.send(null)});content+="#EXT-X-ENDLIST";m3u8Content=content}else{m3u8Content=item.m3u8}var blob=new Blob([m3u8Content],{type:"text/plain"});var url=URL.createObjectURL(blob);var title=(document.title.indexOf("-")!=-1?document.title.substring(0,document.title.indexOf("-")):document.title.replace(/\s/,""))+"_"+item.scrsz+"_"+(item.code==2?"H264":"H265")+"_"+document.getElementsByClassName("iqp-time-dur")[0].innerText.replace(/:/,".")+"_"+(item.vsize/1024/1024).toFixed(2)+"MB.m3u8";/*nilaoda*/var aLink=document.createElement("a");aLink.href=url;aLink.download=title;aLink.style.display="none";var event;if(window.MouseEvent){event=new MouseEvent("click")}else{event=document.createEvent("MouseEvents");event.initMouseEvent("click",true,false,window,0,0,0,0,0,false,false,false,false,0,null)}aLink.dispatchEvent(event)}})}})}
- Chạy chương trình N_m3u8DL-CLI để tải file M3U8 nói trên.
- Tải phụ đề tiếng Việt tại trang https://downsub.com/. Nếu trang downsub.com không lấy được phụ đề thì sử dụng đoạn code js (chạy trong console) sau:Mã:N_m3u8DL-CLI_v2.9.7.exe D:\phim.m3u8 --workDir D:\ --saveName phim --enableDelAfterDone --enableMuxFastStart
Mã:javascript:var tvid=playerObject._player.package.engine.adproxy.engine.movieinfo.tvid;var oData=playerObject._player.package.engine.adproxy.engine.episode.EpisodeStore[tvid].movieInfo.originalData;var prefix=oData.data.dstl;var subUrl=oData.data.program.stl[n-1].webvtt;var title=(document.title.indexOf("-")!=-1?document.title.substring(0,document.title.indexOf("-")):document.title.replace(/\s/,""));prompt(title+" [webvtt]",prefix+subUrl);
Chú ý:
oData.data.program.stl[n-1] trong đó n là vị trí của phụ đề tiếng Việt (tính từ trên xuống dưới)
Ví dụ: Trong phim (hay tập phim) vị trí phụ đề tiếng Việt là 4 (tính từ trên xuống dưới) thì: oData.data.program.stl[3]
{{{ nợ hình tối up }}}
có cách nào để tìm Widevine Key ko nhỉ , bây giờ ko tìm dc nữa rồi
bác hướng dẫn vie on luôn nha bácKhông public như trước nữa. Cụ thể phim này trên Disney+ vẫn có web-dl nè.
Cruella 2021 ViE 1080p DSNP WEB-DL DDP5.1 H.264-TOMMY
bác hướng dẫn vie on luôn nha bác
dạ. e mong chờ bài hướng dẫn của bác ạSẽ có hướng dẫn và minh họa bằng phim hot đình đám "Cuộc Chiến Thượng Lưu" phần 3 (đang chiếu tập 1 rồi). Đặc điểm của vieon là streaming bằng HLS và bạn phải tìm file M3U8. Bạn sẽ tải về video chất lượng cao nhất có thể (1080p), audio tiếng gốc, audio thuyết minh (hoặc lồng tiếng tùy phim), phụ đề tiếng Việt. Sau đó mux thành file MKV bằng phần mềm MKVToolNix.
Không public như trước nữa. Cụ thể phim này trên Disney+ vẫn có web-dl nè.
Cruella 2021 ViE 1080p DSNP WEB-DL DDP5.1 H.264-TOMMY
vậy là có cách làm phải không bác
GLXP hiện đang sử dụng Widevine của Google. Đến 15/06 GLXP ra mắt phim "Bố Già" thì cũng sẽ có phim đó trên diễn đàn thôi mà.
ý là bác biết cách tìm mà phải ko
cảm ơn bạn, chúc bạn có ngày tốt lành!Hướng dẫn tải phim trên iQiyi
Kiến thức cơ bản: Làm thế nào mà các trang web có thể phát phim
iQiyi sử dụng HLS và cái bạn đi tìm là link đến tập tin M3U8. Thông thường, tập tin Manifest nằm trên máy chủ và có thể tìm thấy link của nó bằng cách sử dụng Chrome Dev Tool. Tuy nhiên, iQiyi lại không lưu tập tin Manifest trên máy chủ và bằng các kỹ thuật "che code" khiến cho Internet Download Manager (IDM) bó tay. Tập tin Manifest do chính Player của iQiyi trên web browser sinh ra nên để có được tập tin này, chúng ta phải mô phỏng lại cách thức mà Player thực thi để sinh ra tập tin Manifest đó.
- Chạy Google Chrome, mở trang https://www.iq.com/, chọn phim muốn rip, chọn độ phân giải cao nhất (free thì chỉ tới 720p)
- Nhấn F12 để vào Chrome Dev Tool
- Chọn tab Console
- Dán đoạn code dưới đây vào và nhấn Enter
- Khi nhấn Enter thì sẽ bật ra 01 cửa sổ Save as... thành file M3U8. Lưu lại trên ổ D: chẳng hạn (ví dụ là: D:\phim.m3u8)Mã:javascript:try{var info=playerObject._player._core._movieinfo.originalData.data.program.video;info.forEach(function(item,index){if(item._selected){var m3u8Content="";if(item.m3u8==undefined){try{if(typeof(eval(cmd5x))=="function"){}}catch(e){var req1=new XMLHttpRequest();req1.open("GET","https://static.iqiyi.com/js/common/f6a3054843de4645b34d205a9f377d25.js",false);req1.onload=function(){var script=document.createElement("script");script.text=req1.responseText;document.getElementsByTagName("head")[0].appendChild(script)};req1.send(null)}var fs=item.fs;var content="#EXTM3U\n";fs.forEach(function(fs_i,fs_index){var url=fs_i.l;var prefix="https://data.video.iqiyi.com/videos";var api=prefix+url;try{var t=playerObject._player._core._movieinfo.originalData.data.boss.data.t;api=prefix+url+"&cross-domain=1&t="+t+"&QY00001="+/qd_uid=(\d+)/g.exec(url)[1]+"&ib=4&ptime=0&ibt="+cmd5x(t+/\/(\w{10,})/g.exec(url)[1])}catch(err){}var req=new XMLHttpRequest();req.overrideMimeType("application/json");req.open("GET",api,false);req.onload=function(){var jsonResponse=JSON.parse(req.responseText);content+="#EXTINF:0\n"+jsonResponse["l"]+"\n"};req.send(null)});content+="#EXT-X-ENDLIST";m3u8Content=content}else{m3u8Content=item.m3u8}var blob=new Blob([m3u8Content],{type:"text/plain"});var url=URL.createObjectURL(blob);var title=(document.title.indexOf("-")!=-1?document.title.substring(0,document.title.indexOf("-")):document.title.replace(/\s/,""))+"_"+item.scrsz+"_"+(item.code==2?"H264":"H265")+"_"+document.getElementsByClassName("iqp-time-dur")[0].innerText.replace(/:/,".")+"_"+(item.vsize/1024/1024).toFixed(2)+"MB.m3u8";var aLink=document.createElement("a");aLink.href=url;aLink.download=title;aLink.style.display="none";var event;if(window.MouseEvent){event=new MouseEvent("click")}else{event=document.createEvent("MouseEvents");event.initMouseEvent("click",true,false,window,0,0,0,0,0,false,false,false,false,0,null)}aLink.dispatchEvent(event)}})}catch(err){var info1=playerObject._player.package.engine.adproxy.engine.movieinfo.vidl;info1.forEach(function(item1,index1){if(item1.responseData!=undefined){var info=item1.responseData.data.program.video;info.forEach(function(item,index){if(item._selected){var m3u8Content="";if(item.m3u8==undefined){try{if(typeof(eval(cmd5x))=="function"){}}catch(e){var req1=new XMLHttpRequest();req1.open("GET","https://static.iqiyi.com/js/common/f6a3054843de4645b34d205a9f377d25.js",false);req1.onload=function(){var script=document.createElement("script");script.text=req1.responseText;document.getElementsByTagName("head")[0].appendChild(script)};req1.send(null)}var fs=item.fs;var content="#EXTM3U\n";fs.forEach(function(fs_i,fs_index){var url=fs_i.l;var prefix="https://data.video.iqiyi.com/videos";var api=prefix+url;try{var t=playerObject._player.package.engine.adproxy.engine.movieinfo.current.boss.data.t;api=prefix+url+"&cross-domain=1&t="+t+"&QY00001="+/qd_uid=(\d+)/g.exec(url)[1]+"&ib=4&ptime=0&ibt="+cmd5x(t+/\/(\w{10,})/g.exec(url)[1])}catch(err){console.error(err)}var req=new XMLHttpRequest();req.overrideMimeType("application/json");req.open("GET",api,false);req.onload=function(){var jsonResponse=JSON.parse(req.responseText);content+="#EXTINF:0\n"+jsonResponse["l"]+"\n"};req.send(null)});content+="#EXT-X-ENDLIST";m3u8Content=content}else{m3u8Content=item.m3u8}var blob=new Blob([m3u8Content],{type:"text/plain"});var url=URL.createObjectURL(blob);var title=(document.title.indexOf("-")!=-1?document.title.substring(0,document.title.indexOf("-")):document.title.replace(/\s/,""))+"_"+item.scrsz+"_"+(item.code==2?"H264":"H265")+"_"+document.getElementsByClassName("iqp-time-dur")[0].innerText.replace(/:/,".")+"_"+(item.vsize/1024/1024).toFixed(2)+"MB.m3u8";/*nilaoda*/var aLink=document.createElement("a");aLink.href=url;aLink.download=title;aLink.style.display="none";var event;if(window.MouseEvent){event=new MouseEvent("click")}else{event=document.createEvent("MouseEvents");event.initMouseEvent("click",true,false,window,0,0,0,0,0,false,false,false,false,0,null)}aLink.dispatchEvent(event)}})}})}
- Chạy một chương trình M3U8 Downloader ưa thích của bạn (ở đây tôi thường dùng N_m3u8DL-CLI) để tải file M3U8 nói trên.
Mã:N_m3u8DL-CLI_v2.9.7.exe D:\phim.m3u8 --workDir D:\ --saveName phim --enableDelAfterDone --enableMuxFastStart
- Tải phụ đề tiếng Việt tại trang https://downsub.com/. Nếu trang downsub.com không lấy được phụ đề thì sử dụng đoạn code javascripts (chạy trong console) sau {chắc chắn 100% vì code mô phỏng cách thức mà player thực thi, trừ phi iQiyi thay đổi player khác}:
Mã:javascript:var tvid=playerObject._player.package.engine.adproxy.engine.movieinfo.tvid;var oData=playerObject._player.package.engine.adproxy.engine.episode.EpisodeStore[tvid].movieInfo.originalData;var prefix=oData.data.dstl;var subUrl=oData.data.program.stl[n-1].webvtt;var title=(document.title.indexOf("-")!=-1?document.title.substring(0,document.title.indexOf("-")):document.title.replace(/\s/,""));prompt(title+" [webvtt]",prefix+subUrl);
Chú ý:
oData.data.program.stl[n-1] trong đó n là vị trí của phụ đề tiếng Việt (tính từ trên xuống dưới). Vì vị trí của phụ đề tiếng Việt của mỗi phim là khác nhau nên không có một con số chính xác được.
Ví dụ: Trong phim (hay tập phim) [Thuyết minh] Như Ý Phương Phi vị trí phụ đề tiếng Việt là 4 (tính từ trên xuống dưới) thì: oData.data.program.stl[3]
- Lúc này sẽ xuất hiện một cửa sổ có chứa đường link đến file phụ đề. Sử dụng IDM tải link này về ta sẽ có được phụ đề dạng VTT.
- Chuyển từ dạng VTT sang SRT bằng công cụ online https://subtitletools.com/convert-to-srt-online hoặc bằng phần mềm Subtitle Edit.
- Tương tự bạn có thể lấy phụ đề tiếng Anh, tiếng Thái, tiếng Malaysia, tiếng Indonesia v.v...
==> Như vậy, ta đã có video, audio và phụ đề của phim. Đóng gói thành file MKV bằng công cụ MKVToolNix.
Thành quả cuối cùng
Hướng dẫn tải phim trên iQiyi
Kiến thức cơ bản: Làm thế nào mà các trang web có thể phát phim
iQiyi sử dụng HLS và cái bạn đi tìm là link đến tập tin M3U8. Thông thường, tập tin Manifest nằm trên máy chủ và có thể tìm thấy link của nó bằng cách sử dụng Chrome Dev Tool. Tuy nhiên, iQiyi lại không lưu tập tin Manifest trên máy chủ và bằng các kỹ thuật "che code" khiến cho Internet Download Manager (IDM) bó tay. Tập tin Manifest do chính Player của iQiyi trên web browser sinh ra nên để có được tập tin này, chúng ta phải mô phỏng lại cách thức mà Player thực thi để sinh ra tập tin Manifest đó.
- Chạy Google Chrome, mở trang https://www.iq.com/, chọn phim muốn rip, chọn độ phân giải cao nhất (free thì chỉ tới 720p)
- Nhấn F12 để vào Chrome Dev Tool
- Chọn tab Console
- Dán đoạn code dưới đây vào và nhấn Enter
- Khi nhấn Enter thì sẽ bật ra 01 cửa sổ Save as... thành file M3U8. Lưu lại trên ổ D: chẳng hạn (ví dụ là: D:\phim.m3u8)Mã:javascript:try{var info=playerObject._player._core._movieinfo.originalData.data.program.video;info.forEach(function(item,index){if(item._selected){var m3u8Content="";if(item.m3u8==undefined){try{if(typeof(eval(cmd5x))=="function"){}}catch(e){var req1=new XMLHttpRequest();req1.open("GET","https://static.iqiyi.com/js/common/f6a3054843de4645b34d205a9f377d25.js",false);req1.onload=function(){var script=document.createElement("script");script.text=req1.responseText;document.getElementsByTagName("head")[0].appendChild(script)};req1.send(null)}var fs=item.fs;var content="#EXTM3U\n";fs.forEach(function(fs_i,fs_index){var url=fs_i.l;var prefix="https://data.video.iqiyi.com/videos";var api=prefix+url;try{var t=playerObject._player._core._movieinfo.originalData.data.boss.data.t;api=prefix+url+"&cross-domain=1&t="+t+"&QY00001="+/qd_uid=(\d+)/g.exec(url)[1]+"&ib=4&ptime=0&ibt="+cmd5x(t+/\/(\w{10,})/g.exec(url)[1])}catch(err){}var req=new XMLHttpRequest();req.overrideMimeType("application/json");req.open("GET",api,false);req.onload=function(){var jsonResponse=JSON.parse(req.responseText);content+="#EXTINF:0\n"+jsonResponse["l"]+"\n"};req.send(null)});content+="#EXT-X-ENDLIST";m3u8Content=content}else{m3u8Content=item.m3u8}var blob=new Blob([m3u8Content],{type:"text/plain"});var url=URL.createObjectURL(blob);var title=(document.title.indexOf("-")!=-1?document.title.substring(0,document.title.indexOf("-")):document.title.replace(/\s/,""))+"_"+item.scrsz+"_"+(item.code==2?"H264":"H265")+"_"+document.getElementsByClassName("iqp-time-dur")[0].innerText.replace(/:/,".")+"_"+(item.vsize/1024/1024).toFixed(2)+"MB.m3u8";var aLink=document.createElement("a");aLink.href=url;aLink.download=title;aLink.style.display="none";var event;if(window.MouseEvent){event=new MouseEvent("click")}else{event=document.createEvent("MouseEvents");event.initMouseEvent("click",true,false,window,0,0,0,0,0,false,false,false,false,0,null)}aLink.dispatchEvent(event)}})}catch(err){var info1=playerObject._player.package.engine.adproxy.engine.movieinfo.vidl;info1.forEach(function(item1,index1){if(item1.responseData!=undefined){var info=item1.responseData.data.program.video;info.forEach(function(item,index){if(item._selected){var m3u8Content="";if(item.m3u8==undefined){try{if(typeof(eval(cmd5x))=="function"){}}catch(e){var req1=new XMLHttpRequest();req1.open("GET","https://static.iqiyi.com/js/common/f6a3054843de4645b34d205a9f377d25.js",false);req1.onload=function(){var script=document.createElement("script");script.text=req1.responseText;document.getElementsByTagName("head")[0].appendChild(script)};req1.send(null)}var fs=item.fs;var content="#EXTM3U\n";fs.forEach(function(fs_i,fs_index){var url=fs_i.l;var prefix="https://data.video.iqiyi.com/videos";var api=prefix+url;try{var t=playerObject._player.package.engine.adproxy.engine.movieinfo.current.boss.data.t;api=prefix+url+"&cross-domain=1&t="+t+"&QY00001="+/qd_uid=(\d+)/g.exec(url)[1]+"&ib=4&ptime=0&ibt="+cmd5x(t+/\/(\w{10,})/g.exec(url)[1])}catch(err){console.error(err)}var req=new XMLHttpRequest();req.overrideMimeType("application/json");req.open("GET",api,false);req.onload=function(){var jsonResponse=JSON.parse(req.responseText);content+="#EXTINF:0\n"+jsonResponse["l"]+"\n"};req.send(null)});content+="#EXT-X-ENDLIST";m3u8Content=content}else{m3u8Content=item.m3u8}var blob=new Blob([m3u8Content],{type:"text/plain"});var url=URL.createObjectURL(blob);var title=(document.title.indexOf("-")!=-1?document.title.substring(0,document.title.indexOf("-")):document.title.replace(/\s/,""))+"_"+item.scrsz+"_"+(item.code==2?"H264":"H265")+"_"+document.getElementsByClassName("iqp-time-dur")[0].innerText.replace(/:/,".")+"_"+(item.vsize/1024/1024).toFixed(2)+"MB.m3u8";/*nilaoda*/var aLink=document.createElement("a");aLink.href=url;aLink.download=title;aLink.style.display="none";var event;if(window.MouseEvent){event=new MouseEvent("click")}else{event=document.createEvent("MouseEvents");event.initMouseEvent("click",true,false,window,0,0,0,0,0,false,false,false,false,0,null)}aLink.dispatchEvent(event)}})}})}
- Chạy một chương trình M3U8 Downloader ưa thích của bạn (ở đây tôi thường dùng N_m3u8DL-CLI) để tải file M3U8 nói trên.
Mã:N_m3u8DL-CLI_v2.9.7.exe D:\phim.m3u8 --workDir D:\ --saveName phim --enableDelAfterDone --enableMuxFastStart
- Tải phụ đề tiếng Việt tại trang https://downsub.com/. Nếu trang downsub.com không lấy được phụ đề thì sử dụng đoạn code javascripts (chạy trong console) sau {chắc chắn 100% vì code mô phỏng cách thức mà player thực thi, trừ phi iQiyi thay đổi player khác}:
Mã:javascript:var tvid=playerObject._player.package.engine.adproxy.engine.movieinfo.tvid;var oData=playerObject._player.package.engine.adproxy.engine.episode.EpisodeStore[tvid].movieInfo.originalData;var prefix=oData.data.dstl;var subUrl=oData.data.program.stl[n-1].webvtt;var title=(document.title.indexOf("-")!=-1?document.title.substring(0,document.title.indexOf("-")):document.title.replace(/\s/,""));prompt(title+" [webvtt]",prefix+subUrl);
Chú ý:
oData.data.program.stl[n-1] trong đó n là vị trí của phụ đề tiếng Việt (tính từ trên xuống dưới). Vì vị trí của phụ đề tiếng Việt của mỗi phim là khác nhau nên không có một con số chính xác được.
Ví dụ: Trong phim (hay tập phim) [Thuyết minh] Như Ý Phương Phi vị trí phụ đề tiếng Việt là 4 (tính từ trên xuống dưới) thì: oData.data.program.stl[3]
- Lúc này sẽ xuất hiện một cửa sổ có chứa đường link đến file phụ đề. Sử dụng IDM tải link này về ta sẽ có được phụ đề dạng VTT.
- Chuyển từ dạng VTT sang SRT bằng công cụ online https://subtitletools.com/convert-to-srt-online hoặc bằng phần mềm Subtitle Edit.
- Tương tự bạn có thể lấy phụ đề tiếng Anh, tiếng Thái, tiếng Malaysia, tiếng Indonesia v.v...
==> Như vậy, ta đã có video, audio và phụ đề của phim. Đóng gói thành file MKV bằng công cụ MKVToolNix.
Thành quả cuối cùng
bài viết thật sự rất hay. cảm ơn bác rất nhiều.Hướng dẫn tải phim trên VieON
Kiến thức cơ bản: Làm thế nào mà các trang web có thể phát phim
VieON sử dụng HLS và cái bạn đi tìm là link đến tập tin M3U8. Thông thường, tập tin Manifest nằm trên máy chủ và có thể tìm thấy link của nó bằng cách sử dụng Chrome Dev Tool. May mắn thay, VieON "không giấu diếm" tập tin Manifest trên máy chủ, những tập tin phân đoạn (segment) cũng không sử dụng phương pháp mã hóa gì (có lẽ để đỡ tốn chi phí đầu tư hệ thống) và họ cũng không có thủ thuật "che code" nên chỉ với Internet Download Manager (IDM) là có thể bắt link để tải về. Tuy nhiên, khi sử dụng IDM để tải thì tập tin mà nó tạo ra (MP4) chỉ có một luồng audio là "tiếng gốc" mà phim thì có thuyết minh (hay lồng tiếng) nữa.
Để thấy rõ ràng hơn về nội dung một tập tin M3U8 (mục đích để học tập) bạn nên cài thêm một tiện ích mở rộng có tên là HLS + MPEG-DASH Manifest File Viewer (https://chrome.google.com/webstore/detail/hls-+-mpeg-dash-manifest/bogfghabiokccffmhopfppcmkpcemnjo)
Công cụ sử dụng để tải M3U8 tôi dùng N_m3u8DL-CLI (hãy hỏi bác Google kiếm phần mềm này ở đâu), với các ưu điểm sau:
- Tải nhanh như IDM vì có chế độ tăng tốc tải (chia một file thành nhiều phần, mặc định 32 phần, rồi tải hết từng phần, xong ghép nối lại).
- Tự động chọn video với độ phân giải cao nhất (best) mà phim đó có được.
- Nếu phim có 02 luồng audio (VieON rất hay sử dụng) , cho phép lựa chọn luồng audio để tải.
- Chỉ tải audio nếu muốn, không tải video (tiết kiệm thời gian tải)
- Tải luôn cả phụ đề (không phải mắc công đi tìm link thủ công để tải)
Bước 1: Tìm link M3U8
Nếu bạn đã đọc qua bài Làm thế nào mà các trang web có thể phát phim thì bạn biết là tập tin M3U8 là một tập tin text (nó là bảng kê các đường dẫn đến video, audio và phụ đề của phim)
- Chạy Google Chrome, mở trang vieon.vn, không cần tài khoản VIP bạn cũng có thể xem được một số phim. Ví dụ: tôi chọn phim đình đám Cuộc Chiến Thượng Lưu Phần 3 (tập 1)
- Bạn sẽ thấy xuất hiện biểu tượng tải của IDM ở góc bên phải, bạn nhấp chuột vào đó và chọn chất lượng cao nhất. IDM sẽ lập tức tải về file MP4. Có thể chọn tới Full HD, dù tôi không có tài khoản VIP.
- Đến đây bạn đã có file MP4 của phim. Khi mở lên xem thử: tôi thấy chất lượng Full HD và audio chỉ là tiếng thuyết minh. Cái tôi còn thiếu là: luồng audio tiếng gốc Korean và phụ đề tiếng Việt.
- Nhấn F12 để vào Chrome Dev Tool
- Chọn tab Network.
- Ở ô Filter, bạn gõ vào: playlist.m3u8
- Nếu chưa thấy gì thì cứ nhấn F5 để refesh lại trang.
- Nhấn phải chuột vào file playlist.m3u8 được tìm thấy ở phần vùng Name, chọn "Open in new tab"
- Vì bạn đã cài tiện ích mở rộng có tên là HLS + MPEG-DASH Manifest File Viewer nên trong tab mới mở ra bạn sẽ xem được nội dung file playlist.m3u8 rất rõ ràng. Ở đây, mục đích của chúng ta là học tập nên bạn dành một ít thời gian để xem qua các chú thích trong hình rất rõ ràng, phần nào là phụ đề, phần nào là audio (thuyết minh, tiếng gốc), phần nào là video (360p, 480p, 720p, 1080p)
Bước 2: Tải luồng audio tiếng Korean và phụ đề
Đến đây bạn đã có file MP4 của phim, chất lượng Full HD và audio thuyết minh, link đến file playlist.m3u8
- Chạy phần mềm N_m3u8DL-CLI
(nhớ có tham số --enableAudioOnly nhé, tham số này chỉ ra chỉ tải phần audio)Mã:N_m3u8DL-CLI_v2.9.7.exe "https://playlist-free.vieon.vn/playlist/content/vieon/dec1a49f-bde3-4328-a7f2-a6e76a40b2ef/1623143923000/9f425b2f223f4a17332660a89928ad34/playlist.m3u8?model=&pkgs=&platform=web&uid=anonymous_59426c29a6062c7dc19d655ffd3da539-deae75ec460d53ae394e7cd0b5be5b0e-1623053657&user_type=0&sn=hni-vnpt-002&rid=8" --enableDelAfterDone --enableAudioOnly --enableMuxFastStart
- Vì trong nội dung file M3U8 có 2 luồng audio nên sẽ có bảng lựa chọn:
[0] Thuyết minh
[1] Tiếng gốc
Vì bạn đang cần luồng audio tiếng gốc (tiếng Korean) nên bạn nhập số 1 nhé
- Đợi một xíu, vì chỉ tải audio nên file tải về rất nhanh. Trong thư mục Downloads bạn sẽ thấy có 02 file: 01 file là audio tiếng gốc, 01 file là phụ đề.
- Mặc dù file phụ đề có ghi là .srt nhưng thực chất nó vẫn là dạng VTT nên bạn cần phần mềm Subtitle Edit để chuyển nó sang định dạng SRT nhé (hãy hỏi bác Google kiếm phần mềm này ở đâu). Chỉ việc Open file và Save as... (chọn đầu ra là SubRip .srt)
Bước 3: Mux tất cả những gì đã tải về được thành một file MKV hoàn chỉnh
Đến đây bạn đã có file MP4 của phim, chất lượng Full HD và audio thuyết minh, file M4A audio tiếng gốc, file SRT phụ đề tiếng Việt.
- Sử dụng phần mềm MKVToolNix và input tất cả những gì có được vào và nhấn Start để tạo thành file MKV hoàn chỉnh.
Thành quả cuối cùng (không cần tài khoản VIP nhé)
- thay chữ màu xanh bằng link m3u8 vừa tìm đượcN_m3u8DL-CLI_v2.9.7.exe "https://playlist-free.vieon.vn/play...-1623053657&user_type=0&sn=hni-vnpt-002&rid=8" --enableDelAfterDone --enableAudioOnly --enableMuxFastStart
LOG 2021/06/07
Save Path: D:\n_m3u8DL\Logs
Task Start: 2021/06/07 23:31:21
Task CommandLine: "D:\n_m3u8DL\N_m3u8DL-CLI_v2.9.7.exe"
23:31:21.967 / (NORMAL) Start Parsing N_m3u8DL-CLI_v2.9.7.exe
23:31:21.987 / (NORMAL) Parsing M3u8 Content
23:31:22.018 / (ERROR) Invalid M3u8 (NOT Contain #EXTM3U)
phần mềm này trực quan hơn đó bác. 1 lần tải ra được 3 file, khá hay. Mấy cái tuỳ chọn còn lại không cần biết cũng được đúng ko bác.Cái lỗi đó là do bạn đã đúp vào file exe để chạy, lúc này bạn đã ở trong môi trường N_m3u8DL-CLI rồi nên bạn chỉ cần nhập như sau để cung cấp các tham số cho chương trình
Bạn nhập y chang như hướng dẫn, tức là "N_m3u8DL-CLI_v2.9.7.exe" là tham số cho đường dẫn M3U8 nên chương trình không nhận ra, báo LỖI là đúng rồi.Mã:"https://playlist-free.vieon.vn/playlist/content/vieon/dec1a49f-bde3-4328-a7f2-a6e76a40b2ef/1623143923000/9f425b2f223f4a17332660a89928ad34/playlist.m3u8?model=&pkgs=&platform=web&uid=anonymous_59426c29a6062c7dc19d655ffd3da539-deae75ec460d53ae394e7cd0b5be5b0e-1623053657&user_type=0&sn=hni-vnpt-002&rid=8" --enableDelAfterDone --enableAudioOnly --enableMuxFastStart
Mình hướng dẫn các code chạy dòng lệnh đều xuất phát từ click nút Start -> Run, hoặc nhấn tổ hợp phím tắt (Window+R). Nhập: cmd để mở cửa sổ dòng lệnh.
Nếu bạn thấy khó khăn khi phải chạy dòng lệnh thì hãy sử dụng Simple GUI của phần mềm.