[{"data":1,"prerenderedAt":1994},["ShallowReactive",2],{"navigation":3,"\u002Fdocs\u002Fadvanced\u002Fonline-tools":713,"\u002Fdocs\u002Fadvanced\u002Fonline-tools-surround":1989},[4,170,307,444,580],{"title":5,"path":6,"stem":7,"children":8,"page":32},"Docs","\u002Fdocs","1.docs",[9,33,74,95,134,154],{"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],{"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,"icon":76,"path":77,"stem":78,"children":79,"page":32},"Advanced","i-lucide-book-open","\u002Fdocs\u002Fadvanced","1.docs\u002F3.advanced",[80,85,90],{"title":81,"path":82,"stem":83,"icon":84},"Online Tools","\u002Fdocs\u002Fadvanced\u002Fonline-tools","1.docs\u002F3.advanced\u002F1.online-tools","i-lucide-globe",{"title":86,"path":87,"stem":88,"icon":89},"Browser Compatibility","\u002Fdocs\u002Fadvanced\u002Fbrowser-compatibility","1.docs\u002F3.advanced\u002F2.browser-compatibility","i-lucide-monitor-check",{"title":91,"path":92,"stem":93,"icon":94},"Download Engine Architecture","\u002Fdocs\u002Fadvanced\u002Fdownload-engine","1.docs\u002F3.advanced\u002F3.download-engine","i-lucide-cpu",{"title":96,"icon":97,"path":98,"stem":99,"children":100,"page":32},"Use Cases","i-lucide-lightbulb","\u002Fdocs\u002Fusecases","1.docs\u002F4.usecases",[101,106,110,115,120,124,129],{"title":102,"path":103,"stem":104,"icon":105},"Online Courses & Educational Platforms","\u002Fdocs\u002Fusecases\u002Fonline-courses","1.docs\u002F4.usecases\u002F1.online-courses","i-lucide-graduation-cap",{"title":107,"path":108,"stem":109,"icon":43},"Video Platforms & UGC Content","\u002Fdocs\u002Fusecases\u002Fvideo-platforms","1.docs\u002F4.usecases\u002F2.video-platforms",{"title":111,"path":112,"stem":113,"icon":114},"Live Replays & Event Recordings","\u002Fdocs\u002Fusecases\u002Flive-replays","1.docs\u002F4.usecases\u002F3.live-replays","i-lucide-radio",{"title":116,"path":117,"stem":118,"icon":119},"Podcasts & Audio Content","\u002Fdocs\u002Fusecases\u002Fpodcasts-audio","1.docs\u002F4.usecases\u002F4.podcasts-audio","i-lucide-headphones",{"title":121,"path":122,"stem":123,"icon":53},"Image Galleries & Wallpaper Batch Download","\u002Fdocs\u002Fusecases\u002Fimage-galleries","1.docs\u002F4.usecases\u002F5.image-galleries",{"title":125,"path":126,"stem":127,"icon":128},"Corporate Training & Internal Videos","\u002Fdocs\u002Fusecases\u002Fcorporate-training","1.docs\u002F4.usecases\u002F6.corporate-training","i-lucide-building-2",{"title":130,"path":131,"stem":132,"icon":133},"Personal Media Archiving & Collection","\u002Fdocs\u002Fusecases\u002Fpersonal-archiving","1.docs\u002F4.usecases\u002F7.personal-archiving","i-lucide-archive",{"title":135,"icon":136,"path":137,"stem":138,"children":139,"page":32},"Troubleshooting","i-lucide-wrench","\u002Fdocs\u002Ftroubleshooting","1.docs\u002F5.troubleshooting",[140,144,149],{"title":141,"path":142,"stem":143,"icon":136},"Common Issues Troubleshooting","\u002Fdocs\u002Ftroubleshooting\u002Fcommon-issues","1.docs\u002F5.troubleshooting\u002F1.common-issues",{"title":145,"path":146,"stem":147,"icon":148},"Known Limitations & Caveats","\u002Fdocs\u002Ftroubleshooting\u002Fknown-issues","1.docs\u002F5.troubleshooting\u002F2.known-issues","i-lucide-alert-triangle",{"title":150,"path":151,"stem":152,"icon":153},"FAQ","\u002Fdocs\u002Ftroubleshooting\u002Ffaq","1.docs\u002F5.troubleshooting\u002F3.faq","i-lucide-message-circle-question",{"title":155,"icon":156,"path":157,"stem":158,"children":159,"page":32},"Developer Docs","i-lucide-code","\u002Fdocs\u002Fdeveloper","1.docs\u002F6.developer",[160,165],{"title":161,"path":162,"stem":163,"icon":164},"Contributing Guide","\u002Fdocs\u002Fdeveloper\u002Fcontributing","1.docs\u002F6.developer\u002F1.contributing","i-lucide-git-pull-request",{"title":166,"path":167,"stem":168,"icon":169},"Project Architecture","\u002Fdocs\u002Fdeveloper\u002Farchitecture","1.docs\u002F6.developer\u002F2.architecture","i-lucide-box",{"title":171,"path":172,"stem":173,"children":174,"page":32},"Ja","\u002Fja","ja",[175,194,227,244,277,294],{"title":176,"path":177,"stem":178,"children":179,"icon":32},"クイックスタート","\u002Fja\u002Fgetting-started","ja\u002F1.getting-started\u002F1.index",[180,182,186,190],{"title":181,"path":177,"stem":178,"icon":16},"概要",{"title":183,"path":184,"stem":185,"icon":21},"インストール","\u002Fja\u002Fgetting-started\u002Finstallation","ja\u002F1.getting-started\u002F2.installation",{"title":187,"path":188,"stem":189,"icon":26},"使用方法","\u002Fja\u002Fgetting-started\u002Fusage","ja\u002F1.getting-started\u002F3.usage",{"title":191,"path":192,"stem":193,"icon":31},"設定リファレンス","\u002Fja\u002Fgetting-started\u002Fconfiguration","ja\u002F1.getting-started\u002F4.configuration",{"title":195,"icon":35,"path":196,"stem":197,"children":198,"page":32},"機能","\u002Fja\u002Ffeatures","ja\u002F2.features",[199,203,207,211,215,219,223],{"title":200,"path":201,"stem":202,"icon":43},"動画検知","\u002Fja\u002Ffeatures\u002Fvideo-sniffing","ja\u002F2.features\u002F1.video-sniffing",{"title":204,"path":205,"stem":206,"icon":48},"音声キャプチャ","\u002Fja\u002Ffeatures\u002Faudio-capture","ja\u002F2.features\u002F2.audio-capture",{"title":208,"path":209,"stem":210,"icon":53},"画像ダウンロード","\u002Fja\u002Ffeatures\u002Fimage-download","ja\u002F2.features\u002F3.image-download",{"title":212,"path":213,"stem":214,"icon":58},"プライバシーとセキュリティ","\u002Fja\u002Ffeatures\u002Fprivacy-security","ja\u002F2.features\u002F4.privacy-security",{"title":216,"path":217,"stem":218,"icon":63},"フォーマット変換","\u002Fja\u002Ffeatures\u002Fformat-conversion","ja\u002F2.features\u002F5.format-conversion",{"title":220,"path":221,"stem":222,"icon":68},"一括ダウンロード","\u002Fja\u002Ffeatures\u002Fbatch-download","ja\u002F2.features\u002F6.batch-download",{"title":224,"path":225,"stem":226,"icon":73},"キーボードショートカット","\u002Fja\u002Ffeatures\u002Fkeyboard-shortcuts","ja\u002F2.features\u002F7.keyboard-shortcuts",{"title":228,"icon":76,"path":229,"stem":230,"children":231,"page":32},"詳細情報","\u002Fja\u002Fadvanced","ja\u002F3.advanced",[232,236,240],{"title":233,"path":234,"stem":235,"icon":84},"オンラインツール","\u002Fja\u002Fadvanced\u002Fonline-tools","ja\u002F3.advanced\u002F1.online-tools",{"title":237,"path":238,"stem":239,"icon":89},"ブラウザ互換性","\u002Fja\u002Fadvanced\u002Fbrowser-compatibility","ja\u002F3.advanced\u002F2.browser-compatibility",{"title":241,"path":242,"stem":243,"icon":94},"ダウンロードエンジンアーキテクチャ","\u002Fja\u002Fadvanced\u002Fdownload-engine","ja\u002F3.advanced\u002F3.download-engine",{"title":245,"icon":97,"path":246,"stem":247,"children":248,"page":32},"ユースケース","\u002Fja\u002Fusecases","ja\u002F4.usecases",[249,253,257,261,265,269,273],{"title":250,"path":251,"stem":252,"icon":105},"オンラインコースと教育プラットフォーム","\u002Fja\u002Fusecases\u002Fonline-courses","ja\u002F4.usecases\u002F1.online-courses",{"title":254,"path":255,"stem":256,"icon":43},"動画プラットフォームと UGC コンテンツ","\u002Fja\u002Fusecases\u002Fvideo-platforms","ja\u002F4.usecases\u002F2.video-platforms",{"title":258,"path":259,"stem":260,"icon":114},"ライブ配信アーカイブと競技録画","\u002Fja\u002Fusecases\u002Flive-replays","ja\u002F4.usecases\u002F3.live-replays",{"title":262,"path":263,"stem":264,"icon":119},"ポッドキャストとオーディオコンテンツ","\u002Fja\u002Fusecases\u002Fpodcasts-audio","ja\u002F4.usecases\u002F4.podcasts-audio",{"title":266,"path":267,"stem":268,"icon":53},"ギャラリーと壁紙の一括ダウンロード","\u002Fja\u002Fusecases\u002Fimage-galleries","ja\u002F4.usecases\u002F5.image-galleries",{"title":270,"path":271,"stem":272,"icon":128},"企業研修と内部動画","\u002Fja\u002Fusecases\u002Fcorporate-training","ja\u002F4.usecases\u002F6.corporate-training",{"title":274,"path":275,"stem":276,"icon":133},"個人メディアコレクションとアーカイブ","\u002Fja\u002Fusecases\u002Fpersonal-archiving","ja\u002F4.usecases\u002F7.personal-archiving",{"title":278,"icon":136,"path":279,"stem":280,"children":281,"page":32},"トラブルシューティング","\u002Fja\u002Ftroubleshooting","ja\u002F5.troubleshooting",[282,286,290],{"title":283,"path":284,"stem":285,"icon":136},"一般的な問題のトラブルシューティング","\u002Fja\u002Ftroubleshooting\u002Fcommon-issues","ja\u002F5.troubleshooting\u002F1.common-issues",{"title":287,"path":288,"stem":289,"icon":148},"既知の制限事項と注意点","\u002Fja\u002Ftroubleshooting\u002Fknown-issues","ja\u002F5.troubleshooting\u002F2.known-issues",{"title":291,"path":292,"stem":293,"icon":153},"よくある質問","\u002Fja\u002Ftroubleshooting\u002Ffaq","ja\u002F5.troubleshooting\u002F3.faq",{"title":295,"icon":156,"path":296,"stem":297,"children":298,"page":32},"開発者ガイド","\u002Fja\u002Fdeveloper","ja\u002F6.developer",[299,303],{"title":300,"path":301,"stem":302,"icon":164},"貢献ガイド","\u002Fja\u002Fdeveloper\u002Fcontributing","ja\u002F6.developer\u002F1.contributing",{"title":304,"path":305,"stem":306,"icon":169},"プロジェクトアーキテクチャ","\u002Fja\u002Fdeveloper\u002Farchitecture","ja\u002F6.developer\u002F2.architecture",{"title":308,"path":309,"stem":310,"children":311,"page":32},"Ko","\u002Fko","ko",[312,331,364,381,414,431],{"title":313,"path":314,"stem":315,"children":316,"icon":32},"빠른 시작","\u002Fko\u002Fgetting-started","ko\u002F1.getting-started\u002F1.index",[317,319,323,327],{"title":318,"path":314,"stem":315,"icon":16},"소개",{"title":320,"path":321,"stem":322,"icon":21},"설치","\u002Fko\u002Fgetting-started\u002Finstallation","ko\u002F1.getting-started\u002F2.installation",{"title":324,"path":325,"stem":326,"icon":26},"사용 방법","\u002Fko\u002Fgetting-started\u002Fusage","ko\u002F1.getting-started\u002F3.usage",{"title":328,"path":329,"stem":330,"icon":31},"설정 참조","\u002Fko\u002Fgetting-started\u002Fconfiguration","ko\u002F1.getting-started\u002F4.configuration",{"title":332,"icon":35,"path":333,"stem":334,"children":335,"page":32},"기능","\u002Fko\u002Ffeatures","ko\u002F2.features",[336,340,344,348,352,356,360],{"title":337,"path":338,"stem":339,"icon":43},"비디오 스니핑","\u002Fko\u002Ffeatures\u002Fvideo-sniffing","ko\u002F2.features\u002F1.video-sniffing",{"title":341,"path":342,"stem":343,"icon":48},"오디오 캡처","\u002Fko\u002Ffeatures\u002Faudio-capture","ko\u002F2.features\u002F2.audio-capture",{"title":345,"path":346,"stem":347,"icon":53},"이미지 다운로드","\u002Fko\u002Ffeatures\u002Fimage-download","ko\u002F2.features\u002F3.image-download",{"title":349,"path":350,"stem":351,"icon":58},"개인정보 보호와 보안","\u002Fko\u002Ffeatures\u002Fprivacy-security","ko\u002F2.features\u002F4.privacy-security",{"title":353,"path":354,"stem":355,"icon":63},"포맷 변환","\u002Fko\u002Ffeatures\u002Fformat-conversion","ko\u002F2.features\u002F5.format-conversion",{"title":357,"path":358,"stem":359,"icon":68},"일괄 다운로드","\u002Fko\u002Ffeatures\u002Fbatch-download","ko\u002F2.features\u002F6.batch-download",{"title":361,"path":362,"stem":363,"icon":73},"키보드 단축키","\u002Fko\u002Ffeatures\u002Fkeyboard-shortcuts","ko\u002F2.features\u002F7.keyboard-shortcuts",{"title":365,"icon":76,"path":366,"stem":367,"children":368,"page":32},"고급 가이드","\u002Fko\u002Fadvanced","ko\u002F3.advanced",[369,373,377],{"title":370,"path":371,"stem":372,"icon":84},"온라인 도구","\u002Fko\u002Fadvanced\u002Fonline-tools","ko\u002F3.advanced\u002F1.online-tools",{"title":374,"path":375,"stem":376,"icon":89},"브라우저 호환성","\u002Fko\u002Fadvanced\u002Fbrowser-compatibility","ko\u002F3.advanced\u002F2.browser-compatibility",{"title":378,"path":379,"stem":380,"icon":94},"다운로드 엔진 아키텍처","\u002Fko\u002Fadvanced\u002Fdownload-engine","ko\u002F3.advanced\u002F3.download-engine",{"title":382,"icon":97,"path":383,"stem":384,"children":385,"page":32},"사용 사례","\u002Fko\u002Fusecases","ko\u002F4.usecases",[386,390,394,398,402,406,410],{"title":387,"path":388,"stem":389,"icon":105},"온라인 강좌 및 교육 플랫폼","\u002Fko\u002Fusecases\u002Fonline-courses","ko\u002F4.usecases\u002F1.online-courses",{"title":391,"path":392,"stem":393,"icon":43},"비디오 플랫폼 및 UGC 콘텐츠","\u002Fko\u002Fusecases\u002Fvideo-platforms","ko\u002F4.usecases\u002F2.video-platforms",{"title":395,"path":396,"stem":397,"icon":114},"라이브 방송 재생 및 경기 녹화","\u002Fko\u002Fusecases\u002Flive-replays","ko\u002F4.usecases\u002F3.live-replays",{"title":399,"path":400,"stem":401,"icon":119},"팟캐스트 및 오디오 콘텐츠","\u002Fko\u002Fusecases\u002Fpodcasts-audio","ko\u002F4.usecases\u002F4.podcasts-audio",{"title":403,"path":404,"stem":405,"icon":53},"이미지 갤러리 및 배경화면 일괄 다운로드","\u002Fko\u002Fusecases\u002Fimage-galleries","ko\u002F4.usecases\u002F5.image-galleries",{"title":407,"path":408,"stem":409,"icon":128},"기업 교육 및 내부 비디오","\u002Fko\u002Fusecases\u002Fcorporate-training","ko\u002F4.usecases\u002F6.corporate-training",{"title":411,"path":412,"stem":413,"icon":133},"개인 미디어 수집 및 보관","\u002Fko\u002Fusecases\u002Fpersonal-archiving","ko\u002F4.usecases\u002F7.personal-archiving",{"title":415,"icon":136,"path":416,"stem":417,"children":418,"page":32},"문제 해결","\u002Fko\u002Ftroubleshooting","ko\u002F5.troubleshooting",[419,423,427],{"title":420,"path":421,"stem":422,"icon":136},"일반적인 문제 해결","\u002Fko\u002Ftroubleshooting\u002Fcommon-issues","ko\u002F5.troubleshooting\u002F1.common-issues",{"title":424,"path":425,"stem":426,"icon":148},"알려진 제한 사항 및 주의사항","\u002Fko\u002Ftroubleshooting\u002Fknown-issues","ko\u002F5.troubleshooting\u002F2.known-issues",{"title":428,"path":429,"stem":430,"icon":153},"자주 묻는 질문","\u002Fko\u002Ftroubleshooting\u002Ffaq","ko\u002F5.troubleshooting\u002F3.faq",{"title":432,"icon":156,"path":433,"stem":434,"children":435,"page":32},"개발자 문서","\u002Fko\u002Fdeveloper","ko\u002F6.developer",[436,440],{"title":437,"path":438,"stem":439,"icon":164},"기여 가이드라인","\u002Fko\u002Fdeveloper\u002Fcontributing","ko\u002F6.developer\u002F1.contributing",{"title":441,"path":442,"stem":443,"icon":169},"프로젝트 아키텍처","\u002Fko\u002Fdeveloper\u002Farchitecture","ko\u002F6.developer\u002F2.architecture",{"title":445,"path":446,"stem":447,"children":448,"page":32},"Zh Hans","\u002Fzh-hans","zh-Hans",[449,467,500,517,550,567],{"title":450,"path":451,"stem":452,"children":453,"icon":32},"快速开始","\u002Fzh-hans\u002Fgetting-started","zh-Hans\u002F1.getting-started\u002F1.index",[454,456,460,463],{"title":455,"path":451,"stem":452,"icon":16},"简介",{"title":457,"path":458,"stem":459,"icon":21},"安装","\u002Fzh-hans\u002Fgetting-started\u002Finstallation","zh-Hans\u002F1.getting-started\u002F2.installation",{"title":187,"path":461,"stem":462,"icon":26},"\u002Fzh-hans\u002Fgetting-started\u002Fusage","zh-Hans\u002F1.getting-started\u002F3.usage",{"title":464,"path":465,"stem":466,"icon":31},"配置参考","\u002Fzh-hans\u002Fgetting-started\u002Fconfiguration","zh-Hans\u002F1.getting-started\u002F4.configuration",{"title":468,"icon":35,"path":469,"stem":470,"children":471,"page":32},"功能特性","\u002Fzh-hans\u002Ffeatures","zh-Hans\u002F2.features",[472,476,480,484,488,492,496],{"title":473,"path":474,"stem":475,"icon":43},"视频嗅探","\u002Fzh-hans\u002Ffeatures\u002Fvideo-sniffing","zh-Hans\u002F2.features\u002F1.video-sniffing",{"title":477,"path":478,"stem":479,"icon":48},"音频捕获","\u002Fzh-hans\u002Ffeatures\u002Faudio-capture","zh-Hans\u002F2.features\u002F2.audio-capture",{"title":481,"path":482,"stem":483,"icon":53},"图片下载","\u002Fzh-hans\u002Ffeatures\u002Fimage-download","zh-Hans\u002F2.features\u002F3.image-download",{"title":485,"path":486,"stem":487,"icon":58},"隐私与安全","\u002Fzh-hans\u002Ffeatures\u002Fprivacy-security","zh-Hans\u002F2.features\u002F4.privacy-security",{"title":489,"path":490,"stem":491,"icon":63},"格式转换","\u002Fzh-hans\u002Ffeatures\u002Fformat-conversion","zh-Hans\u002F2.features\u002F5.format-conversion",{"title":493,"path":494,"stem":495,"icon":68},"批量下载","\u002Fzh-hans\u002Ffeatures\u002Fbatch-download","zh-Hans\u002F2.features\u002F6.batch-download",{"title":497,"path":498,"stem":499,"icon":73},"键盘快捷键","\u002Fzh-hans\u002Ffeatures\u002Fkeyboard-shortcuts","zh-Hans\u002F2.features\u002F7.keyboard-shortcuts",{"title":501,"icon":76,"path":502,"stem":503,"children":504,"page":32},"高级指南","\u002Fzh-hans\u002Fadvanced","zh-Hans\u002F3.advanced",[505,509,513],{"title":506,"path":507,"stem":508,"icon":84},"在线工具","\u002Fzh-hans\u002Fadvanced\u002Fonline-tools","zh-Hans\u002F3.advanced\u002F1.online-tools",{"title":510,"path":511,"stem":512,"icon":89},"浏览器兼容性","\u002Fzh-hans\u002Fadvanced\u002Fbrowser-compatibility","zh-Hans\u002F3.advanced\u002F2.browser-compatibility",{"title":514,"path":515,"stem":516,"icon":94},"下载引擎架构","\u002Fzh-hans\u002Fadvanced\u002Fdownload-engine","zh-Hans\u002F3.advanced\u002F3.download-engine",{"title":518,"icon":97,"path":519,"stem":520,"children":521,"page":32},"使用场景","\u002Fzh-hans\u002Fusecases","zh-Hans\u002F4.usecases",[522,526,530,534,538,542,546],{"title":523,"path":524,"stem":525,"icon":105},"在线课程与教育平台","\u002Fzh-hans\u002Fusecases\u002Fonline-courses","zh-Hans\u002F4.usecases\u002F1.online-courses",{"title":527,"path":528,"stem":529,"icon":43},"视频平台与 UGC 内容","\u002Fzh-hans\u002Fusecases\u002Fvideo-platforms","zh-Hans\u002F4.usecases\u002F2.video-platforms",{"title":531,"path":532,"stem":533,"icon":114},"直播回放与赛事录像","\u002Fzh-hans\u002Fusecases\u002Flive-replays","zh-Hans\u002F4.usecases\u002F3.live-replays",{"title":535,"path":536,"stem":537,"icon":119},"播客与音频内容","\u002Fzh-hans\u002Fusecases\u002Fpodcasts-audio","zh-Hans\u002F4.usecases\u002F4.podcasts-audio",{"title":539,"path":540,"stem":541,"icon":53},"图库与壁纸批量下载","\u002Fzh-hans\u002Fusecases\u002Fimage-galleries","zh-Hans\u002F4.usecases\u002F5.image-galleries",{"title":543,"path":544,"stem":545,"icon":128},"企业培训与内部视频","\u002Fzh-hans\u002Fusecases\u002Fcorporate-training","zh-Hans\u002F4.usecases\u002F6.corporate-training",{"title":547,"path":548,"stem":549,"icon":133},"个人媒体收藏与归档","\u002Fzh-hans\u002Fusecases\u002Fpersonal-archiving","zh-Hans\u002F4.usecases\u002F7.personal-archiving",{"title":551,"icon":136,"path":552,"stem":553,"children":554,"page":32},"故障排除","\u002Fzh-hans\u002Ftroubleshooting","zh-Hans\u002F5.troubleshooting",[555,559,563],{"title":556,"path":557,"stem":558,"icon":136},"常见问题排查","\u002Fzh-hans\u002Ftroubleshooting\u002Fcommon-issues","zh-Hans\u002F5.troubleshooting\u002F1.common-issues",{"title":560,"path":561,"stem":562,"icon":148},"已知限制与注意事项","\u002Fzh-hans\u002Ftroubleshooting\u002Fknown-issues","zh-Hans\u002F5.troubleshooting\u002F2.known-issues",{"title":564,"path":565,"stem":566,"icon":153},"常见问题解答","\u002Fzh-hans\u002Ftroubleshooting\u002Ffaq","zh-Hans\u002F5.troubleshooting\u002F3.faq",{"title":568,"icon":156,"path":569,"stem":570,"children":571,"page":32},"开发者文档","\u002Fzh-hans\u002Fdeveloper","zh-Hans\u002F6.developer",[572,576],{"title":573,"path":574,"stem":575,"icon":164},"贡献指南","\u002Fzh-hans\u002Fdeveloper\u002Fcontributing","zh-Hans\u002F6.developer\u002F1.contributing",{"title":577,"path":578,"stem":579,"icon":169},"项目架构","\u002Fzh-hans\u002Fdeveloper\u002Farchitecture","zh-Hans\u002F6.developer\u002F2.architecture",{"title":581,"path":582,"stem":583,"children":584,"page":32},"Zh Hant","\u002Fzh-hant","zh-Hant",[585,603,636,652,684,701],{"title":586,"path":587,"stem":588,"children":589,"icon":32},"快速入門","\u002Fzh-hant\u002Fgetting-started","zh-Hant\u002F1.getting-started\u002F1.index",[590,592,596,599],{"title":591,"path":587,"stem":588,"icon":16},"簡介",{"title":593,"path":594,"stem":595,"icon":21},"安裝","\u002Fzh-hant\u002Fgetting-started\u002Finstallation","zh-Hant\u002F1.getting-started\u002F2.installation",{"title":187,"path":597,"stem":598,"icon":26},"\u002Fzh-hant\u002Fgetting-started\u002Fusage","zh-Hant\u002F1.getting-started\u002F3.usage",{"title":600,"path":601,"stem":602,"icon":31},"配置參考","\u002Fzh-hant\u002Fgetting-started\u002Fconfiguration","zh-Hant\u002F1.getting-started\u002F4.configuration",{"title":604,"icon":35,"path":605,"stem":606,"children":607,"page":32},"功能特色","\u002Fzh-hant\u002Ffeatures","zh-Hant\u002F2.features",[608,612,616,620,624,628,632],{"title":609,"path":610,"stem":611,"icon":43},"影片嗅探","\u002Fzh-hant\u002Ffeatures\u002Fvideo-sniffing","zh-Hant\u002F2.features\u002F1.video-sniffing",{"title":613,"path":614,"stem":615,"icon":48},"音訊擷取","\u002Fzh-hant\u002Ffeatures\u002Faudio-capture","zh-Hant\u002F2.features\u002F2.audio-capture",{"title":617,"path":618,"stem":619,"icon":53},"圖片下載","\u002Fzh-hant\u002Ffeatures\u002Fimage-download","zh-Hant\u002F2.features\u002F3.image-download",{"title":621,"path":622,"stem":623,"icon":58},"隱私與安全","\u002Fzh-hant\u002Ffeatures\u002Fprivacy-security","zh-Hant\u002F2.features\u002F4.privacy-security",{"title":625,"path":626,"stem":627,"icon":63},"格式轉換","\u002Fzh-hant\u002Ffeatures\u002Fformat-conversion","zh-Hant\u002F2.features\u002F5.format-conversion",{"title":629,"path":630,"stem":631,"icon":68},"批次下載","\u002Fzh-hant\u002Ffeatures\u002Fbatch-download","zh-Hant\u002F2.features\u002F6.batch-download",{"title":633,"path":634,"stem":635,"icon":73},"鍵盤快速鍵","\u002Fzh-hant\u002Ffeatures\u002Fkeyboard-shortcuts","zh-Hant\u002F2.features\u002F7.keyboard-shortcuts",{"title":501,"icon":76,"path":637,"stem":638,"children":639,"page":32},"\u002Fzh-hant\u002Fadvanced","zh-Hant\u002F3.advanced",[640,644,648],{"title":641,"path":642,"stem":643,"icon":84},"線上工具","\u002Fzh-hant\u002Fadvanced\u002Fonline-tools","zh-Hant\u002F3.advanced\u002F1.online-tools",{"title":645,"path":646,"stem":647,"icon":89},"瀏覽器相容性","\u002Fzh-hant\u002Fadvanced\u002Fbrowser-compatibility","zh-Hant\u002F3.advanced\u002F2.browser-compatibility",{"title":649,"path":650,"stem":651,"icon":94},"下載引擎架構","\u002Fzh-hant\u002Fadvanced\u002Fdownload-engine","zh-Hant\u002F3.advanced\u002F3.download-engine",{"title":518,"icon":97,"path":653,"stem":654,"children":655,"page":32},"\u002Fzh-hant\u002Fusecases","zh-Hant\u002F4.usecases",[656,660,664,668,672,676,680],{"title":657,"path":658,"stem":659,"icon":105},"線上課程與教育平台","\u002Fzh-hant\u002Fusecases\u002Fonline-courses","zh-Hant\u002F4.usecases\u002F1.online-courses",{"title":661,"path":662,"stem":663,"icon":43},"影片平台與 UGC 內容","\u002Fzh-hant\u002Fusecases\u002Fvideo-platforms","zh-Hant\u002F4.usecases\u002F2.video-platforms",{"title":665,"path":666,"stem":667,"icon":114},"直播回放與賽事錄影","\u002Fzh-hant\u002Fusecases\u002Flive-replays","zh-Hant\u002F4.usecases\u002F3.live-replays",{"title":669,"path":670,"stem":671,"icon":119},"播客與音訊內容","\u002Fzh-hant\u002Fusecases\u002Fpodcasts-audio","zh-Hant\u002F4.usecases\u002F4.podcasts-audio",{"title":673,"path":674,"stem":675,"icon":53},"圖庫與桌布批次下載","\u002Fzh-hant\u002Fusecases\u002Fimage-galleries","zh-Hant\u002F4.usecases\u002F5.image-galleries",{"title":677,"path":678,"stem":679,"icon":128},"企業培訓與內部影片","\u002Fzh-hant\u002Fusecases\u002Fcorporate-training","zh-Hant\u002F4.usecases\u002F6.corporate-training",{"title":681,"path":682,"stem":683,"icon":133},"個人媒體收藏與歸檔","\u002Fzh-hant\u002Fusecases\u002Fpersonal-archiving","zh-Hant\u002F4.usecases\u002F7.personal-archiving",{"title":685,"icon":136,"path":686,"stem":687,"children":688,"page":32},"疑難排解","\u002Fzh-hant\u002Ftroubleshooting","zh-Hant\u002F5.troubleshooting",[689,693,697],{"title":690,"path":691,"stem":692,"icon":136},"常見問題排查","\u002Fzh-hant\u002Ftroubleshooting\u002Fcommon-issues","zh-Hant\u002F5.troubleshooting\u002F1.common-issues",{"title":694,"path":695,"stem":696,"icon":148},"已知限制與注意事項","\u002Fzh-hant\u002Ftroubleshooting\u002Fknown-issues","zh-Hant\u002F5.troubleshooting\u002F2.known-issues",{"title":698,"path":699,"stem":700,"icon":153},"常見問題解答","\u002Fzh-hant\u002Ftroubleshooting\u002Ffaq","zh-Hant\u002F5.troubleshooting\u002F3.faq",{"title":568,"icon":156,"path":702,"stem":703,"children":704,"page":32},"\u002Fzh-hant\u002Fdeveloper","zh-Hant\u002F6.developer",[705,709],{"title":706,"path":707,"stem":708,"icon":164},"貢獻指南","\u002Fzh-hant\u002Fdeveloper\u002Fcontributing","zh-Hant\u002F6.developer\u002F1.contributing",{"title":710,"path":711,"stem":712,"icon":169},"專案架構","\u002Fzh-hant\u002Fdeveloper\u002Farchitecture","zh-Hant\u002F6.developer\u002F2.architecture",{"id":714,"title":81,"body":715,"description":1983,"extension":1984,"meta":1985,"navigation":1986,"path":82,"seo":1987,"stem":83,"__hash__":1988},"docs\u002F1.docs\u002F3.advanced\u002F1.online-tools.md",{"type":716,"value":717,"toc":1948},"minimark",[718,722,725,730,733,816,826,828,832,911,922,926,932,939,944,947,955,959,998,1007,1011,1016,1019,1029,1032,1038,1043,1046,1050,1053,1112,1115,1137,1144,1148,1151,1156,1168,1173,1184,1189,1200,1210,1214,1217,1262,1268,1270,1274,1279,1285,1288,1291,1298,1301,1332,1336,1343,1369,1372,1378,1382,1385,1399,1402,1408,1417,1421,1424,1438,1441,1482,1484,1488,1492,1495,1509,1514,1519,1547,1554,1558,1561,1622,1631,1635,1638,1721,1733,1737,1740,1760,1762,1766,1769,1805,1808,1814,1823,1827,1831,1837,1843,1847,1853,1856,1860,1866,1872,1874,1878],[719,720,721],"p",{},"In addition to the browser extension, FlowPick provides two independent online tool pages that allow downloading streaming media without installing any software. These tools share the same download engine as the extension but run in a web environment.",[723,724],"hr",{},[726,727,729],"h2",{"id":728},"when-to-use-online-tools","When to Use Online Tools",[719,731,732],{},"Online tools are a supplementary solution to the extension, suitable for following scenarios:",[734,735,736,752],"table",{},[737,738,739],"thead",{},[740,741,742,746,749],"tr",{},[743,744,745],"th",{},"Scenario",[743,747,748],{},"Recommended Method",[743,750,751],{},"Reason",[753,754,755,770,781,791,804],"tbody",{},[740,756,757,761,767],{},[758,759,760],"td",{},"Download anytime during daily browsing",[758,762,763],{},[764,765,766],"a",{"href":19},"Browser Extension",[758,768,769],{},"Auto-detection, one-click download",[740,771,772,775,778],{},[758,773,774],{},"Already have stream URL, just want quick download",[758,776,777],{},"Online tools",[758,779,780],{},"No installation needed, open and use",[740,782,783,786,788],{},[758,784,785],{},"Environments where extensions cannot be installed (company computers, public devices)",[758,787,777],{},[758,789,790],{},"Pure web page, no installation required",[740,792,793,796,801],{},[758,794,795],{},"Need to batch download multiple known URLs",[758,797,798,799],{},"Online tools + ",[764,800,65],{"href":66},[758,802,803],{},"Paste one by one, queue management",[740,805,806,809,813],{},[758,807,808],{},"Encounter CORS restrictions",[758,810,811],{},[764,812,766],{"href":19},[758,814,815],{},"Extension permissions can bypass same-origin policy",[817,818,819],"tip",{},[719,820,821,822,825],{},"If unsure which method to use, prioritize installing the extension. Online tools are suitable for temporary scenarios where \"you have a stream URL and don't want to install an extension\". See ",[764,823,824],{"href":19},"Installation Guide"," for details.",[723,827],{},[726,829,831],{"id":830},"differences-from-extension","Differences from Extension",[734,833,834,845],{},[737,835,836],{},[740,837,838,841,843],{},[743,839,840],{},"Feature",[743,842,766],{},[743,844,81],{},[753,846,847,858,869,880,890,900],{},[740,848,849,852,855],{},[758,850,851],{},"Auto-detect media",[758,853,854],{},"Supported, auto-sniffs on page load",[758,856,857],{},"Not supported, requires manual paste of URL",[740,859,860,863,866],{},[758,861,862],{},"Installation requirement",[758,864,865],{},"Requires extension installation",[758,867,868],{},"No installation needed, just open webpage",[740,870,871,874,877],{},[758,872,873],{},"Cross-origin restrictions",[758,875,876],{},"Extension permissions can bypass some restrictions",[758,878,879],{},"Subject to browser same-origin policy",[740,881,882,885,888],{},[758,883,884],{},"Download engine",[758,886,887],{},"Same",[758,889,887],{},[740,891,892,895,898],{},[758,893,894],{},"Save directory selection",[758,896,897],{},"Supported",[758,899,897],{},[740,901,902,905,908],{},[758,903,904],{},"Use case",[758,906,907],{},"Anytime download during daily browsing",[758,909,910],{},"Quick download when stream URL already available",[912,913,914],"note",{},[719,915,916,917,921],{},"Online tools and extension use exactly the same download engine (",[918,919,920],"code",{},"useStreamMerge","), with identical download speed, merge logic, and encryption\u002Fdecryption capabilities. The only difference is in media detection method.",[726,923,925],{"id":924},"m3u8hls-stream-downloader","M3U8\u002FHLS Stream Downloader",[719,927,928,929],{},"Access path: ",[918,930,931],{},"\u002Fm3u8-downloader",[719,933,934],{},[935,936],"img",{"alt":937,"src":938},"M3U8 Downloader Interface","\u002Fscreenshots\u002Fm3u8-downloader.png",[940,941,943],"h3",{"id":942},"overview","Overview",[719,945,946],{},"M3U8 downloader specifically handles HLS (HTTP Live Streaming) streaming protocol. Supports both Master Playlist and Media Playlist manifest formats.",[719,948,949,950,954],{},"For detailed principles of HLS protocol (Master Playlist vs Media Playlist, segment structure, encryption mechanism), see ",[764,951,953],{"href":952},"\u002Fdocs\u002Ffeatures\u002Fvideo-sniffing#hlsm3u8-streams","Video Sniffing — HLS Streams",".",[940,956,958],{"id":957},"usage-flow","Usage Flow",[960,961,962,974,980,986,992],"ol",{},[963,964,965,969,970,973],"li",{},[966,967,968],"strong",{},"Get M3U8 URL",": Obtain ",[918,971,972],{},".m3u8"," address from browser developer tools (Network panel) or third-party tools",[963,975,976,979],{},[966,977,978],{},"Paste URL",": Paste address into input field, tool will automatically parse manifest",[963,981,982,985],{},[966,983,984],{},"Select quality",": If Master Playlist, select target resolution from quality list",[963,987,988,991],{},[966,989,990],{},"Configure parameters",": Set concurrent thread count, output format, and filename",[963,993,994,997],{},[966,995,996],{},"Start download",": Click download button, tool will automatically download all segments and merge",[817,999,1000],{},[719,1001,1002,1003,954],{},"Don't know how to get M3U8 address? Refer to F12 developer tool guide in ",[764,1004,1006],{"href":1005},"\u002Fdocs\u002Fusecases\u002Fvideo-platforms#manual-url-retrieval-mode","Video Platforms — Manual URL Retrieval Mode",[940,1008,1010],{"id":1009},"supported-manifest-types","Supported Manifest Types",[719,1012,1013],{},[966,1014,1015],{},"Master Playlist (Multi-bitrate)",[719,1017,1018],{},"Contains multiple sub-streams of different qualities. After parsing, displays quality selector:",[1020,1021,1026],"pre",{"className":1022,"code":1024,"language":1025},[1023],"language-text","1080p · 5.2 Mbps · avc1.640028\n720p · 2.8 Mbps · avc1.64001f\n480p · 1.2 Mbps · avc1.64001e\n","text",[918,1027,1024],{"__ignoreMap":1028},"",[719,1030,1031],{},"After selecting a quality, tool will download corresponding Media Playlist and get segment list.",[719,1033,1034],{},[935,1035],{"alt":1036,"src":1037},"Quality Selector Dropdown","\u002Fscreenshots\u002Fquality-selector.png",[719,1039,1040],{},[966,1041,1042],{},"Media Playlist (Single-bitrate)",[719,1044,1045],{},"Directly contains TS segment list, no need to select quality. After parsing, directly displays segment count and estimated size.",[940,1047,1049],{"id":1048},"encryption-support","Encryption Support",[719,1051,1052],{},"M3U8 downloader supports following encryption methods:",[734,1054,1055,1068],{},[737,1056,1057],{},[740,1058,1059,1062,1065],{},[743,1060,1061],{},"Encryption Method",[743,1063,1064],{},"Support Status",[743,1066,1067],{},"Description",[753,1069,1070,1081,1092,1102],{},[740,1071,1072,1075,1078],{},[758,1073,1074],{},"AES-128 CBC",[758,1076,1077],{},"Fully supported",[758,1079,1080],{},"Auto-obtains key and decrypts segments",[740,1082,1083,1086,1089],{},[758,1084,1085],{},"SAMPLE-AES",[758,1087,1088],{},"Not supported",[758,1090,1091],{},"Requires dedicated decoder",[740,1093,1094,1097,1099],{},[758,1095,1096],{},"Clear Key",[758,1098,1088],{},[758,1100,1101],{},"DRM protected content",[740,1103,1104,1107,1109],{},[758,1105,1106],{},"Widevine \u002F PlayReady",[758,1108,1088],{},[758,1110,1111],{},"Commercial DRM, cannot decrypt",[719,1113,1114],{},"For AES-128 encrypted streams, tool will:",[960,1116,1117,1124,1127,1134],{},[963,1118,1119,1120,1123],{},"Parse ",[918,1121,1122],{},"#EXT-X-KEY"," tag to get key URI",[963,1125,1126],{},"Download key file",[963,1128,1129,1130,1133],{},"Use Web Crypto API (",[918,1131,1132],{},"crypto.subtle.decrypt",") to decrypt each segment in browser",[963,1135,1136],{},"Merge decrypted segments into final file",[912,1138,1139],{},[719,1140,1141,1142,825],{},"All decryption operations are completed locally in browser; keys and segment data are not uploaded to any server. See ",[764,1143,55],{"href":56},[940,1145,1147],{"id":1146},"segment-download-merge","Segment Download & Merge",[719,1149,1150],{},"Download process is divided into three phases:",[719,1152,1153],{},[966,1154,1155],{},"Phase 1: Parsing (0% ~ 5%)",[1157,1158,1159,1162,1165],"ul",{},[963,1160,1161],{},"Download and parse M3U8 manifest",[963,1163,1164],{},"Extract segment URI list",[963,1166,1167],{},"Sample estimate total size",[719,1169,1170],{},[966,1171,1172],{},"Phase 2: Download (5% ~ 85%)",[1157,1174,1175,1178,1181],{},[963,1176,1177],{},"Multi-threaded concurrent segment download",[963,1179,1180],{},"Real-time display of progress, speed, and estimated remaining time",[963,1182,1183],{},"Auto-retry failed segments (up to 3 times, exponential backoff)",[719,1185,1186],{},[966,1187,1188],{},"Phase 3: Merge (85% ~ 100%)",[1157,1190,1191,1194,1197],{},[963,1192,1193],{},"Concatenate segments in order",[963,1195,1196],{},"For TS format: Direct binary concatenation (fastest)",[963,1198,1199],{},"For MP4 output: Use FFmpeg WASM for container conversion",[817,1201,1202],{},[719,1203,1204,1205,1207,1208,954],{},"For underlying implementation of concurrent download (Worker Pool, retry strategy, memory management), see ",[764,1206,91],{"href":92},". For detailed principles of TS→MP4 remuxing, see ",[764,1209,60],{"href":61},[940,1211,1213],{"id":1212},"progress-information","Progress Information",[719,1215,1216],{},"Real-time display during download:",[734,1218,1219,1228],{},[737,1220,1221],{},[740,1222,1223,1226],{},[743,1224,1225],{},"Metric",[743,1227,1067],{},[753,1229,1230,1238,1246,1254],{},[740,1231,1232,1235],{},[758,1233,1234],{},"Progress percentage",[758,1236,1237],{},"Completed segments \u002F Total segments",[740,1239,1240,1243],{},[758,1241,1242],{},"Download speed",[758,1244,1245],{},"Real-time speed estimate based on sliding window",[740,1247,1248,1251],{},[758,1249,1250],{},"Estimated remaining time",[758,1252,1253],{},"Calculated based on current speed and remaining segments",[740,1255,1256,1259],{},[758,1257,1258],{},"Downloaded bytes",[758,1260,1261],{},"Cumulative downloaded data volume",[719,1263,1264],{},[935,1265],{"alt":1266,"src":1267},"Download Progress Interface","\u002Fscreenshots\u002Fdownload-progress.png",[723,1269],{},[726,1271,1273],{"id":1272},"mpddash-stream-downloader","MPD\u002FDASH Stream Downloader",[719,1275,928,1276],{},[918,1277,1278],{},"\u002Fdash-downloader",[719,1280,1281],{},[935,1282],{"alt":1283,"src":1284},"DASH Downloader Interface","\u002Fscreenshots\u002Fdash-downloader.png",[940,1286,943],{"id":1287},"overview-1",[719,1289,1290],{},"DASH downloader handles MPEG-DASH streaming protocol. Unlike HLS, DASH streams' video and audio are usually separated and need to be downloaded separately then merged.",[719,1292,1293,1294,954],{},"For detailed principles of DASH protocol (MPD structure, audio-video separation, FMP4 packaging), see ",[764,1295,1297],{"href":1296},"\u002Fdocs\u002Ffeatures\u002Fvideo-sniffing#dashmpd-streams","Video Sniffing — DASH Streams",[940,1299,958],{"id":1300},"usage-flow-1",[960,1302,1303,1312,1317,1322,1327],{},[963,1304,1305,969,1308,1311],{},[966,1306,1307],{},"Get MPD URL",[918,1309,1310],{},".mpd"," address from browser developer tools",[963,1313,1314,1316],{},[966,1315,978],{},": Paste address into input field",[963,1318,1319,1321],{},[966,1320,984],{},": Select from parsed video stream list",[963,1323,1324,1326],{},[966,1325,990],{},": Set concurrent thread count and filename",[963,1328,1329,1331],{},[966,1330,996],{},": Tool automatically downloads video and audio segments and merges them",[940,1333,1335],{"id":1334},"mpd-manifest-parsing","MPD Manifest Parsing",[719,1337,1338,1339,1342],{},"DASH downloader uses ",[918,1340,1341],{},"mpd-parser"," library to parse MPD manifest, extracting following information:",[1157,1344,1345,1351,1357,1363],{},[963,1346,1347,1350],{},[966,1348,1349],{},"Period",": Time period definition",[963,1352,1353,1356],{},[966,1354,1355],{},"AdaptationSet",": Media type grouping (video\u002Faudio)",[963,1358,1359,1362],{},[966,1360,1361],{},"Representation",": Specific quality\u002Fbitrate options",[963,1364,1365,1368],{},[966,1366,1367],{},"SegmentTemplate \u002F SegmentList",": Segment URL pattern",[719,1370,1371],{},"Parsing results sorted by bitrate descending, display format:",[1020,1373,1376],{"className":1374,"code":1375,"language":1025},[1023],"1080p · 5.2 Mbps · avc1.640028\n720p · 2.8 Mbps · avc1.64001f\n",[918,1377,1375],{"__ignoreMap":1028},[940,1379,1381],{"id":1380},"audio-video-separate-processing","Audio-Video Separate Processing",[719,1383,1384],{},"A key characteristic of DASH streams is that video and audio tracks are separated. Downloader processing flow:",[960,1386,1387,1390,1393,1396],{},[963,1388,1389],{},"Parse MPD, identify video and audio AdaptationSets",[963,1391,1392],{},"After user selects video quality, auto-match best audio stream (usually highest bitrate)",[963,1394,1395],{},"Parallel download of video segments and audio segments",[963,1397,1398],{},"Use FFmpeg WASM to merge video and audio into single MP4 file",[719,1400,1401],{},"Merge command equivalent to:",[1020,1403,1406],{"className":1404,"code":1405,"language":1025},[1023],"ffmpeg -f concat -i video_list.txt -f concat -i audio_list.txt \\\n  -c:v copy -c:a copy -movflags +faststart output.mp4\n",[918,1407,1405],{"__ignoreMap":1028},[817,1409,1410],{},[719,1411,1412,1413,954],{},"DASH audio-video merge uses FFmpeg WASM engine. For FFmpeg WASM loading mechanism, memory limitations, and performance optimization, see ",[764,1414,1416],{"href":1415},"\u002Fdocs\u002Ffeatures\u002Fformat-conversion#ffmpeg-wasm-engine","Format Conversion — FFmpeg WASM Engine",[940,1418,1420],{"id":1419},"fmp4-support","FMP4 Support",[719,1422,1423],{},"For DASH streams using FMP4 (Fragmented MP4) packaging, downloader supports:",[1157,1425,1426,1432,1435],{},[963,1427,1428,1429],{},"Identify FMP4 identifiers like ",[918,1430,1431],{},"urn:mpeg:dash:ffmpeg:2013",[963,1433,1434],{},"Download init segments and media segments",[963,1436,1437],{},"Use FFmpeg WASM to reassemble FMP4 segments into standard MP4",[940,1439,1049],{"id":1440},"encryption-support-1",[734,1442,1443,1451],{},[737,1444,1445],{},[740,1446,1447,1449],{},[743,1448,1061],{},[743,1450,1064],{},[753,1452,1453,1461,1468,1475],{},[740,1454,1455,1458],{},[758,1456,1457],{},"AES-128 CTR",[758,1459,1460],{},"Partially supported",[740,1462,1463,1466],{},[758,1464,1465],{},"Widevine",[758,1467,1088],{},[740,1469,1470,1473],{},[758,1471,1472],{},"PlayReady",[758,1474,1088],{},[740,1476,1477,1480],{},[758,1478,1479],{},"ClearKey",[758,1481,1088],{},[723,1483],{},[726,1485,1487],{"id":1486},"common-features","Common Features",[940,1489,1491],{"id":1490},"save-directory-selection","Save Directory Selection",[719,1493,1494],{},"Both online tools support File System Access API's directory persistence feature:",[960,1496,1497,1500,1503,1506],{},[963,1498,1499],{},"Click \"Select Save Directory\" button",[963,1501,1502],{},"Select target folder in system dialog that pops up",[963,1504,1505],{},"After authorization, all subsequent downloads write directly to that directory",[963,1507,1508],{},"Directory name displayed on interface, can be cleared or changed anytime",[719,1510,1511],{},[935,1512],{"alt":1491,"src":1513},"\u002Fscreenshots\u002Fsave-directory.png",[719,1515,1516],{},[966,1517,1518],{},"Technical Implementation:",[1157,1520,1521,1528,1534,1541],{},[963,1522,1523,1524,1527],{},"Use ",[918,1525,1526],{},"window.showDirectoryPicker()"," to get directory handle",[963,1529,1530,1531],{},"Request persistent permission via ",[918,1532,1533],{},"handle.requestPermission({ mode: 'readwrite' })",[963,1535,1536,1537,1540],{},"Directory name cached in ",[918,1538,1539],{},"localStorage"," for UI display",[963,1542,1543,1544],{},"Permission status silently checked via ",[918,1545,1546],{},"navigator.permissions.query()",[817,1548,1549],{},[719,1550,1551,1552,825],{},"File System Access API requires Chrome 86+ or Edge 86+. If your browser doesn't support it, will automatically fall back to StreamSaver.js or Blob download. See ",[764,1553,86],{"href":87},[940,1555,1557],{"id":1556},"write-strategy-priority","Write Strategy Priority",[719,1559,1560],{},"Download engine selects file writing method by following priority:",[734,1562,1563,1579],{},[737,1564,1565],{},[740,1566,1567,1570,1573,1576],{},[743,1568,1569],{},"Priority",[743,1571,1572],{},"Strategy",[743,1574,1575],{},"Memory Usage",[743,1577,1578],{},"Applicable Conditions",[753,1580,1581,1595,1608],{},[740,1582,1583,1586,1589,1592],{},[758,1584,1585],{},"1",[758,1587,1588],{},"File System Access API",[758,1590,1591],{},"Extremely low (streaming write)",[758,1593,1594],{},"Chrome 86+, Edge 86+",[740,1596,1597,1600,1603,1605],{},[758,1598,1599],{},"2",[758,1601,1602],{},"StreamSaver.js",[758,1604,1591],{},[758,1606,1607],{},"Requires Service Worker support",[740,1609,1610,1613,1616,1619],{},[758,1611,1612],{},"3",[758,1614,1615],{},"Blob download",[758,1617,1618],{},"Equal to file size",[758,1620,1621],{},"Fallback option, has 1.5GB limit",[912,1623,1624],{},[719,1625,1626,1627,954],{},"For detailed comparison of write strategies and fallback logic, see ",[764,1628,1630],{"href":1629},"\u002Fdocs\u002Fadvanced\u002Fdownload-engine#write-strategy","Download Engine Architecture — Write Strategy",[940,1632,1634],{"id":1633},"error-handling","Error Handling",[719,1636,1637],{},"Errors that may be encountered during download and how they're handled:",[734,1639,1640,1653],{},[737,1641,1642],{},[740,1643,1644,1647,1650],{},[743,1645,1646],{},"Error Type",[743,1648,1649],{},"Cause",[743,1651,1652],{},"Handling Method",[753,1654,1655,1666,1677,1688,1699,1710],{},[740,1656,1657,1660,1663],{},[758,1658,1659],{},"HTTP 403",[758,1661,1662],{},"Resource requires authentication or Referer validation",[758,1664,1665],{},"Prompt user to check if URL is valid",[740,1667,1668,1671,1674],{},[758,1669,1670],{},"HTTP 404",[758,1672,1673],{},"Segment expired or URL incorrect",[758,1675,1676],{},"Prompt user to re-obtain stream address",[740,1678,1679,1682,1685],{},[758,1680,1681],{},"CORS error",[758,1683,1684],{},"Cross-origin request rejected by server",[758,1686,1687],{},"Recommend using browser extension version",[740,1689,1690,1693,1696],{},[758,1691,1692],{},"Network error",[758,1694,1695],{},"Connection interrupted or timeout",[758,1697,1698],{},"Auto-retry 3 times",[740,1700,1701,1704,1707],{},[758,1702,1703],{},"Unsupported encryption",[758,1705,1706],{},"Encountered unsupported encryption method",[758,1708,1709],{},"Clearly indicate unable to process",[740,1711,1712,1715,1718],{},[758,1713,1714],{},"DRM protection",[758,1716,1717],{},"Content DRM protected",[758,1719,1720],{},"Inform user content cannot be downloaded",[817,1722,1723],{},[719,1724,1725,1726,1729,1730,1732],{},"CORS errors are most common issue. In this case recommend installing ",[764,1727,1728],{"href":19},"browser extension",", which can bypass same-origin policy restrictions. See ",[764,1731,141],{"href":142}," for more troubleshooting methods.",[940,1734,1736],{"id":1735},"after-download-completion","After Download Completion",[719,1738,1739],{},"Following operations provided after download completion:",[1157,1741,1742,1748,1754],{},[963,1743,1744,1747],{},[966,1745,1746],{},"Copy path",": Copy file save path to clipboard",[963,1749,1750,1753],{},[966,1751,1752],{},"Download another",": Reset state, prepare for next download",[963,1755,1756,1759],{},[966,1757,1758],{},"Clear save directory",": Remove directory authorization",[723,1761],{},[726,1763,1765],{"id":1764},"technical-limitations","Technical Limitations",[719,1767,1768],{},"Online tools have following limitations compared to extension version:",[960,1770,1771,1780,1786,1792],{},[963,1772,1773,1775,1776,1779],{},[966,1774,873],{},": Browser same-origin policy may block downloading segments from certain CDNs. Extension version can bypass some restrictions via ",[918,1777,1778],{},"webRequest"," permissions",[963,1781,1782,1785],{},[966,1783,1784],{},"Referer validation",": Some streaming servers require specific Referer headers, which online tools cannot customize",[963,1787,1788,1791],{},[966,1789,1790],{},"Service Worker dependency",": StreamSaver write strategy requires Service Worker support, and requires page to set correct COEP\u002FCOOP headers",[963,1793,1794,1797,1798,1800,1801,1804],{},[966,1795,1796],{},"SharedArrayBuffer",": FFmpeg WASM multi-threaded mode requires ",[918,1799,1796],{},", which requires page to set ",[918,1802,1803],{},"Cross-Origin-Isolated"," header",[719,1806,1807],{},"FlowPick website has configured necessary security headers to support these features:",[1020,1809,1812],{"className":1810,"code":1811,"language":1025},[1023],"Cross-Origin-Opener-Policy: same-origin\nCross-Origin-Embedder-Policy: require-corp\n",[918,1813,1811],{"__ignoreMap":1028},[912,1815,1816],{},[719,1817,1818,1819,954],{},"For technical background of COEP\u002FCOOP headers and browser compatibility, see ",[764,1820,1822],{"href":1821},"\u002Fdocs\u002Fadvanced\u002Fbrowser-compatibility#security-header-requirements","Browser Compatibility — Security Header Requirements",[726,1824,1826],{"id":1825},"typical-use-cases","Typical Use Cases",[940,1828,1830],{"id":1829},"scenario-1-quick-download-of-known-stream-address","Scenario 1: Quick Download of Known Stream Address",[1020,1832,1835],{"className":1833,"code":1834,"language":1025},[1023],"Get M3U8 URL → Open \u002Fm3u8-downloader → Paste → Select quality → Download\n",[918,1836,1834],{"__ignoreMap":1028},[719,1838,1839,1840,954],{},"Suitable for scenarios where stream address has been obtained via F12 developer tools. Refer to ",[764,1841,1842],{"href":1005},"Video Platforms — Manual URL Retrieval",[940,1844,1846],{"id":1845},"scenario-2-temporary-device-download","Scenario 2: Temporary Device Download",[1020,1848,1851],{"className":1849,"code":1850,"language":1025},[1023],"Public computer → Open FlowPick website → Paste stream address → Download to USB drive\n",[918,1852,1850],{"__ignoreMap":1028},[719,1854,1855],{},"No software installation needed, suitable for environments like company computers, school computer labs, internet cafes where extensions cannot be installed.",[940,1857,1859],{"id":1858},"scenario-3-batch-download-multiple-streams","Scenario 3: Batch Download Multiple Streams",[1020,1861,1864],{"className":1862,"code":1863,"language":1025},[1023],"Collect all M3U8 URLs → Download each one in online tool → Queue auto-managed\n",[918,1865,1863],{"__ignoreMap":1028},[719,1867,1868,1869,954],{},"Suitable for scenarios needing to download multiple course videos or series videos. Refer to ",[764,1870,1871],{"href":103},"Online Courses Download",[723,1873],{},[726,1875,1877],{"id":1876},"related-documentation","Related Documentation",[1157,1879,1880,1885,1890,1895,1900,1905,1910,1915,1920,1926,1931,1937,1942],{},[963,1881,1882,1884],{},[764,1883,824],{"href":19}," — Browser extension installation method",[963,1886,1887,1889],{},[764,1888,23],{"href":24}," — Complete operation guide for extension and online tools",[963,1891,1892,1894],{},[764,1893,40],{"href":41}," — Detection principles for HLS\u002FDASH protocols",[963,1896,1897,1899],{},[764,1898,60],{"href":61}," — TS→MP4 remuxing and FFmpeg WASM",[963,1901,1902,1904],{},[764,1903,65],{"href":66}," — Multi-resource queue management",[963,1906,1907,1909],{},[764,1908,55],{"href":56}," — Local processing, zero data upload",[963,1911,1912,1914],{},[764,1913,91],{"href":92}," — Concurrent download and write strategies",[963,1916,1917,1919],{},[764,1918,86],{"href":87}," — FSA\u002FStreamSaver support status",[963,1921,1922,1925],{},[764,1923,1924],{"href":108},"Video Platform Downloads"," — Stream address retrieval methods for various platforms",[963,1927,1928,1930],{},[764,1929,1871],{"href":103}," — Course video batch download",[963,1932,1933,1936],{},[764,1934,1935],{"href":112},"Live Replay Saving"," — Large file streaming download",[963,1938,1939,1941],{},[764,1940,141],{"href":142}," — Diagnosis of CORS errors and other issues",[963,1943,1944,1947],{},[764,1945,1946],{"href":146},"Known Issues"," — Known limitations of online tools",{"title":1028,"searchDepth":1949,"depth":1949,"links":1950},2,[1951,1952,1953,1962,1970,1976,1977,1982],{"id":728,"depth":1949,"text":729},{"id":830,"depth":1949,"text":831},{"id":924,"depth":1949,"text":925,"children":1954},[1955,1957,1958,1959,1960,1961],{"id":942,"depth":1956,"text":943},3,{"id":957,"depth":1956,"text":958},{"id":1009,"depth":1956,"text":1010},{"id":1048,"depth":1956,"text":1049},{"id":1146,"depth":1956,"text":1147},{"id":1212,"depth":1956,"text":1213},{"id":1272,"depth":1949,"text":1273,"children":1963},[1964,1965,1966,1967,1968,1969],{"id":1287,"depth":1956,"text":943},{"id":1300,"depth":1956,"text":958},{"id":1334,"depth":1956,"text":1335},{"id":1380,"depth":1956,"text":1381},{"id":1419,"depth":1956,"text":1420},{"id":1440,"depth":1956,"text":1049},{"id":1486,"depth":1949,"text":1487,"children":1971},[1972,1973,1974,1975],{"id":1490,"depth":1956,"text":1491},{"id":1556,"depth":1956,"text":1557},{"id":1633,"depth":1956,"text":1634},{"id":1735,"depth":1956,"text":1736},{"id":1764,"depth":1949,"text":1765},{"id":1825,"depth":1949,"text":1826,"children":1978},[1979,1980,1981],{"id":1829,"depth":1956,"text":1830},{"id":1845,"depth":1956,"text":1846},{"id":1858,"depth":1956,"text":1859},{"id":1876,"depth":1949,"text":1877},"M3U8\u002FHLS and MPD\u002FDASH streaming downloaders that work without installing extensions — get stream URL, paste it, select quality, download with one click.","md",{},{"icon":84},{"title":81,"description":1983},"9S-zn1NNB1Bc-VszRq5HncHOSp_Ranb-DNvWD97FXh0",[1990,1992],{"title":70,"path":71,"stem":72,"description":1991,"icon":73,"children":-1},"Complete reference for FlowPick keyboard shortcuts — default bindings, customization methods, conflict resolution, and efficiency workflows.",{"title":86,"path":87,"stem":88,"description":1993,"icon":89,"children":-1},"FlowPick feature support across different browsers, including API compatibility matrix, fallback strategies, and browser selection recommendations.",1783158225749]