[{"data":1,"prerenderedAt":1596},["ShallowReactive",2],{"docs-navigation":3,"\u002Fdocs\u002Ftroubleshooting\u002Fknown-issues":298,"\u002Fdocs\u002Ftroubleshooting\u002Fknown-issues-surround":1591},[4,165],{"title":5,"path":6,"stem":7,"children":8,"page":32},"Docs","\u002Fdocs","1.docs",[9,33,79,100,129,149],{"title":10,"path":11,"stem":12,"children":13,"icon":32},"Getting Started","\u002Fdocs\u002Fgetting-started","1.docs\u002F1.getting-started\u002F1.index",[14,17,22,27],{"title":15,"path":11,"stem":12,"icon":16},"Introduction","i-lucide-house",{"title":18,"path":19,"stem":20,"icon":21},"Installation","\u002Fdocs\u002Fgetting-started\u002Finstallation","1.docs\u002F1.getting-started\u002F2.installation","i-lucide-download",{"title":23,"path":24,"stem":25,"icon":26},"Usage Guide","\u002Fdocs\u002Fgetting-started\u002Fusage","1.docs\u002F1.getting-started\u002F3.usage","i-lucide-sliders",{"title":28,"path":29,"stem":30,"icon":31},"Configuration Reference","\u002Fdocs\u002Fgetting-started\u002Fconfiguration","1.docs\u002F1.getting-started\u002F4.configuration","i-lucide-settings",false,{"title":34,"icon":35,"path":36,"stem":37,"children":38,"page":32},"Features","i-lucide-star","\u002Fdocs\u002Ffeatures","1.docs\u002F2.features",[39,44,49,54,59,64,69,74],{"title":40,"path":41,"stem":42,"icon":43},"Video Sniffing","\u002Fdocs\u002Ffeatures\u002Fvideo-sniffing","1.docs\u002F2.features\u002F1.video-sniffing","i-lucide-video",{"title":45,"path":46,"stem":47,"icon":48},"Audio Capture","\u002Fdocs\u002Ffeatures\u002Faudio-capture","1.docs\u002F2.features\u002F2.audio-capture","i-lucide-music",{"title":50,"path":51,"stem":52,"icon":53},"Image Download","\u002Fdocs\u002Ffeatures\u002Fimage-download","1.docs\u002F2.features\u002F3.image-download","i-lucide-image",{"title":55,"path":56,"stem":57,"icon":58},"Privacy & Security","\u002Fdocs\u002Ffeatures\u002Fprivacy-security","1.docs\u002F2.features\u002F4.privacy-security","i-lucide-shield-check",{"title":60,"path":61,"stem":62,"icon":63},"Format Conversion","\u002Fdocs\u002Ffeatures\u002Fformat-conversion","1.docs\u002F2.features\u002F5.format-conversion","i-lucide-arrow-left-right",{"title":65,"path":66,"stem":67,"icon":68},"Batch Download","\u002Fdocs\u002Ffeatures\u002Fbatch-download","1.docs\u002F2.features\u002F6.batch-download","i-lucide-layers",{"title":70,"path":71,"stem":72,"icon":73},"Keyboard Shortcuts","\u002Fdocs\u002Ffeatures\u002Fkeyboard-shortcuts","1.docs\u002F2.features\u002F7.keyboard-shortcuts","i-lucide-keyboard",{"title":75,"path":76,"stem":77,"icon":78},"Search & Filter","\u002Fdocs\u002Ffeatures\u002Fsearch-filter","1.docs\u002F2.features\u002F8.search-filter","i-lucide-search",{"title":80,"icon":81,"path":82,"stem":83,"children":84,"page":32},"Advanced","i-lucide-book-open","\u002Fdocs\u002Fadvanced","1.docs\u002F3.advanced",[85,90,95],{"title":86,"path":87,"stem":88,"icon":89},"Online Tools","\u002Fdocs\u002Fadvanced\u002Fonline-tools","1.docs\u002F3.advanced\u002F1.online-tools","i-lucide-globe",{"title":91,"path":92,"stem":93,"icon":94},"Browser Compatibility","\u002Fdocs\u002Fadvanced\u002Fbrowser-compatibility","1.docs\u002F3.advanced\u002F2.browser-compatibility","i-lucide-monitor-check",{"title":96,"path":97,"stem":98,"icon":99},"Download Engine Architecture","\u002Fdocs\u002Fadvanced\u002Fdownload-engine","1.docs\u002F3.advanced\u002F3.download-engine","i-lucide-cpu",{"title":101,"icon":102,"path":103,"stem":104,"children":105,"page":32},"Use Cases","i-lucide-lightbulb","\u002Fdocs\u002Fusecases","1.docs\u002F4.usecases",[106,111,115,120,125],{"title":107,"path":108,"stem":109,"icon":110},"Online Course Video Downloader for Offline Learning","\u002Fdocs\u002Fusecases\u002Fonline-courses","1.docs\u002F4.usecases\u002F1.online-courses","i-lucide-graduation-cap",{"title":112,"path":113,"stem":114,"icon":43},"Video Platform Stream Downloader for Public Media","\u002Fdocs\u002Fusecases\u002Fvideo-platforms","1.docs\u002F4.usecases\u002F2.video-platforms",{"title":116,"path":117,"stem":118,"icon":119},"Live Replay Downloader for Large Streaming Videos","\u002Fdocs\u002Fusecases\u002Flive-replays","1.docs\u002F4.usecases\u002F3.live-replays","i-lucide-radio",{"title":121,"path":122,"stem":123,"icon":124},"Podcast and Audio Downloader for Offline Listening","\u002Fdocs\u002Fusecases\u002Fpodcasts-audio","1.docs\u002F4.usecases\u002F4.podcasts-audio","i-lucide-headphones",{"title":126,"path":127,"stem":128,"icon":53},"Bulk Image Downloader for Web Galleries and Wallpapers","\u002Fdocs\u002Fusecases\u002Fimage-galleries","1.docs\u002F4.usecases\u002F5.image-galleries",{"title":130,"icon":131,"path":132,"stem":133,"children":134,"page":32},"Troubleshooting","i-lucide-wrench","\u002Fdocs\u002Ftroubleshooting","1.docs\u002F5.troubleshooting",[135,139,144],{"title":136,"path":137,"stem":138,"icon":131},"Common Issues Troubleshooting","\u002Fdocs\u002Ftroubleshooting\u002Fcommon-issues","1.docs\u002F5.troubleshooting\u002F1.common-issues",{"title":140,"path":141,"stem":142,"icon":143},"Known Limitations & Caveats","\u002Fdocs\u002Ftroubleshooting\u002Fknown-issues","1.docs\u002F5.troubleshooting\u002F2.known-issues","i-lucide-alert-triangle",{"title":145,"path":146,"stem":147,"icon":148},"FAQ","\u002Fdocs\u002Ftroubleshooting\u002Ffaq","1.docs\u002F5.troubleshooting\u002F3.faq","i-lucide-message-circle-question",{"title":150,"icon":151,"path":152,"stem":153,"children":154,"page":32},"Developer Docs","i-lucide-code","\u002Fdocs\u002Fdeveloper","1.docs\u002F6.developer",[155,160],{"title":156,"path":157,"stem":158,"icon":159},"Contributing Guide","\u002Fdocs\u002Fdeveloper\u002Fcontributing","1.docs\u002F6.developer\u002F1.contributing","i-lucide-git-pull-request",{"title":161,"path":162,"stem":163,"icon":164},"Project Architecture","\u002Fdocs\u002Fdeveloper\u002Farchitecture","1.docs\u002F6.developer\u002F2.architecture","i-lucide-box",{"title":166,"path":167,"stem":168,"children":169,"page":32},"Zh Hans","\u002Fzh-hans","zh-Hans",[170,189,226,243,268,285],{"title":171,"path":172,"stem":173,"children":174,"icon":32},"快速开始","\u002Fzh-hans\u002Fgetting-started","zh-Hans\u002F1.getting-started\u002F1.index",[175,177,181,185],{"title":176,"path":172,"stem":173,"icon":16},"简介",{"title":178,"path":179,"stem":180,"icon":21},"安装","\u002Fzh-hans\u002Fgetting-started\u002Finstallation","zh-Hans\u002F1.getting-started\u002F2.installation",{"title":182,"path":183,"stem":184,"icon":26},"使用方法","\u002Fzh-hans\u002Fgetting-started\u002Fusage","zh-Hans\u002F1.getting-started\u002F3.usage",{"title":186,"path":187,"stem":188,"icon":31},"配置参考","\u002Fzh-hans\u002Fgetting-started\u002Fconfiguration","zh-Hans\u002F1.getting-started\u002F4.configuration",{"title":190,"icon":35,"path":191,"stem":192,"children":193,"page":32},"功能特性","\u002Fzh-hans\u002Ffeatures","zh-Hans\u002F2.features",[194,198,202,206,210,214,218,222],{"title":195,"path":196,"stem":197,"icon":43},"视频嗅探","\u002Fzh-hans\u002Ffeatures\u002Fvideo-sniffing","zh-Hans\u002F2.features\u002F1.video-sniffing",{"title":199,"path":200,"stem":201,"icon":48},"音频捕获","\u002Fzh-hans\u002Ffeatures\u002Faudio-capture","zh-Hans\u002F2.features\u002F2.audio-capture",{"title":203,"path":204,"stem":205,"icon":53},"图片下载","\u002Fzh-hans\u002Ffeatures\u002Fimage-download","zh-Hans\u002F2.features\u002F3.image-download",{"title":207,"path":208,"stem":209,"icon":58},"隐私与安全","\u002Fzh-hans\u002Ffeatures\u002Fprivacy-security","zh-Hans\u002F2.features\u002F4.privacy-security",{"title":211,"path":212,"stem":213,"icon":63},"格式转换","\u002Fzh-hans\u002Ffeatures\u002Fformat-conversion","zh-Hans\u002F2.features\u002F5.format-conversion",{"title":215,"path":216,"stem":217,"icon":68},"批量下载","\u002Fzh-hans\u002Ffeatures\u002Fbatch-download","zh-Hans\u002F2.features\u002F6.batch-download",{"title":219,"path":220,"stem":221,"icon":73},"键盘快捷键","\u002Fzh-hans\u002Ffeatures\u002Fkeyboard-shortcuts","zh-Hans\u002F2.features\u002F7.keyboard-shortcuts",{"title":223,"path":224,"stem":225,"icon":78},"搜索与筛选","\u002Fzh-hans\u002Ffeatures\u002Fsearch-filter","zh-Hans\u002F2.features\u002F8.search-filter",{"title":227,"icon":81,"path":228,"stem":229,"children":230,"page":32},"高级指南","\u002Fzh-hans\u002Fadvanced","zh-Hans\u002F3.advanced",[231,235,239],{"title":232,"path":233,"stem":234,"icon":89},"在线工具","\u002Fzh-hans\u002Fadvanced\u002Fonline-tools","zh-Hans\u002F3.advanced\u002F1.online-tools",{"title":236,"path":237,"stem":238,"icon":94},"浏览器兼容性","\u002Fzh-hans\u002Fadvanced\u002Fbrowser-compatibility","zh-Hans\u002F3.advanced\u002F2.browser-compatibility",{"title":240,"path":241,"stem":242,"icon":99},"下载引擎架构","\u002Fzh-hans\u002Fadvanced\u002Fdownload-engine","zh-Hans\u002F3.advanced\u002F3.download-engine",{"title":244,"icon":102,"path":245,"stem":246,"children":247,"page":32},"使用场景","\u002Fzh-hans\u002Fusecases","zh-Hans\u002F4.usecases",[248,252,256,260,264],{"title":249,"path":250,"stem":251,"icon":110},"在线课程视频下载与离线学习","\u002Fzh-hans\u002Fusecases\u002Fonline-courses","zh-Hans\u002F4.usecases\u002F1.online-courses",{"title":253,"path":254,"stem":255,"icon":43},"视频平台流媒体下载与素材收集","\u002Fzh-hans\u002Fusecases\u002Fvideo-platforms","zh-Hans\u002F4.usecases\u002F2.video-platforms",{"title":257,"path":258,"stem":259,"icon":119},"直播回放下载与大文件流媒体保存","\u002Fzh-hans\u002Fusecases\u002Flive-replays","zh-Hans\u002F4.usecases\u002F3.live-replays",{"title":261,"path":262,"stem":263,"icon":124},"播客与网页音频下载","\u002Fzh-hans\u002Fusecases\u002Fpodcasts-audio","zh-Hans\u002F4.usecases\u002F4.podcasts-audio",{"title":265,"path":266,"stem":267,"icon":53},"图库与壁纸批量图片下载","\u002Fzh-hans\u002Fusecases\u002Fimage-galleries","zh-Hans\u002F4.usecases\u002F5.image-galleries",{"title":269,"icon":131,"path":270,"stem":271,"children":272,"page":32},"故障排除","\u002Fzh-hans\u002Ftroubleshooting","zh-Hans\u002F5.troubleshooting",[273,277,281],{"title":274,"path":275,"stem":276,"icon":131},"常见问题排查","\u002Fzh-hans\u002Ftroubleshooting\u002Fcommon-issues","zh-Hans\u002F5.troubleshooting\u002F1.common-issues",{"title":278,"path":279,"stem":280,"icon":143},"已知限制与注意事项","\u002Fzh-hans\u002Ftroubleshooting\u002Fknown-issues","zh-Hans\u002F5.troubleshooting\u002F2.known-issues",{"title":282,"path":283,"stem":284,"icon":148},"常见问题解答","\u002Fzh-hans\u002Ftroubleshooting\u002Ffaq","zh-Hans\u002F5.troubleshooting\u002F3.faq",{"title":286,"icon":151,"path":287,"stem":288,"children":289,"page":32},"开发者文档","\u002Fzh-hans\u002Fdeveloper","zh-Hans\u002F6.developer",[290,294],{"title":291,"path":292,"stem":293,"icon":159},"贡献指南","\u002Fzh-hans\u002Fdeveloper\u002Fcontributing","zh-Hans\u002F6.developer\u002F1.contributing",{"title":295,"path":296,"stem":297,"icon":164},"项目架构","\u002Fzh-hans\u002Fdeveloper\u002Farchitecture","zh-Hans\u002F6.developer\u002F2.architecture",{"id":299,"title":140,"body":300,"date":1584,"description":1585,"extension":1586,"lastModified":1584,"meta":1587,"navigation":1588,"path":141,"seo":1589,"stem":142,"__hash__":1590},"docs\u002F1.docs\u002F5.troubleshooting\u002F2.known-issues.md",{"type":301,"value":302,"toc":1545},"minimark",[303,307,310,315,318,393,395,399,404,407,446,452,458,479,483,486,499,505,516,528,532,536,543,601,612,617,620,634,638,641,656,670,674,677,688,693,703,716,720,723,737,751,753,757,761,804,807,819,823,829,835,838,851,855,858,876,890,894,898,909,932,937,943,955,959,962,973,987,991,994,1008,1013,1074,1086,1090,1094,1097,1144,1149,1176,1189,1193,1196,1213,1220,1225,1231,1242,1246,1250,1253,1268,1273,1325,1337,1341,1344,1358,1370,1374,1378,1384,1393,1399,1408,1412,1417,1422,1428,1433,1439,1446,1450,1455,1460,1465,1472,1474,1478],[304,305,306],"p",{},"This document summarizes technical limitations and known issues of the current FlowPick version. Understanding these limitations helps avoid unexpected situations during use.",[308,309],"hr",{},[311,312,314],"h2",{"id":313},"limitation-level-explanation","Limitation Level Explanation",[304,316,317],{},"Each limitation in this document is classified into three levels based on impact:",[319,320,321,340],"table",{},[322,323,324],"thead",{},[325,326,327,331,334,337],"tr",{},[328,329,330],"th",{},"Level",[328,332,333],{},"Icon",[328,335,336],{},"Meaning",[328,338,339],{},"Example",[341,342,343,361,377],"tbody",{},[325,344,345,352,355,358],{},[346,347,348],"td",{},[349,350,351],"strong",{},"Hard Limitation",[346,353,354],{},"🔴",[346,356,357],{},"Cannot bypass, not supported by current version",[346,359,360],{},"DRM protected content, Blob mode 1.5GB limit",[325,362,363,368,371,374],{},[346,364,365],{},[349,366,367],{},"Soft Limitation",[346,369,370],{},"🟡",[346,372,373],{},"Has limitation but with workaround available",[346,375,376],{},"CORS cross-origin (can bypass with extension), FFmpeg performance (optional TS output)",[325,378,379,384,387,390],{},[346,380,381],{},[349,382,383],{},"Caveat",[346,385,386],{},"🔵",[346,388,389],{},"Doesn't affect functionality but worth knowing about",[346,391,392],{},"Slower first load, segment URLs may expire",[308,394],{},[311,396,398],{"id":397},"file-size-limitations","File Size Limitations",[400,401,403],"h3",{"id":402},"blob-mode-hard-limit","Blob Mode Hard Limit",[304,405,406],{},"When browser doesn't support File System Access API or StreamSaver.js, FlowPick degrades to Blob mode for file writing. This mode has a hard size limit:",[319,408,409,422],{},[322,410,411],{},[325,412,413,416,419],{},[328,414,415],{},"Limit Type",[328,417,418],{},"Threshold",[328,420,421],{},"Behavior",[341,423,424,435],{},[325,425,426,429,432],{},[346,427,428],{},"Warning threshold",[346,430,431],{},"800MB",[346,433,434],{},"Console outputs warning, UI shows prompt",[325,436,437,440,443],{},[346,438,439],{},"Hard limit",[346,441,442],{},"1.5GB",[346,444,445],{},"Download rejected, user prompted to switch browser",[304,447,448,451],{},[349,449,450],{},"Cause",": Blob mode requires loading entire file into memory; exceeding 1.5GB may cause browser crash or page unresponsiveness.",[304,453,454,457],{},[349,455,456],{},"Solution",": Use Chrome 86+ or Edge 86+, which support File System Access API for streaming writes of any file size.",[459,460,461],"note",{},[304,462,463,464,469,470,474,475,478],{},"For complete comparison of three-tier write strategy and degradation logic, see ",[465,466,468],"a",{"href":467},"\u002Fdocs\u002Fadvanced\u002Fdownload-engine#strategy-comparison-summary","Download Engine Architecture — Strategy Comparison Summary",". For large file download failure troubleshooting steps, see ",[465,471,473],{"href":472},"\u002Fdocs\u002Ftroubleshooting\u002Fcommon-issues#large-file-download-failure","Common Issues Troubleshooting — Large File Download Failure",". For FSA API support status across browsers, see ",[465,476,477],{"href":92},"Browser Compatibility — Feature Support Matrix",".",[400,480,482],{"id":481},"memory-pressure","Memory Pressure",[304,484,485],{},"Even when using streaming write, these factors still consume memory:",[487,488,489,493,496],"ul",{},[490,491,492],"li",{},"Concurrently downloaded segment data (each segment typically 1-10MB)",[490,494,495],{},"FFmpeg WASM runtime memory (approximately 200-400MB)",[490,497,498],{},"Page UI and other components",[304,500,501,504],{},[349,502,503],{},"Recommendations",":",[487,506,507,510,513],{},[490,508,509],{},"When downloading very large files (>5GB), reduce concurrent thread count to 1-2",[490,511,512],{},"Close other tabs consuming memory",[490,514,515],{},"Avoid running multiple FFmpeg remuxing tasks simultaneously",[459,517,518],{},[304,519,520,521,525,526,478],{},"For complete memory safety management mechanism (size estimation, threshold checking, runtime monitoring), see ",[465,522,524],{"href":523},"\u002Fdocs\u002Fadvanced\u002Fdownload-engine#memory-safety-management","Download Engine Architecture — Memory Safety Management",". For concurrency configuration methods, see ",[465,527,28],{"href":29},[311,529,531],{"id":530},"streaming-protocol-limitations","Streaming Protocol Limitations",[400,533,535],{"id":534},"drm-protected-content","DRM Protected Content",[304,537,538,539,542],{},"FlowPick ",[349,540,541],{},"cannot"," handle the following types of protected content:",[319,544,545,558],{},[322,546,547],{},[325,548,549,552,555],{},[328,550,551],{},"Protection Technology",[328,553,554],{},"Common Platforms",[328,556,557],{},"Status",[341,559,560,571,581,591],{},[325,561,562,565,568],{},[346,563,564],{},"Widevine",[346,566,567],{},"Netflix, Disney+",[346,569,570],{},"Not Supported",[325,572,573,576,579],{},[346,574,575],{},"PlayReady",[346,577,578],{},"Some Windows platforms",[346,580,570],{},[325,582,583,586,589],{},[346,584,585],{},"FairPlay",[346,587,588],{},"Apple TV+",[346,590,570],{},[325,592,593,596,599],{},[346,594,595],{},"ClearKey",[346,597,598],{},"Some test streams",[346,600,570],{},[304,602,603,606,607,611],{},[349,604,605],{},"Detection Method",": When ",[608,609,610],"code",{},"\u003CContentProtection>"," tag appears in DASH manifest, downloader explicitly indicates unsupported.",[304,613,614],{},[349,615,616],{},"Why Can't DRM Be Supported?",[304,618,619],{},"The core of DRM systems is Content Decryption Module (CDM), a built-in closed-source binary component in browsers. CDM is deeply bound to OS and hardware, responsible for decrypting protected content and outputting decoded frames directly to GPU; application layer cannot intercept or read decrypted data. This is DRM's design goal—ensuring content isn't intercepted throughout the entire chain from decryption to display.",[459,621,622],{},[304,623,624,625,629,630,478],{},"For DRM stream detection prompts and UI behavior, see ",[465,626,628],{"href":627},"\u002Fdocs\u002Ffeatures\u002Fvideo-sniffing#dashmpd-streams","Video Sniffing — DASH Streams",". For troubleshooting failure to detect DRM content, see ",[465,631,633],{"href":632},"\u002Fdocs\u002Ftroubleshooting\u002Fcommon-issues#extension-cannot-detect-any-media","Common Issues Troubleshooting — Extension Cannot Detect Any Media",[400,635,637],{"id":636},"aes-128-encryption","AES-128 Encryption",[304,639,640],{},"FlowPick supports HLS AES-128 segment encryption, but with these limitations:",[487,642,643,650,653],{},[490,644,645,646,649],{},"Only supports ",[608,647,648],{},"METHOD=AES-128",", not SAMPLE-AES",[490,651,652],{},"Key files must be accessible via HTTP(S) directly",[490,654,655],{},"Does not support key URLs requiring Cookie authentication (online tool mode)",[459,657,658],{},[304,659,660,661,665,666,478],{},"For complete technical implementation of AES-128 decryption (Web Crypto API, IV handling), see ",[465,662,664],{"href":663},"\u002Fdocs\u002Fadvanced\u002Fdownload-engine#aes-128-decryption","Download Engine Architecture — AES-128 Decryption",". For encrypted stream detection process, see ",[465,667,669],{"href":668},"\u002Fdocs\u002Ffeatures\u002Fvideo-sniffing#encrypted-streams-aes-128","Video Sniffing — Encrypted Streams",[400,671,673],{"id":672},"live-streams","Live Streams",[304,675,676],{},"FlowPick is primarily designed for VOD (Video on Demand) content:",[487,678,679,682,685],{},[490,680,681],{},"Live HLS streams can download cached segments, but cannot fetch future segments",[490,683,684],{},"Live stream segment lists continuously update; downloader doesn't automatically track new segments",[490,686,687],{},"Recommend waiting for live broadcast to end before downloading complete replay",[304,689,690,504],{},[349,691,692],{},"Actual Effect of Live Stream Downloads",[694,695,700],"pre",{"className":696,"code":698,"language":699},[697],"language-text","During live broadcast (30 minutes played):\n  M3U8 manifest contains last ~30 seconds of segments\n  → Downloader can only get this 30 seconds of content\n  → Cannot get previous or future segments\n\nAfter broadcast ends:\n  M3U8 manifest contains complete segment list\n  → Downloader can get all content\n  → Equivalent to VOD download\n","text",[608,701,698],{"__ignoreMap":702},"",[459,704,705],{},[304,706,707,708,711,712,478],{},"For complete scenario documentation for live replay downloads, see ",[465,709,710],{"href":117},"Live Replay Download",". For HLS live stream manifest structure, see ",[465,713,715],{"href":714},"\u002Fdocs\u002Ffeatures\u002Fvideo-sniffing#hlsm3u8-streams","Video Sniffing — HLS Streams",[400,717,719],{"id":718},"separated-audiovideo-streams","Separated Audio\u002FVideo Streams",[304,721,722],{},"Some DASH streams separate video and audio into independent AdaptationSets:",[487,724,725,728,731,734],{},[490,726,727],{},"Downloader will list video and audio streams separately",[490,729,730],{},"Need to manually select matching video and audio streams",[490,732,733],{},"Merge requires FFmpeg WASM, takes longer time",[490,735,736],{},"If A\u002FV duration mismatched, merge result may have A\u002FV desync",[459,738,739],{},[304,740,741,742,746,747,478],{},"For DASH stream A\u002FV separation handling process and FMP4 reassembly, see ",[465,743,745],{"href":744},"\u002Fdocs\u002Fadvanced\u002Fdownload-engine#dash-stream-special-handling","Download Engine Architecture — DASH Stream Special Handling",". For A\u002FV desync troubleshooting and repair, see ",[465,748,750],{"href":749},"\u002Fdocs\u002Ftroubleshooting\u002Fcommon-issues#audiovideo-desync-after-merge","Common Issues Troubleshooting — Audio\u002FVideo Desync After Merge",[308,752],{},[311,754,756],{"id":755},"browser-limitations","Browser Limitations",[400,758,760],{"id":759},"file-system-access-api","File System Access API",[319,762,763,773],{},[322,764,765],{},[325,766,767,770],{},[328,768,769],{},"Browser",[328,771,772],{},"Support Status",[341,774,775,783,790,797],{},[325,776,777,780],{},[346,778,779],{},"Chrome 86+",[346,781,782],{},"Full support",[325,784,785,788],{},[346,786,787],{},"Edge 86+",[346,789,782],{},[325,791,792,795],{},[346,793,794],{},"Firefox",[346,796,570],{},[325,798,799,802],{},[346,800,801],{},"Safari",[346,803,570],{},[304,805,806],{},"On unsupported browsers, all downloads use Blob mode, subject to 1.5GB size limit.",[459,808,809],{},[304,810,811,812,814,815,478],{},"For complete feature support matrix across browsers and browser selection recommendations, see ",[465,813,91],{"href":92},". For troubleshooting when FSA API unavailable, see ",[465,816,818],{"href":817},"\u002Fdocs\u002Ftroubleshooting\u002Fcommon-issues#file-system-access-api-unavailable","Common Issues Troubleshooting — File System Access API Unavailable",[400,820,822],{"id":821},"sharedarraybuffer","SharedArrayBuffer",[304,824,825,826,828],{},"FFmpeg WASM multithreading mode requires ",[608,827,822],{},", which requires website to set these HTTP response headers:",[694,830,833],{"className":831,"code":832,"language":699},[697],"Cross-Origin-Opener-Policy: same-origin\nCross-Origin-Embedder-Policy: require-corp\n",[608,834,832],{"__ignoreMap":702},[304,836,837],{},"If these headers aren't set, FFmpeg automatically degrades to single-thread mode; merge speed reduced by approximately 40-60%.",[459,839,840],{},[304,841,842,843,847,848,478],{},"For SharedArrayBuffer browser support details and self-deployment configuration, see ",[465,844,846],{"href":845},"\u002Fdocs\u002Fadvanced\u002Fbrowser-compatibility#advanced-apis","Browser Compatibility — Advanced APIs",". For single-thread vs multi-thread performance comparison data, see ",[465,849,850],{"href":61},"Format Conversion — Multithreading Mode",[400,852,854],{"id":853},"service-worker","Service Worker",[304,856,857],{},"StreamSaver.js depends on Service Worker. Following situations cause StreamSaver unavailability:",[487,859,860,863,866],{},[490,861,862],{},"Browser private browsing mode (some browsers restrict Service Worker)",[490,864,865],{},"Enterprise policy disables Service Worker",[490,867,868,869,872,873],{},"Website didn't correctly deploy ",[608,870,871],{},"mitm.html"," and ",[608,874,875],{},"streamsaver-sw.js",[459,877,878],{},[304,879,880,881,885,886,478],{},"For StreamSaver.js degradation behavior and write strategy priority, see ",[465,882,884],{"href":883},"\u002Fdocs\u002Fadvanced\u002Fdownload-engine#file-write-module","Download Engine Architecture — File Write Module",". For corporate network environment special restrictions, see ",[465,887,889],{"href":888},"\u002Fdocs\u002Ftroubleshooting\u002Fcommon-issues#corporate-network-environment","Common Issues Troubleshooting — Corporate Network Environment",[311,891,893],{"id":892},"network-limitations","Network Limitations",[400,895,897],{"id":896},"cors-cross-origin-restrictions","CORS Cross-Origin Restrictions",[304,899,900,901,904,905,908],{},"Online tool mode (",[608,902,903],{},"\u002Fm3u8-downloader",", ",[608,906,907],{},"\u002Fdash-downloader",") restricted by browser same-origin policy:",[487,910,911,918,929],{},[490,912,913,914,917],{},"If streaming server doesn't set ",[608,915,916],{},"Access-Control-Allow-Origin"," response header, requests will be blocked",[490,919,920,921,924,925,928],{},"Some CDNs check ",[608,922,923],{},"Referer"," or ",[608,926,927],{},"Origin"," request headers",[490,930,931],{},"Extension version not subject to this restriction because it uses extension permissions for requests",[304,933,934,504],{},[349,935,936],{},"CORS Error Technical Principles",[694,938,941],{"className":939,"code":940,"language":699},[697],"Online tool (flowpick.app) requesting CDN (cdn.example.com):\n\nBrowser sends request → CDN returns segment data\n                      ↓\n              Browser checks response headers:\n              Does Access-Control-Allow-Origin include flowpick.app?\n                      ↓\n              No → Browser blocks JavaScript from reading response\n              Yes → Normal read\n\nExtension version:\nExtension makes requests via chrome.webRequest \u002F chrome.fetch\n→ Not subject to same-origin policy\n→ Can read responses from any origin\n",[608,942,940],{"__ignoreMap":702},[459,944,945],{},[304,946,947,948,952,953,478],{},"For CORS error troubleshooting and solutions, see ",[465,949,951],{"href":950},"\u002Fdocs\u002Ftroubleshooting\u002Fcommon-issues#download-fails-midway","Common Issues Troubleshooting — Download Fails Midway",". For functional differences between extension and online tools, see ",[465,954,86],{"href":87},[400,956,958],{"id":957},"request-rate-limiting","Request Rate Limiting",[304,960,961],{},"Some CDNs throttle high-frequency requests:",[487,963,964,967,970],{},[490,965,966],{},"High concurrent thread count may trigger 429 (Too Many Requests) errors",[490,968,969],{},"Recommend keeping concurrency at 4 or below",[490,971,972],{},"If encountering throttling, reduce concurrency and retry",[459,974,975],{},[304,976,977,978,982,983,478],{},"For relationship between concurrency and performance (including diminishing returns analysis), see ",[465,979,981],{"href":980},"\u002Fdocs\u002Fadvanced\u002Fdownload-engine#concurrency-vs-performance","Download Engine Architecture — Concurrency vs Performance",". For slow download speed diagnostic flow, see ",[465,984,986],{"href":985},"\u002Fdocs\u002Ftroubleshooting\u002Fcommon-issues#slow-download-speed","Common Issues Troubleshooting — Slow Download Speed",[400,988,990],{"id":989},"segment-url-expiration","Segment URL Expiration",[304,992,993],{},"Segment URLs from some streaming services contain time-sensitive tokens:",[487,995,996,999,1002,1005],{},[490,997,998],{},"Segments cannot be downloaded after token expiration",[490,1000,1001],{},"Expiration time typically ranges from minutes to hours",[490,1003,1004],{},"Recommend starting download promptly after obtaining manifest",[490,1006,1007],{},"If download interrupted too long, may need to re-fetch manifest",[304,1009,1010,504],{},[349,1011,1012],{},"Typical Expiration Scenarios",[319,1014,1015,1028],{},[322,1016,1017],{},[325,1018,1019,1022,1025],{},[328,1020,1021],{},"Service Type",[328,1023,1024],{},"Typical Expiration Time",[328,1026,1027],{},"Recommendation",[341,1029,1030,1041,1052,1063],{},[325,1031,1032,1035,1038],{},[346,1033,1034],{},"Online course platforms",[346,1036,1037],{},"2-4 hours",[346,1039,1040],{},"Download immediately after obtaining manifest",[325,1042,1043,1046,1049],{},[346,1044,1045],{},"Live replays",[346,1047,1048],{},"30 min - 2 hours",[346,1050,1051],{},"Complete quickly, avoid interruption",[325,1053,1054,1057,1060],{},[346,1055,1056],{},"Short video platforms",[346,1058,1059],{},"5-15 minutes",[346,1061,1062],{},"Single download usually sufficient",[325,1064,1065,1068,1071],{},[346,1066,1067],{},"Paid streaming services",[346,1069,1070],{},"1-5 minutes",[346,1072,1073],{},"Very short window, must complete fast",[459,1075,1076],{},[304,1077,1078,1079,1081,1082,478],{},"For troubleshooting download midway failures (including HTTP 403 error handling), see ",[465,1080,951],{"href":950},". For download engine retry mechanism, see ",[465,1083,1085],{"href":1084},"\u002Fdocs\u002Fadvanced\u002Fdownload-engine#retry-mechanism","Download Engine Architecture — Retry Mechanism",[311,1087,1089],{"id":1088},"format-conversion-limitations","Format Conversion Limitations",[400,1091,1093],{"id":1092},"ffmpeg-wasm-performance","FFmpeg WASM Performance",[304,1095,1096],{},"FFmpeg runs as WebAssembly in browser, performance far below native version:",[319,1098,1099,1115],{},[322,1100,1101],{},[325,1102,1103,1106,1109,1112],{},[328,1104,1105],{},"Operation",[328,1107,1108],{},"Native FFmpeg",[328,1110,1111],{},"FFmpeg WASM (Single-thread)",[328,1113,1114],{},"FFmpeg WASM (Multi-thread)",[341,1116,1117,1131],{},[325,1118,1119,1122,1125,1128],{},[346,1120,1121],{},"TS → MP4 (1GB)",[346,1123,1124],{},"~5 sec",[346,1126,1127],{},"~60-90 sec",[346,1129,1130],{},"~30-50 sec",[325,1132,1133,1136,1139,1142],{},[346,1134,1135],{},"A\u002FV merge (1GB)",[346,1137,1138],{},"~10 sec",[346,1140,1141],{},"~120-180 sec",[346,1143,1127],{},[304,1145,1146,504],{},[349,1147,1148],{},"Reasons for Performance Difference",[1150,1151,1152,1158,1164,1170],"ol",{},[490,1153,1154,1157],{},[349,1155,1156],{},"WASM execution overhead",": WebAssembly runs in browser sandbox, instruction execution efficiency approximately 70-80% of native",[490,1159,1160,1163],{},[349,1161,1162],{},"SIMD limitations",": FFmpeg heavily uses SIMD instruction optimization; WASM SIMD support less comprehensive than native",[490,1165,1166,1169],{},[349,1167,1168],{},"Memory access",": WASM linear memory model differs from native memory management",[490,1171,1172,1175],{},[349,1173,1174],{},"I\u002FO bottleneck",": Virtual filesystem read\u002Fwrite speed far below native filesystem",[459,1177,1178],{},[304,1179,1180,1181,1184,1185,478],{},"For complete technical implementation of FFmpeg WASM (loading, multi-thread detection, command execution), see ",[465,1182,1183],{"href":61},"Format Conversion — FFmpeg WASM Engine",". For how to skip FFmpeg by selecting TS output, see ",[465,1186,1188],{"href":1187},"\u002Fdocs\u002Ffeatures\u002Fformat-conversion#output-format-selection","Format Conversion — Output Format Selection",[400,1190,1192],{"id":1191},"unsupported-conversions","Unsupported Conversions",[304,1194,1195],{},"Following conversion paths currently unsupported:",[487,1197,1198,1201,1204,1207,1210],{},[490,1199,1200],{},"Any format → AVI, MOV, MKV, WebM",[490,1202,1203],{},"Video codec conversion (e.g., H.264 → H.265)",[490,1205,1206],{},"Audio codec conversion (e.g., AAC → MP3)",[490,1208,1209],{},"Resolution scaling",[490,1211,1212],{},"Adding watermarks or subtitles",[304,1214,1215,1216,1219],{},"FlowPick's FFmpeg integration focuses on ",[349,1217,1218],{},"container format conversion"," (remuxing), without involving encoding\u002Fdecoding.",[304,1221,1222,504],{},[349,1223,1224],{},"Remuxing vs Transcoding",[694,1226,1229],{"className":1227,"code":1228,"language":699},[697],"Remuxing (FlowPick supports):\n  TS container → Extract H.264 video stream + AAC audio stream → Package into MP4 container\n  Characteristics: No codec change, fast speed, lossless\n\nTranscoding (FlowPick doesn't support):\n  H.264 video stream → Decode → Re-encode as H.265 → Package\n  Characteristics: Codec change, slow speed, lossy, CPU-intensive\n",[608,1230,1228],{"__ignoreMap":702},[459,1232,1233],{},[304,1234,1235,1236,1239,1240,478],{},"For distinction between containers and codecs, see ",[465,1237,1238],{"href":61},"Format Conversion — Containers & Codecs",". For TS and MP4 format player compatibility, see ",[465,1241,1188],{"href":1187},[311,1243,1245],{"id":1244},"extension-version-limitations","Extension Version Limitations",[400,1247,1249],{"id":1248},"manifest-v3-limitations","Manifest V3 Limitations",[304,1251,1252],{},"FlowPick extension uses Chrome Manifest V3, subject to these platform limitations:",[487,1254,1255,1258,1261],{},[490,1256,1257],{},"Service Worker lifecycle limited (terminates after ~30 seconds idle)",[490,1259,1260],{},"Cannot use persistent background page",[490,1262,1263,1264,1267],{},"Network request monitoring relies on ",[608,1265,1266],{},"webRequest"," API",[304,1269,1270,504],{},[349,1271,1272],{},"Impact of Manifest V3 on FlowPick",[319,1274,1275,1288],{},[322,1276,1277],{},[325,1278,1279,1282,1285],{},[328,1280,1281],{},"Limitation",[328,1283,1284],{},"Impact",[328,1286,1287],{},"Mitigation",[341,1289,1290,1301,1312],{},[325,1291,1292,1295,1298],{},[346,1293,1294],{},"Service Worker 30-second timeout",[346,1296,1297],{},"Long downloads may be interrupted",[346,1299,1300],{},"Maintain heartbeat during download to prevent SW sleep",[325,1302,1303,1306,1309],{},[346,1304,1305],{},"No persistent background",[346,1307,1308],{},"Cannot continuously monitor in background",[346,1310,1311],{},"Activate detection when user opens popup",[325,1313,1314,1319,1322],{},[346,1315,1316,1318],{},[608,1317,1266],{}," changed to read-only",[346,1320,1321],{},"Cannot modify request headers",[346,1323,1324],{},"Doesn't affect FlowPick (only reads, doesn't modify)",[459,1326,1327],{},[304,1328,1329,1330,1333,1334,478],{},"For extension installation and activation steps, see ",[465,1331,1332],{"href":19},"Installation Guide",". For permissions requested by extension and their purposes, see ",[465,1335,1336],{"href":56},"Privacy & Security — Permission Explanation",[400,1338,1340],{"id":1339},"detection-scope","Detection Scope",[304,1342,1343],{},"Extension's media detection relies on network request monitoring:",[487,1345,1346,1349,1352,1355],{},[490,1347,1348],{},"Can only detect requests initiated after extension activation",[490,1350,1351],{},"Page refresh allows re-detection",[490,1353,1354],{},"Some websites using WebSocket or MSE may not have media URLs detected",[490,1356,1357],{},"Media in iframes may be undetectable (depends on iframe's cross-origin policy)",[459,1359,1360],{},[304,1361,1362,1363,1365,1366,478],{},"For media detection technical principles and HLS\u002FDASH manifest parsing, see ",[465,1364,40],{"href":41},". For troubleshooting steps when media undetected, see ",[465,1367,1369],{"href":1368},"\u002Fdocs\u002Ftroubleshooting\u002Fcommon-issues#media-detection-issues","Common Issues Troubleshooting — Media Detection Issues",[311,1371,1373],{"id":1372},"known-bugs","Known Bugs",[400,1375,1377],{"id":1376},"large-file-blob-download-may-hang","Large File Blob Download May Hang",[304,1379,1380,1383],{},[349,1381,1382],{},"Symptom",": When downloading files approaching 1.5GB in Blob mode, browser may become unresponsive for extended periods.",[304,1385,1386,1388,1389,1392],{},[349,1387,450],{},": ",[608,1390,1391],{},"new Blob([...])"," construction requires copying all data; memory allocation and copying for large files takes considerable time.",[304,1394,1395,1398],{},[349,1396,1397],{},"Workaround",": Use Chrome browser to enable streaming write.",[459,1400,1401],{},[304,1402,1403,1404,478],{},"For Blob mode memory limits and alternatives, see ",[465,1405,1407],{"href":1406},"\u002Fdocs\u002Fadvanced\u002Fdownload-engine#strategy-three-blob-fallback","Download Engine Architecture — Strategy Three: Blob Fallback",[400,1409,1411],{"id":1410},"slow-first-ffmpeg-load","Slow First FFmpeg Load",[304,1413,1414,1416],{},[349,1415,1382],{},": First time using format conversion feature, FFmpeg loading takes 10-30 seconds.",[304,1418,1419,1421],{},[349,1420,450],{},": FFmpeg WASM core files (~8MB) need to be downloaded from network and compiled.",[304,1423,1424,1427],{},[349,1425,1426],{},"Note",": This is normal behavior; subsequent uses leverage browser cache, significantly improving load speed.",[304,1429,1430,504],{},[349,1431,1432],{},"Load Time Breakdown",[694,1434,1437],{"className":1435,"code":1436,"language":699},[697],"First load:\n  Download WASM file (~8MB)   →  2-5 seconds (depends on network speed)\n  WASM compilation            →  5-15 seconds (depends on CPU)\n  Initialize virtual FS       →  1-3 seconds\n  Total                      →  10-30 seconds\n\nSubsequent loads (cache hit):\n  Read WASM from cache        →  \u003C1 second\n  WASM compilation (may cache) →  1-3 seconds\n  Total                      →  2-5 seconds\n",[608,1438,1436],{"__ignoreMap":702},[459,1440,1441],{},[304,1442,1443,1444,478],{},"For FFmpeg WASM loading flow and multi-thread detection, see ",[465,1445,1183],{"href":61},[400,1447,1449],{"id":1448},"occasional-cdn-segment-download-failures","Occasional CDN Segment Download Failures",[304,1451,1452,1454],{},[349,1453,1382],{},": Individual segments return 503 or network errors during download.",[304,1456,1457,1459],{},[349,1458,450],{},": CDN node temporary failure or network fluctuation.",[304,1461,1462,1464],{},[349,1463,1426],{},": FlowPick has built-in 3-retry mechanism (exponential backoff); usually auto-recovers. If all retries fail, segment is skipped and logged.",[459,1466,1467],{},[304,1468,1469,1470,478],{},"For detailed retry mechanism strategy (exponential backoff schedule, cases that don't trigger retry), see ",[465,1471,1085],{"href":1084},[308,1473],{},[311,1475,1477],{"id":1476},"related-documentation","Related Documentation",[487,1479,1480,1485,1490,1495,1500,1505,1510,1515,1520,1525,1530,1535,1540],{},[490,1481,1482,1484],{},[465,1483,136],{"href":137}," — Diagnostic steps and solutions organized by symptom",[490,1486,1487,1489],{},[465,1488,145],{"href":146}," — High-frequency questions with concise answers",[490,1491,1492,1494],{},[465,1493,96],{"href":97}," — Complete technical architecture of download engine",[490,1496,1497,1499],{},[465,1498,40],{"href":41}," — HLS\u002FDASH manifest parsing and encryption detection",[490,1501,1502,1504],{},[465,1503,60],{"href":61}," — FFmpeg WASM engine and output formats",[490,1506,1507,1509],{},[465,1508,65],{"href":66}," — Queue scheduling and concurrency control",[490,1511,1512,1514],{},[465,1513,91],{"href":92}," — Browser API support and degradation strategies",[490,1516,1517,1519],{},[465,1518,86],{"href":87}," — Online tool usage and limitations",[490,1521,1522,1524],{},[465,1523,55],{"href":56}," — Permission explanation and privacy protection",[490,1526,1527,1529],{},[465,1528,28],{"href":29}," — Concurrency, filter, and other settings",[490,1531,1532,1534],{},[465,1533,1332],{"href":19}," — Extension installation and activation",[490,1536,1537,1539],{},[465,1538,710],{"href":117}," — Very large file download scenarios",[490,1541,1542,1544],{},[465,1543,156],{"href":157}," — How to report bugs and contribute code",{"title":702,"searchDepth":1546,"depth":1546,"links":1547},2,[1548,1549,1554,1560,1565,1570,1574,1578,1583],{"id":313,"depth":1546,"text":314},{"id":397,"depth":1546,"text":398,"children":1550},[1551,1553],{"id":402,"depth":1552,"text":403},3,{"id":481,"depth":1552,"text":482},{"id":530,"depth":1546,"text":531,"children":1555},[1556,1557,1558,1559],{"id":534,"depth":1552,"text":535},{"id":636,"depth":1552,"text":637},{"id":672,"depth":1552,"text":673},{"id":718,"depth":1552,"text":719},{"id":755,"depth":1546,"text":756,"children":1561},[1562,1563,1564],{"id":759,"depth":1552,"text":760},{"id":821,"depth":1552,"text":822},{"id":853,"depth":1552,"text":854},{"id":892,"depth":1546,"text":893,"children":1566},[1567,1568,1569],{"id":896,"depth":1552,"text":897},{"id":957,"depth":1552,"text":958},{"id":989,"depth":1552,"text":990},{"id":1088,"depth":1546,"text":1089,"children":1571},[1572,1573],{"id":1092,"depth":1552,"text":1093},{"id":1191,"depth":1552,"text":1192},{"id":1244,"depth":1546,"text":1245,"children":1575},[1576,1577],{"id":1248,"depth":1552,"text":1249},{"id":1339,"depth":1552,"text":1340},{"id":1372,"depth":1546,"text":1373,"children":1579},[1580,1581,1582],{"id":1376,"depth":1552,"text":1377},{"id":1410,"depth":1552,"text":1411},{"id":1448,"depth":1552,"text":1449},{"id":1476,"depth":1546,"text":1477},"2026-07-08","Technical limitations, known issues, and edge case documentation for the current version of FlowPick.","md",{},{"icon":143},{"title":140,"description":1585},"VhSdj_WejupQsuBVJqsV7hTIzFtsqE-D4eEBTqhZt0k",[1592,1594],{"title":136,"path":137,"stem":138,"description":1593,"icon":131,"children":-1},"Systematic troubleshooting guide covering media detection, download failures, merge errors, and browser compatibility issues.",{"title":145,"path":146,"stem":147,"description":1595,"icon":148,"children":-1},"High-frequency questions and answers for FlowPick usage, covering installation, download, format conversion, and troubleshooting scenarios.",1788792259994]