[{"data":1,"prerenderedAt":2065},["ShallowReactive",2],{"navigation":3,"\u002Fdocs\u002Fdeveloper\u002Fcontributing":713,"\u002Fdocs\u002Fdeveloper\u002Fcontributing-surround":2060},[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":161,"body":715,"description":2054,"extension":2055,"meta":2056,"navigation":2057,"path":162,"seo":2058,"stem":163,"__hash__":2059},"docs\u002F1.docs\u002F6.developer\u002F1.contributing.md",{"type":716,"value":717,"toc":2018},"minimark",[718,722,725,730,733,752,754,758,763,766,777,793,797,800,814,828,832,835,847,850,865,872,966,970,973,975,979,983,1033,1037,1078,1082,1094,1101,1111,1115,1121,1131,1135,1229,1231,1235,1239,1242,1254,1258,1270,1273,1277,1280,1286,1289,1382,1385,1391,1395,1427,1431,1451,1456,1509,1519,1521,1525,1529,1536,1540,1543,1606,1610,1634,1638,1645,1669,1672,1678,1696,1698,1702,1706,1709,1771,1776,1898,1902,1905,1911,1921,1923,1927,1957,1959,1963,2015],[719,720,721],"p",{},"Thank you for your interest in the FlowPick project. This document guides you on how to participate in project contributions, including code submissions, documentation improvements, and issue reporting.",[723,724],"hr",{},[726,727,729],"h2",{"id":728},"code-of-conduct","Code of Conduct",[719,731,732],{},"By participating in this project, you agree to follow these basic principles:",[734,735,736,740,743,746,749],"ul",{},[737,738,739],"li",{},"Use friendly and inclusive language",[737,741,742],{},"Respect different viewpoints and experiences",[737,744,745],{},"Accept constructive criticism gracefully",[737,747,748],{},"Focus on what's best for the community",[737,750,751],{},"Show empathy toward other community members",[723,753],{},[726,755,757],{"id":756},"ways-to-contribute","Ways to Contribute",[759,760,762],"h3",{"id":761},"reporting-bugs","Reporting Bugs",[719,764,765],{},"If you find a bug, please submit a report via GitHub Issues. A good bug report should include:",[767,768,773],"pre",{"className":769,"code":771,"language":772},[770],"language-text","Title: Brief description of problem\n\nDescription:\n- What is expected behavior?\n- What actually happened?\n\nSteps to Reproduce:\n1. Open '...'\n2. Click on '...'\n3. Scroll to '...'\n4. See error\n\nEnvironment Information:\n- OS: Windows 11 \u002F macOS 14 \u002F Ubuntu 24.04\n- Browser: Chrome 125 \u002F Edge 125\n- FlowPick version: v1.0.0\n- Extension version or online tools?\n\nAdditional Info:\n- Console error logs\n- Screenshots or recordings\n- Relevant streaming URL (if publicly accessible)\n","text",[774,775,771],"code",{"__ignoreMap":776},"",[778,779,780],"tip",{},[719,781,782,783,788,789,792],{},"Before submitting a bug, recommend running ",[784,785,787],"a",{"href":786},"\u002Fdocs\u002Ftroubleshooting\u002Fcommon-issues#generate-diagnostic-report","diagnostic report generator"," in Console first and include output. Also check ",[784,790,791],{"href":146},"Known Limitations"," to confirm if it's a documented known limitation.",[759,794,796],{"id":795},"feature-requests","Feature Requests",[719,798,799],{},"When submitting feature requests, please explain:",[734,801,802,805,808,811],{},[737,803,804],{},"What is your use case?",[737,806,807],{},"What problem does this feature solve?",[737,809,810],{},"What is your expected behavior?",[737,812,813],{},"Are there alternative solutions?",[815,816,817],"note",{},[719,818,819,820,823,824,827],{},"Before submitting feature requests, recommend understanding FlowPick's ",[784,821,822],{"href":167},"technical architecture"," and ",[784,825,826],{"href":146},"known limitations"," to ensure your requirements are technically feasible.",[759,829,831],{"id":830},"improving-documentation","Improving Documentation",[719,833,834],{},"Documentation improvement is the easiest way to contribute:",[836,837,838,841,844],"ol",{},[737,839,840],{},"Find a documentation page that needs improvement",[737,842,843],{},"Click \"Edit this page\" link at bottom of page (if available)",[737,845,846],{},"Edit directly on GitHub and submit Pull Request",[719,848,849],{},"Or:",[836,851,852,855,862],{},[737,853,854],{},"Fork repository",[737,856,857,858,861],{},"Find corresponding Markdown file under ",[774,859,860],{},"content\u002F"," directory",[737,863,864],{},"Make changes and submit Pull Request",[719,866,867,871],{},[868,869,870],"strong",{},"Common directions for documentation improvements",":",[873,874,875,891],"table",{},[876,877,878],"thead",{},[879,880,881,885,888],"tr",{},[882,883,884],"th",{},"Direction",[882,886,887],{},"Description",[882,889,890],{},"Reference",[892,893,894,908,922,935,951],"tbody",{},[879,895,896,900,903],{},[897,898,899],"td",{},"Fix errors",[897,901,902],{},"Inaccurate technical descriptions, incorrect configuration examples",[897,904,905,906],{},"Verify against ",[784,907,166],{"href":167},[879,909,910,913,916],{},[897,911,912],{},"Add details",[897,914,915],{},"Missing usage instructions or parameter explanations for features",[897,917,918,919],{},"Reference style of ",[784,920,921],{"href":41},"Feature Documentation",[879,923,924,927,930],{},[897,925,926],{},"Add examples",[897,928,929],{},"Missing code or operation examples for actual use cases",[897,931,932,933],{},"Reference writing style of ",[784,934,96],{"href":103},[879,936,937,940,943],{},[897,938,939],{},"Translation",[897,941,942],{},"Translate documents into other languages",[897,944,945,946,950],{},"Refer to ",[784,947,949],{"href":948},"#multilingual","Multilingual"," section",[879,952,953,956,959],{},[897,954,955],{},"Fix links",[897,957,958],{},"Broken cross-reference links or incorrect targets",[897,960,961,962,965],{},"Check links in ",[774,963,964],{},"::note"," blocks",[759,967,969],{"id":968},"contributing-code","Contributing Code",[719,971,972],{},"If you want to contribute code, please follow this workflow.",[723,974],{},[726,976,978],{"id":977},"development-environment-setup","Development Environment Setup",[759,980,982],{"id":981},"prerequisites","Prerequisites",[873,984,985,998],{},[876,986,987],{},[879,988,989,992,995],{},[882,990,991],{},"Tool",[882,993,994],{},"Minimum Version",[882,996,997],{},"Notes",[892,999,1000,1011,1022],{},[879,1001,1002,1005,1008],{},[897,1003,1004],{},"Node.js",[897,1006,1007],{},"18.x",[897,1009,1010],{},"Recommend using nvm or fnm for version management",[879,1012,1013,1016,1019],{},[897,1014,1015],{},"pnpm",[897,1017,1018],{},"8.x",[897,1020,1021],{},"Package manager",[879,1023,1024,1027,1030],{},[897,1025,1026],{},"Git",[897,1028,1029],{},"2.x",[897,1031,1032],{},"Version control",[759,1034,1036],{"id":1035},"clone-install","Clone & Install",[767,1038,1042],{"className":1039,"code":1040,"language":1041,"meta":776,"style":776},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","git clone https:\u002F\u002Fgithub.com\u002Fezwebtools\u002Fflowpick.git\ncd flowpick-web\npnpm install\n","bash",[774,1043,1044,1060,1070],{"__ignoreMap":776},[1045,1046,1049,1053,1057],"span",{"class":1047,"line":1048},"line",1,[1045,1050,1052],{"class":1051},"sBMFI","git",[1045,1054,1056],{"class":1055},"sfazB"," clone",[1045,1058,1059],{"class":1055}," https:\u002F\u002Fgithub.com\u002Fezwebtools\u002Fflowpick.git\n",[1045,1061,1063,1067],{"class":1047,"line":1062},2,[1045,1064,1066],{"class":1065},"s2Zo4","cd",[1045,1068,1069],{"class":1055}," flowpick-web\n",[1045,1071,1073,1075],{"class":1047,"line":1072},3,[1045,1074,1015],{"class":1051},[1045,1076,1077],{"class":1055}," install\n",[759,1079,1081],{"id":1080},"start-development-server","Start Development Server",[767,1083,1085],{"className":1039,"code":1084,"language":1041,"meta":776,"style":776},"pnpm dev\n",[774,1086,1087],{"__ignoreMap":776},[1045,1088,1089,1091],{"class":1047,"line":1048},[1045,1090,1015],{"class":1051},[1045,1092,1093],{"class":1055}," dev\n",[719,1095,1096,1097,1100],{},"Development server runs at ",[774,1098,1099],{},"http:\u002F\u002Flocalhost:3000"," by default.",[815,1102,1103],{},[719,1104,1105,1106,1110],{},"If you need to test FFmpeg WASM multithreading mode, ensure development server is configured with correct COEP\u002FCOOP response headers. See details at ",[784,1107,1109],{"href":1108},"\u002Fdocs\u002Fadvanced\u002Fbrowser-compatibility#advanced-apis","Browser Compatibility — Advanced APIs",".",[759,1112,1114],{"id":1113},"project-structure","Project Structure",[767,1116,1119],{"className":1117,"code":1118,"language":772},[770],"flowpick-web\u002F\n├── app\u002F                    # Application source code\n│   ├── assets\u002F             # Static assets (CSS)\n│   ├── components\u002F         # Vue components\n│   │   └── content\u002F        # Nuxt Content specific components\n│   ├── composables\u002F        # Composables\n│   │   ├── useFFmpeg.ts    # FFmpeg WASM integration\n│   │   ├── useStreamMerge.ts # Stream merge & download engine\n│   │   ├── useClarity.ts   # Microsoft Clarity analytics\n│   │   └── useGA4.ts       # Google Analytics\n│   ├── layouts\u002F            # Layout components\n│   ├── pages\u002F              # Page routes\n│   │   ├── docs\u002F           # Documentation pages\n│   │   ├── changelog\u002F      # Changelog pages\n│   │   ├── legal\u002F          # Legal pages\n│   │   ├── m3u8-downloader.vue  # M3U8 downloader\n│   │   ├── dash-downloader.vue  # DASH downloader\n│   │   └── index.vue       # Homepage\n│   ├── types\u002F              # TypeScript type declarations\n│   ├── app.config.ts       # Application configuration\n│   └── app.vue             # Root component\n├── content\u002F                # Nuxt Content documentation\n│   └── zh-Hans\u002F            # Simplified Chinese docs\n├── public\u002F                 # Public static assets\n│   ├── ffmpeg\u002F             # FFmpeg WASM core files\n│   └── ffmpeg-mt\u002F          # FFmpeg WASM multithread core files\n├── nuxt.config.ts          # Nuxt configuration\n├── package.json            # Project dependencies\n└── tsconfig.json           # TypeScript configuration\n",[774,1120,1118],{"__ignoreMap":776},[815,1122,1123],{},[719,1124,1125,1126,1128,1129,1110],{},"For detailed responsibilities of each module, data flow, and design decisions, see ",[784,1127,166],{"href":167},". For complete technical implementation of download engine, see ",[784,1130,91],{"href":92},[759,1132,1134],{"id":1133},"tech-stack","Tech Stack",[873,1136,1137,1147],{},[876,1138,1139],{},[879,1140,1141,1144],{},[882,1142,1143],{},"Technology",[882,1145,1146],{},"Purpose",[892,1148,1149,1157,1165,1173,1181,1189,1197,1205,1213,1221],{},[879,1150,1151,1154],{},[897,1152,1153],{},"Nuxt 4",[897,1155,1156],{},"Full-stack framework",[879,1158,1159,1162],{},[897,1160,1161],{},"Vue 3",[897,1163,1164],{},"UI framework",[879,1166,1167,1170],{},[897,1168,1169],{},"Nuxt UI v4",[897,1171,1172],{},"Component library",[879,1174,1175,1178],{},[897,1176,1177],{},"Nuxt Content v3",[897,1179,1180],{},"Documentation system",[879,1182,1183,1186],{},[897,1184,1185],{},"Tailwind CSS v4",[897,1187,1188],{},"Styling",[879,1190,1191,1194],{},[897,1192,1193],{},"TypeScript",[897,1195,1196],{},"Type safety",[879,1198,1199,1202],{},[897,1200,1201],{},"@ffmpeg\u002Fffmpeg",[897,1203,1204],{},"Client-side media processing",[879,1206,1207,1210],{},[897,1208,1209],{},"m3u8-parser",[897,1211,1212],{},"HLS manifest parsing",[879,1214,1215,1218],{},[897,1216,1217],{},"mpd-parser",[897,1219,1220],{},"DASH manifest parsing",[879,1222,1223,1226],{},[897,1224,1225],{},"streamsaver",[897,1227,1228],{},"Streaming file saving",[723,1230],{},[726,1232,1234],{"id":1233},"development-standards","Development Standards",[759,1236,1238],{"id":1237},"code-style","Code Style",[719,1240,1241],{},"Project uses ESLint for code linting:",[767,1243,1245],{"className":1039,"code":1244,"language":1041,"meta":776,"style":776},"pnpm lint\n",[774,1246,1247],{"__ignoreMap":776},[1045,1248,1249,1251],{"class":1047,"line":1048},[1045,1250,1015],{"class":1051},[1045,1252,1253],{"class":1055}," lint\n",[759,1255,1257],{"id":1256},"type-checking","Type Checking",[767,1259,1261],{"className":1039,"code":1260,"language":1041,"meta":776,"style":776},"pnpm typecheck\n",[774,1262,1263],{"__ignoreMap":776},[1045,1264,1265,1267],{"class":1047,"line":1048},[1045,1266,1015],{"class":1051},[1045,1268,1269],{"class":1055}," typecheck\n",[719,1271,1272],{},"Ensure type checking passes before submitting.",[759,1274,1276],{"id":1275},"commit-message-convention","Commit Message Convention",[719,1278,1279],{},"Use Conventional Commits format:",[767,1281,1284],{"className":1282,"code":1283,"language":772},[770],"\u003Ctype>(\u003Cscope>): \u003Cdescription>\n\n[optional body]\n\n[optional footer]\n",[774,1285,1283],{"__ignoreMap":776},[719,1287,1288],{},"Types (type):",[873,1290,1291,1300],{},[876,1292,1293],{},[879,1294,1295,1298],{},[882,1296,1297],{},"Type",[882,1299,887],{},[892,1301,1302,1312,1322,1332,1342,1352,1362,1372],{},[879,1303,1304,1309],{},[897,1305,1306],{},[774,1307,1308],{},"feat",[897,1310,1311],{},"New feature",[879,1313,1314,1319],{},[897,1315,1316],{},[774,1317,1318],{},"fix",[897,1320,1321],{},"Bug fix",[879,1323,1324,1329],{},[897,1325,1326],{},[774,1327,1328],{},"docs",[897,1330,1331],{},"Documentation update",[879,1333,1334,1339],{},[897,1335,1336],{},[774,1337,1338],{},"style",[897,1340,1341],{},"Code formatting (no functional change)",[879,1343,1344,1349],{},[897,1345,1346],{},[774,1347,1348],{},"refactor",[897,1350,1351],{},"Code refactoring",[879,1353,1354,1359],{},[897,1355,1356],{},[774,1357,1358],{},"perf",[897,1360,1361],{},"Performance optimization",[879,1363,1364,1369],{},[897,1365,1366],{},[774,1367,1368],{},"test",[897,1370,1371],{},"Test-related",[879,1373,1374,1379],{},[897,1375,1376],{},[774,1377,1378],{},"chore",[897,1380,1381],{},"Build\u002Ftool changes",[719,1383,1384],{},"Example:",[767,1386,1389],{"className":1387,"code":1388,"language":772},[770],"feat(downloader): add concurrent segment download with configurable threads\n\nImplemented worker pool pattern for parallel segment downloading.\nConcurrency level can be configured between 1-8 threads.\n\nCloses #42\n",[774,1390,1388],{"__ignoreMap":776},[759,1392,1394],{"id":1393},"branch-strategy","Branch Strategy",[734,1396,1397,1403,1409,1415,1421],{},[737,1398,1399,1402],{},[774,1400,1401],{},"main",": Stable version, always deployable",[737,1404,1405,1408],{},[774,1406,1407],{},"develop",": Development branch",[737,1410,1411,1414],{},[774,1412,1413],{},"feat\u002Fxxx",": Feature branch",[737,1416,1417,1420],{},[774,1418,1419],{},"fix\u002Fxxx",": Bug fix branch",[737,1422,1423,1426],{},[774,1424,1425],{},"docs\u002Fxxx",": Documentation branch",[759,1428,1430],{"id":1429},"pull-request-workflow","Pull Request Workflow",[836,1432,1433,1436,1439,1445,1448],{},[737,1434,1435],{},"Fork repository and create feature branch",[737,1437,1438],{},"Develop, ensure code passes lint and typecheck",[737,1440,1441,1442,1444],{},"Submit PR to ",[774,1443,1407],{}," branch",[737,1446,1447],{},"Describe changes and reasons in PR description",[737,1449,1450],{},"Wait for code review",[719,1452,1453,871],{},[868,1454,1455],{},"PR Review Focus Areas",[873,1457,1458,1467],{},[876,1459,1460],{},[879,1461,1462,1465],{},[882,1463,1464],{},"Focus Area",[882,1466,887],{},[892,1468,1469,1477,1485,1493,1501],{},[879,1470,1471,1474],{},[897,1472,1473],{},"Functional correctness",[897,1475,1476],{},"Does change implement expected functionality; are edge cases handled",[879,1478,1479,1482],{},[897,1480,1481],{},"Code quality",[897,1483,1484],{},"Does it follow existing code style; is there duplicate code",[879,1486,1487,1490],{},[897,1488,1489],{},"Performance impact",[897,1491,1492],{},"Does it introduce unnecessary overhead; are large file scenarios considered",[879,1494,1495,1498],{},[897,1496,1497],{},"Compatibility",[897,1499,1500],{},"Does it affect existing functionality; is browser compatibility considered",[879,1502,1503,1506],{},[897,1504,1505],{},"Security",[897,1507,1508],{},"Does it introduce security risks; is user data protected",[815,1510,1511],{},[719,1512,1513,1514,1516,1517,1110],{},"For download engine performance considerations (concurrency control, memory management, retry strategy), see ",[784,1515,91],{"href":92},". For browser compatibility notes, see ",[784,1518,86],{"href":87},[723,1520],{},[726,1522,1524],{"id":1523},"documentation-writing-guide","Documentation Writing Guide",[759,1526,1528],{"id":1527},"document-structure","Document Structure",[719,1530,1531,1532,1535],{},"Documentation uses Nuxt Content v3, stored as Markdown files in ",[774,1533,1534],{},"content\u002Fzh-Hans\u002F"," directory.",[759,1537,1539],{"id":1538},"frontmatter","Frontmatter",[719,1541,1542],{},"Each document file must include following frontmatter:",[767,1544,1548],{"className":1545,"code":1546,"language":1547,"meta":776,"style":776},"language-yaml shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","---\ntitle: Document Title\ndescription: Document description (for SEO and list display)\nnavigation:\n  icon: i-lucide-xxx  # Lucide icon name\n---\n","yaml",[774,1549,1550,1555,1567,1577,1586,1601],{"__ignoreMap":776},[1045,1551,1552],{"class":1047,"line":1048},[1045,1553,1554],{"class":1051},"---\n",[1045,1556,1557,1561,1564],{"class":1047,"line":1062},[1045,1558,1560],{"class":1559},"swJcz","title",[1045,1562,871],{"class":1563},"sMK4o",[1045,1565,1566],{"class":1055}," Document Title\n",[1045,1568,1569,1572,1574],{"class":1047,"line":1072},[1045,1570,1571],{"class":1559},"description",[1045,1573,871],{"class":1563},[1045,1575,1576],{"class":1055}," Document description (for SEO and list display)\n",[1045,1578,1580,1583],{"class":1047,"line":1579},4,[1045,1581,1582],{"class":1559},"navigation",[1045,1584,1585],{"class":1563},":\n",[1045,1587,1589,1592,1594,1597],{"class":1047,"line":1588},5,[1045,1590,1591],{"class":1559},"  icon",[1045,1593,871],{"class":1563},[1045,1595,1596],{"class":1055}," i-lucide-xxx",[1045,1598,1600],{"class":1599},"sHwdD","  # Lucide icon name\n",[1045,1602,1604],{"class":1047,"line":1603},6,[1045,1605,1554],{"class":1051},[759,1607,1609],{"id":1608},"content-format","Content Format",[734,1611,1612,1615,1618,1621],{},[737,1613,1614],{},"Use standard Markdown syntax",[737,1616,1617],{},"Specify language in code blocks for syntax highlighting",[737,1619,1620],{},"Tables for comparison and reference information",[737,1622,1623,1624,1627,1628,1627,1630,1633],{},"Use Nuxt Content directives like ",[774,1625,1626],{},"::tip",", ",[774,1629,964],{},[774,1631,1632],{},"::warning",", etc.",[759,1635,1637],{"id":1636},"navigation-configuration","Navigation Configuration",[719,1639,1640,1641,1644],{},"Each document directory needs a ",[774,1642,1643],{},".navigation.yml"," file:",[767,1646,1648],{"className":1545,"code":1647,"language":1547,"meta":776,"style":776},"title: Category Name\nicon: i-lucide-xxx\n",[774,1649,1650,1659],{"__ignoreMap":776},[1045,1651,1652,1654,1656],{"class":1047,"line":1048},[1045,1653,1560],{"class":1559},[1045,1655,871],{"class":1563},[1045,1657,1658],{"class":1055}," Category Name\n",[1045,1660,1661,1664,1666],{"class":1047,"line":1062},[1045,1662,1663],{"class":1559},"icon",[1045,1665,871],{"class":1563},[1045,1667,1668],{"class":1055}," i-lucide-xxx\n",[759,1670,949],{"id":1671},"multilingual",[719,1673,1674,1675,1677],{},"Currently documentation primarily in Simplified Chinese (",[774,1676,447],{},"). To add other languages:",[836,1679,1680,1690,1693],{},[737,1681,1682,1683,1685,1686,1689],{},"Create corresponding language directory under ",[774,1684,860],{}," (e.g., ",[774,1687,1688],{},"en\u002F",")",[737,1691,1692],{},"Copy document structure and translate content",[737,1694,1695],{},"Keep file paths and naming consistent",[723,1697],{},[726,1699,1701],{"id":1700},"testing","Testing",[759,1703,1705],{"id":1704},"manual-testing-checklist","Manual Testing Checklist",[719,1707,1708],{},"Before submitting PRs involving download functionality, verify these scenarios:",[734,1710,1713,1723,1729,1735,1741,1747,1753,1759,1765],{"className":1711},[1712],"contains-task-list",[737,1714,1717,1722],{"className":1715},[1716],"task-list-item",[1718,1719],"input",{"disabled":1720,"type":1721},true,"checkbox"," Small file download (\u003C10MB)",[737,1724,1726,1728],{"className":1725},[1716],[1718,1727],{"disabled":1720,"type":1721}," Large file download (>500MB)",[737,1730,1732,1734],{"className":1731},[1716],[1718,1733],{"disabled":1720,"type":1721}," Encrypted HLS stream download",[737,1736,1738,1740],{"className":1737},[1716],[1718,1739],{"disabled":1720,"type":1721}," DASH stream download",[737,1742,1744,1746],{"className":1743},[1716],[1718,1745],{"disabled":1720,"type":1721}," Format conversion (TS → MP4)",[737,1748,1750,1752],{"className":1749},[1716],[1718,1751],{"disabled":1720,"type":1721}," Concurrent thread count switching",[737,1754,1756,1758],{"className":1755},[1716],[1718,1757],{"disabled":1720,"type":1721}," Download cancellation and retry",[737,1760,1762,1764],{"className":1761},[1716],[1718,1763],{"disabled":1720,"type":1721}," Chrome browser",[737,1766,1768,1770],{"className":1767},[1716],[1718,1769],{"disabled":1720,"type":1721}," Edge browser",[719,1772,1773,871],{},[868,1774,1775],{},"Verification Points for Each Test Scenario",[873,1777,1778,1791],{},[876,1779,1780],{},[879,1781,1782,1785,1788],{},[882,1783,1784],{},"Test Scenario",[882,1786,1787],{},"Verification Points",[882,1789,1790],{},"Reference Docs",[892,1792,1793,1805,1819,1833,1847,1860,1872,1886],{},[879,1794,1795,1798,1801],{},[897,1796,1797],{},"Small file download",[897,1799,1800],{},"Download integrity, speed display, progress bar",[897,1802,1803],{},[784,1804,91],{"href":92},[879,1806,1807,1810,1813],{},[897,1808,1809],{},"Large file download",[897,1811,1812],{},"Memory usage, streaming write, no crashes",[897,1814,1815],{},[784,1816,1818],{"href":1817},"\u002Fdocs\u002Fadvanced\u002Fdownload-engine#memory-safety-management","Download Engine Architecture — Memory Safety Management",[879,1820,1821,1824,1827],{},[897,1822,1823],{},"Encrypted HLS",[897,1825,1826],{},"AES-128 decryption, key fetch",[897,1828,1829],{},[784,1830,1832],{"href":1831},"\u002Fdocs\u002Ffeatures\u002Fvideo-sniffing#encrypted-streams-aes-128","Video Sniffing — Encrypted Streams",[879,1834,1835,1838,1841],{},[897,1836,1837],{},"DASH stream",[897,1839,1840],{},"A\u002FV separation, FMP4 reassembly",[897,1842,1843],{},[784,1844,1846],{"href":1845},"\u002Fdocs\u002Fadvanced\u002Fdownload-engine#dash-stream-special-handling","Download Engine Architecture — DASH Stream Special Handling",[879,1848,1849,1852,1855],{},[897,1850,1851],{},"Format conversion",[897,1853,1854],{},"FFmpeg loading, remuxing correctness",[897,1856,1857],{},[784,1858,1859],{"href":61},"Format Conversion — FFmpeg WASM Engine",[879,1861,1862,1865,1868],{},[897,1863,1864],{},"Concurrency switch",[897,1866,1867],{},"Thread count changes, speed comparison",[897,1869,1870],{},[784,1871,28],{"href":29},[879,1873,1874,1877,1880],{},[897,1875,1876],{},"Cancel & retry",[897,1878,1879],{},"AbortController, retry count",[897,1881,1882],{},[784,1883,1885],{"href":1884},"\u002Fdocs\u002Fadvanced\u002Fdownload-engine#retry-mechanism","Download Engine Architecture — Retry Mechanism",[879,1887,1888,1891,1894],{},[897,1889,1890],{},"Browser compatibility",[897,1892,1893],{},"Chrome\u002FEdge feature consistency",[897,1895,1896],{},[784,1897,86],{"href":87},[759,1899,1901],{"id":1900},"test-streaming-urls","Test Streaming URLs",[719,1903,1904],{},"Here are some publicly available streams for testing:",[767,1906,1909],{"className":1907,"code":1908,"language":772},[770],"# Basic HLS (no encryption)\nhttps:\u002F\u002Ftest-streams.mux.dev\u002Fx36xhzz\u002Fx36xhzz.m3u8\n\n# Multi-quality HLS\nhttps:\u002F\u002Ftest-streams.mux.dev\u002Fpts_shift\u002Fpts_shift.m3u8\n\n# Basic DASH\nhttps:\u002F\u002Fdash.akamaized.net\u002Fakamai\u002Fbbb_30fps\u002Fbbb_30fps.mpd\n",[774,1910,1908],{"__ignoreMap":776},[815,1912,1913],{},[719,1914,1915,1916,1918,1919,1110],{},"For HLS and DASH stream detection principles and manifest structure, see ",[784,1917,40],{"href":41},". For how to use these test URLs in online tools, see ",[784,1920,81],{"href":82},[723,1922],{},[726,1924,1926],{"id":1925},"release-process","Release Process",[836,1928,1929,1934,1940,1948,1954],{},[737,1930,1931,1932,1444],{},"Complete development and testing on ",[774,1933,1407],{},[737,1935,1936,1937],{},"Update changelog in ",[774,1938,1939],{},"content\u002Fzh-Hans\u002F4.changelog\u002F",[737,1941,1942,1943,1945,1946],{},"Merge ",[774,1944,1407],{}," into ",[774,1947,1401],{},[737,1949,1950,1951,1689],{},"Create version tag (e.g., ",[774,1952,1953],{},"v1.1.0",[737,1955,1956],{},"Build extension package and submit to Chrome Web Store",[723,1958],{},[726,1960,1962],{"id":1961},"related-documentation","Related Documentation",[734,1964,1965,1970,1975,1980,1985,1990,1995,2000,2005,2010],{},[737,1966,1967,1969],{},[784,1968,166],{"href":167}," — System design, module responsibilities, and data flow",[737,1971,1972,1974],{},[784,1973,91],{"href":92}," — Complete technical implementation of core download engine",[737,1976,1977,1979],{},[784,1978,40],{"href":41}," — HLS\u002FDASH manifest parsing and encryption detection",[737,1981,1982,1984],{},[784,1983,60],{"href":61}," — FFmpeg WASM engine and output formats",[737,1986,1987,1989],{},[784,1988,86],{"href":87}," — Browser API support and degradation strategies",[737,1991,1992,1994],{},[784,1993,81],{"href":82}," — Online tool usage and limitations",[737,1996,1997,1999],{},[784,1998,28],{"href":29}," — Concurrency, filter, and other settings",[737,2001,2002,2004],{},[784,2003,791],{"href":146}," — Current version technical limitations and edge cases",[737,2006,2007,2009],{},[784,2008,141],{"href":142}," — Diagnostic tools and troubleshooting steps",[737,2011,2012,2014],{},[784,2013,96],{"href":103}," — Usage documentation references by scenario",[1338,2016,2017],{},"html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}",{"title":776,"searchDepth":1062,"depth":1062,"links":2019},[2020,2021,2027,2034,2041,2048,2052,2053],{"id":728,"depth":1062,"text":729},{"id":756,"depth":1062,"text":757,"children":2022},[2023,2024,2025,2026],{"id":761,"depth":1072,"text":762},{"id":795,"depth":1072,"text":796},{"id":830,"depth":1072,"text":831},{"id":968,"depth":1072,"text":969},{"id":977,"depth":1062,"text":978,"children":2028},[2029,2030,2031,2032,2033],{"id":981,"depth":1072,"text":982},{"id":1035,"depth":1072,"text":1036},{"id":1080,"depth":1072,"text":1081},{"id":1113,"depth":1072,"text":1114},{"id":1133,"depth":1072,"text":1134},{"id":1233,"depth":1062,"text":1234,"children":2035},[2036,2037,2038,2039,2040],{"id":1237,"depth":1072,"text":1238},{"id":1256,"depth":1072,"text":1257},{"id":1275,"depth":1072,"text":1276},{"id":1393,"depth":1072,"text":1394},{"id":1429,"depth":1072,"text":1430},{"id":1523,"depth":1062,"text":1524,"children":2042},[2043,2044,2045,2046,2047],{"id":1527,"depth":1072,"text":1528},{"id":1538,"depth":1072,"text":1539},{"id":1608,"depth":1072,"text":1609},{"id":1636,"depth":1072,"text":1637},{"id":1671,"depth":1072,"text":949},{"id":1700,"depth":1062,"text":1701,"children":2049},[2050,2051],{"id":1704,"depth":1072,"text":1705},{"id":1900,"depth":1072,"text":1901},{"id":1925,"depth":1062,"text":1926},{"id":1961,"depth":1062,"text":1962},"How to contribute code, documentation, or report issues for the FlowPick project.","md",{},{"icon":164},{"title":161,"description":2054},"eTyktDLj2sitME-xKRe-LPq8Imw_Rf5-qhUUcGjoY88",[2061,2063],{"title":150,"path":151,"stem":152,"description":2062,"icon":153,"children":-1},"High-frequency questions and answers for FlowPick usage, covering installation, download, format conversion, and troubleshooting scenarios.",{"title":166,"path":167,"stem":168,"description":2064,"icon":169,"children":-1},"Technical architecture details of FlowPick, including system design, module breakdown, data flow, and key design decisions.",1783158231205]