[{"data":1,"prerenderedAt":2567},["ShallowReactive",2],{"docs-navigation":3,"\u002Fzh-Hant\u002Fdocs\u002Ftroubleshooting\u002Fm3u8-download-failed":794,"\u002Fzh-Hant\u002Fdocs\u002Ftroubleshooting\u002Fm3u8-download-failed-surround":2562},[4,187,340,493,645],{"title":5,"path":6,"stem":7,"children":8,"page":32},"Docs","\u002Fdocs","1.docs",[9,33,79,100,139,171],{"title":10,"path":11,"stem":12,"children":13,"icon":32},"Getting Started","\u002Fdocs\u002Fgetting-started","1.docs\u002F1.getting-started\u002F1.index",[14,17,22,27],{"title":15,"path":11,"stem":12,"icon":16},"Introduction","i-lucide-house",{"title":18,"path":19,"stem":20,"icon":21},"Installation","\u002Fdocs\u002Fgetting-started\u002Finstallation","1.docs\u002F1.getting-started\u002F2.installation","i-lucide-download",{"title":23,"path":24,"stem":25,"icon":26},"Usage Guide","\u002Fdocs\u002Fgetting-started\u002Fusage","1.docs\u002F1.getting-started\u002F3.usage","i-lucide-sliders",{"title":28,"path":29,"stem":30,"icon":31},"Configuration Reference","\u002Fdocs\u002Fgetting-started\u002Fconfiguration","1.docs\u002F1.getting-started\u002F4.configuration","i-lucide-settings",false,{"title":34,"icon":35,"path":36,"stem":37,"children":38,"page":32},"Features","i-lucide-star","\u002Fdocs\u002Ffeatures","1.docs\u002F2.features",[39,44,49,54,59,64,69,74],{"title":40,"path":41,"stem":42,"icon":43},"Video Sniffing","\u002Fdocs\u002Ffeatures\u002Fvideo-sniffing","1.docs\u002F2.features\u002F1.video-sniffing","i-lucide-video",{"title":45,"path":46,"stem":47,"icon":48},"Audio Capture","\u002Fdocs\u002Ffeatures\u002Faudio-capture","1.docs\u002F2.features\u002F2.audio-capture","i-lucide-music",{"title":50,"path":51,"stem":52,"icon":53},"Image Download","\u002Fdocs\u002Ffeatures\u002Fimage-download","1.docs\u002F2.features\u002F3.image-download","i-lucide-image",{"title":55,"path":56,"stem":57,"icon":58},"Privacy & Security","\u002Fdocs\u002Ffeatures\u002Fprivacy-security","1.docs\u002F2.features\u002F4.privacy-security","i-lucide-shield-check",{"title":60,"path":61,"stem":62,"icon":63},"Format Conversion","\u002Fdocs\u002Ffeatures\u002Fformat-conversion","1.docs\u002F2.features\u002F5.format-conversion","i-lucide-arrow-left-right",{"title":65,"path":66,"stem":67,"icon":68},"Batch Download","\u002Fdocs\u002Ffeatures\u002Fbatch-download","1.docs\u002F2.features\u002F6.batch-download","i-lucide-layers",{"title":70,"path":71,"stem":72,"icon":73},"Keyboard Shortcuts","\u002Fdocs\u002Ffeatures\u002Fkeyboard-shortcuts","1.docs\u002F2.features\u002F7.keyboard-shortcuts","i-lucide-keyboard",{"title":75,"path":76,"stem":77,"icon":78},"Search & Filter","\u002Fdocs\u002Ffeatures\u002Fsearch-filter","1.docs\u002F2.features\u002F8.search-filter","i-lucide-search",{"title":80,"icon":81,"path":82,"stem":83,"children":84,"page":32},"Advanced","i-lucide-book-open","\u002Fdocs\u002Fadvanced","1.docs\u002F3.advanced",[85,90,95],{"title":86,"path":87,"stem":88,"icon":89},"Online Tools","\u002Fdocs\u002Fadvanced\u002Fonline-tools","1.docs\u002F3.advanced\u002F1.online-tools","i-lucide-globe",{"title":91,"path":92,"stem":93,"icon":94},"Browser Compatibility","\u002Fdocs\u002Fadvanced\u002Fbrowser-compatibility","1.docs\u002F3.advanced\u002F2.browser-compatibility","i-lucide-monitor-check",{"title":96,"path":97,"stem":98,"icon":99},"Download Engine Architecture","\u002Fdocs\u002Fadvanced\u002Fdownload-engine","1.docs\u002F3.advanced\u002F3.download-engine","i-lucide-cpu",{"title":101,"icon":102,"path":103,"stem":104,"children":105,"page":32},"Use Cases","i-lucide-lightbulb","\u002Fdocs\u002Fusecases","1.docs\u002F4.usecases",[106,111,115,120,125,129,134],{"title":107,"path":108,"stem":109,"icon":110},"Online Course Video Downloader for Offline Learning","\u002Fdocs\u002Fusecases\u002Fonline-courses","1.docs\u002F4.usecases\u002F1.online-courses","i-lucide-graduation-cap",{"title":112,"path":113,"stem":114,"icon":43},"Video Platform Stream Downloader for Public Media","\u002Fdocs\u002Fusecases\u002Fvideo-platforms","1.docs\u002F4.usecases\u002F2.video-platforms",{"title":116,"path":117,"stem":118,"icon":119},"Live Replay Downloader for Large Streaming Videos","\u002Fdocs\u002Fusecases\u002Flive-replays","1.docs\u002F4.usecases\u002F3.live-replays","i-lucide-radio",{"title":121,"path":122,"stem":123,"icon":124},"Podcast and Audio Downloader for Offline Listening","\u002Fdocs\u002Fusecases\u002Fpodcasts-audio","1.docs\u002F4.usecases\u002F4.podcasts-audio","i-lucide-headphones",{"title":126,"path":127,"stem":128,"icon":53},"Bulk Image Downloader for Web Galleries and Wallpapers","\u002Fdocs\u002Fusecases\u002Fimage-galleries","1.docs\u002F4.usecases\u002F5.image-galleries",{"title":130,"path":131,"stem":132,"icon":133},"Internal Training Video Downloader for Intranet Content","\u002Fdocs\u002Fusecases\u002Fcorporate-training","1.docs\u002F4.usecases\u002F6.corporate-training","i-lucide-building-2",{"title":135,"path":136,"stem":137,"icon":138},"Personal Media Downloader for Video, Audio and Images","\u002Fdocs\u002Fusecases\u002Fpersonal-archiving","1.docs\u002F4.usecases\u002F7.personal-archiving","i-lucide-archive",{"title":140,"icon":141,"path":142,"stem":143,"children":144,"page":32},"Troubleshooting","i-lucide-wrench","\u002Fdocs\u002Ftroubleshooting","1.docs\u002F5.troubleshooting",[145,149,154,159,163,167],{"title":146,"path":147,"stem":148,"icon":141},"Common Issues Troubleshooting","\u002Fdocs\u002Ftroubleshooting\u002Fcommon-issues","1.docs\u002F5.troubleshooting\u002F1.common-issues",{"title":150,"path":151,"stem":152,"icon":153},"Known Limitations & Caveats","\u002Fdocs\u002Ftroubleshooting\u002Fknown-issues","1.docs\u002F5.troubleshooting\u002F2.known-issues","i-lucide-alert-triangle",{"title":155,"path":156,"stem":157,"icon":158},"FAQ","\u002Fdocs\u002Ftroubleshooting\u002Ffaq","1.docs\u002F5.troubleshooting\u002F3.faq","i-lucide-message-circle-question",{"title":160,"path":161,"stem":162,"icon":141},"M3U8 Download Failed: HLS Troubleshooting","\u002Fdocs\u002Ftroubleshooting\u002Fm3u8-download-failed","1.docs\u002F5.troubleshooting\u002F4.m3u8-download-failed",{"title":164,"path":165,"stem":166,"icon":141},"DASH Video Has No Audio: MPD Troubleshooting","\u002Fdocs\u002Ftroubleshooting\u002Fdash-no-audio","1.docs\u002F5.troubleshooting\u002F5.dash-no-audio",{"title":168,"path":169,"stem":170,"icon":141},"Direct Video Download Failed: MP4 and WebM Troubleshooting","\u002Fdocs\u002Ftroubleshooting\u002Fdirect-video-download","1.docs\u002F5.troubleshooting\u002F6.direct-video-download",{"title":172,"icon":173,"path":174,"stem":175,"children":176,"page":32},"Developer Docs","i-lucide-code","\u002Fdocs\u002Fdeveloper","1.docs\u002F6.developer",[177,182],{"title":178,"path":179,"stem":180,"icon":181},"Contributing Guide","\u002Fdocs\u002Fdeveloper\u002Fcontributing","1.docs\u002F6.developer\u002F1.contributing","i-lucide-git-pull-request",{"title":183,"path":184,"stem":185,"icon":186},"Project Architecture","\u002Fdocs\u002Fdeveloper\u002Farchitecture","1.docs\u002F6.developer\u002F2.architecture","i-lucide-box",{"title":188,"path":189,"stem":190,"children":191,"page":32},"Ja","\u002Fja","ja",[192,211,248,265,298,327],{"title":193,"path":194,"stem":195,"children":196,"icon":32},"クイックスタート","\u002Fja\u002Fgetting-started","ja\u002F1.getting-started\u002F1.index",[197,199,203,207],{"title":198,"path":194,"stem":195,"icon":16},"概要",{"title":200,"path":201,"stem":202,"icon":21},"インストール","\u002Fja\u002Fgetting-started\u002Finstallation","ja\u002F1.getting-started\u002F2.installation",{"title":204,"path":205,"stem":206,"icon":26},"使用方法","\u002Fja\u002Fgetting-started\u002Fusage","ja\u002F1.getting-started\u002F3.usage",{"title":208,"path":209,"stem":210,"icon":31},"設定リファレンス","\u002Fja\u002Fgetting-started\u002Fconfiguration","ja\u002F1.getting-started\u002F4.configuration",{"title":212,"icon":35,"path":213,"stem":214,"children":215,"page":32},"機能","\u002Fja\u002Ffeatures","ja\u002F2.features",[216,220,224,228,232,236,240,244],{"title":217,"path":218,"stem":219,"icon":43},"動画検知","\u002Fja\u002Ffeatures\u002Fvideo-sniffing","ja\u002F2.features\u002F1.video-sniffing",{"title":221,"path":222,"stem":223,"icon":48},"音声キャプチャ","\u002Fja\u002Ffeatures\u002Faudio-capture","ja\u002F2.features\u002F2.audio-capture",{"title":225,"path":226,"stem":227,"icon":53},"画像ダウンロード","\u002Fja\u002Ffeatures\u002Fimage-download","ja\u002F2.features\u002F3.image-download",{"title":229,"path":230,"stem":231,"icon":58},"プライバシーとセキュリティ","\u002Fja\u002Ffeatures\u002Fprivacy-security","ja\u002F2.features\u002F4.privacy-security",{"title":233,"path":234,"stem":235,"icon":63},"フォーマット変換","\u002Fja\u002Ffeatures\u002Fformat-conversion","ja\u002F2.features\u002F5.format-conversion",{"title":237,"path":238,"stem":239,"icon":68},"一括ダウンロード","\u002Fja\u002Ffeatures\u002Fbatch-download","ja\u002F2.features\u002F6.batch-download",{"title":241,"path":242,"stem":243,"icon":73},"キーボードショートカット","\u002Fja\u002Ffeatures\u002Fkeyboard-shortcuts","ja\u002F2.features\u002F7.keyboard-shortcuts",{"title":245,"path":246,"stem":247,"icon":78},"検索とフィルタ","\u002Fja\u002Ffeatures\u002Fsearch-filter","ja\u002F2.features\u002F8.search-filter",{"title":249,"icon":81,"path":250,"stem":251,"children":252,"page":32},"詳細情報","\u002Fja\u002Fadvanced","ja\u002F3.advanced",[253,257,261],{"title":254,"path":255,"stem":256,"icon":89},"オンラインツール","\u002Fja\u002Fadvanced\u002Fonline-tools","ja\u002F3.advanced\u002F1.online-tools",{"title":258,"path":259,"stem":260,"icon":94},"ブラウザ互換性","\u002Fja\u002Fadvanced\u002Fbrowser-compatibility","ja\u002F3.advanced\u002F2.browser-compatibility",{"title":262,"path":263,"stem":264,"icon":99},"ダウンロードエンジンアーキテクチャ","\u002Fja\u002Fadvanced\u002Fdownload-engine","ja\u002F3.advanced\u002F3.download-engine",{"title":266,"icon":102,"path":267,"stem":268,"children":269,"page":32},"ユースケース","\u002Fja\u002Fusecases","ja\u002F4.usecases",[270,274,278,282,286,290,294],{"title":271,"path":272,"stem":273,"icon":110},"オンライン講座の動画保存とオフライン学習","\u002Fja\u002Fusecases\u002Fonline-courses","ja\u002F4.usecases\u002F1.online-courses",{"title":275,"path":276,"stem":277,"icon":43},"動画プラットフォームのストリーム保存と素材収集","\u002Fja\u002Fusecases\u002Fvideo-platforms","ja\u002F4.usecases\u002F2.video-platforms",{"title":279,"path":280,"stem":281,"icon":119},"ライブ配信アーカイブの保存と大容量動画ダウンロード","\u002Fja\u002Fusecases\u002Flive-replays","ja\u002F4.usecases\u002F3.live-replays",{"title":283,"path":284,"stem":285,"icon":124},"ポッドキャスト・Web音声の保存とオフライン再生","\u002Fja\u002Fusecases\u002Fpodcasts-audio","ja\u002F4.usecases\u002F4.podcasts-audio",{"title":287,"path":288,"stem":289,"icon":53},"画像ギャラリー・壁紙の一括ダウンロード","\u002Fja\u002Fusecases\u002Fimage-galleries","ja\u002F4.usecases\u002F5.image-galleries",{"title":291,"path":292,"stem":293,"icon":133},"社内研修動画とイントラネット配信の保存","\u002Fja\u002Fusecases\u002Fcorporate-training","ja\u002F4.usecases\u002F6.corporate-training",{"title":295,"path":296,"stem":297,"icon":138},"動画・音声・画像の個人メディア保存と整理","\u002Fja\u002Fusecases\u002Fpersonal-archiving","ja\u002F4.usecases\u002F7.personal-archiving",{"title":299,"icon":141,"path":300,"stem":301,"children":302,"page":32},"トラブルシューティング","\u002Fja\u002Ftroubleshooting","ja\u002F5.troubleshooting",[303,307,311,315,319,323],{"title":304,"path":305,"stem":306,"icon":141},"一般的な問題のトラブルシューティング","\u002Fja\u002Ftroubleshooting\u002Fcommon-issues","ja\u002F5.troubleshooting\u002F1.common-issues",{"title":308,"path":309,"stem":310,"icon":153},"既知の制限事項と注意点","\u002Fja\u002Ftroubleshooting\u002Fknown-issues","ja\u002F5.troubleshooting\u002F2.known-issues",{"title":312,"path":313,"stem":314,"icon":158},"よくある質問","\u002Fja\u002Ftroubleshooting\u002Ffaq","ja\u002F5.troubleshooting\u002F3.faq",{"title":316,"path":317,"stem":318,"icon":141},"M3U8ダウンロードに失敗する場合の対処法","\u002Fja\u002Ftroubleshooting\u002Fm3u8-download-failed","ja\u002F5.troubleshooting\u002F4.m3u8-download-failed",{"title":320,"path":321,"stem":322,"icon":141},"DASH動画に音声がない場合の対処法","\u002Fja\u002Ftroubleshooting\u002Fdash-no-audio","ja\u002F5.troubleshooting\u002F5.dash-no-audio",{"title":324,"path":325,"stem":326,"icon":141},"動画の直リンクをダウンロードできない場合","\u002Fja\u002Ftroubleshooting\u002Fdirect-video-download","ja\u002F5.troubleshooting\u002F6.direct-video-download",{"title":328,"icon":173,"path":329,"stem":330,"children":331,"page":32},"開発者ガイド","\u002Fja\u002Fdeveloper","ja\u002F6.developer",[332,336],{"title":333,"path":334,"stem":335,"icon":181},"貢献ガイド","\u002Fja\u002Fdeveloper\u002Fcontributing","ja\u002F6.developer\u002F1.contributing",{"title":337,"path":338,"stem":339,"icon":186},"プロジェクトアーキテクチャ","\u002Fja\u002Fdeveloper\u002Farchitecture","ja\u002F6.developer\u002F2.architecture",{"title":341,"path":342,"stem":343,"children":344,"page":32},"Ko","\u002Fko","ko",[345,364,401,418,451,480],{"title":346,"path":347,"stem":348,"children":349,"icon":32},"빠른 시작","\u002Fko\u002Fgetting-started","ko\u002F1.getting-started\u002F1.index",[350,352,356,360],{"title":351,"path":347,"stem":348,"icon":16},"소개",{"title":353,"path":354,"stem":355,"icon":21},"설치","\u002Fko\u002Fgetting-started\u002Finstallation","ko\u002F1.getting-started\u002F2.installation",{"title":357,"path":358,"stem":359,"icon":26},"사용 방법","\u002Fko\u002Fgetting-started\u002Fusage","ko\u002F1.getting-started\u002F3.usage",{"title":361,"path":362,"stem":363,"icon":31},"설정 참조","\u002Fko\u002Fgetting-started\u002Fconfiguration","ko\u002F1.getting-started\u002F4.configuration",{"title":365,"icon":35,"path":366,"stem":367,"children":368,"page":32},"기능","\u002Fko\u002Ffeatures","ko\u002F2.features",[369,373,377,381,385,389,393,397],{"title":370,"path":371,"stem":372,"icon":43},"비디오 스니핑","\u002Fko\u002Ffeatures\u002Fvideo-sniffing","ko\u002F2.features\u002F1.video-sniffing",{"title":374,"path":375,"stem":376,"icon":48},"오디오 캡처","\u002Fko\u002Ffeatures\u002Faudio-capture","ko\u002F2.features\u002F2.audio-capture",{"title":378,"path":379,"stem":380,"icon":53},"이미지 다운로드","\u002Fko\u002Ffeatures\u002Fimage-download","ko\u002F2.features\u002F3.image-download",{"title":382,"path":383,"stem":384,"icon":58},"개인정보 보호와 보안","\u002Fko\u002Ffeatures\u002Fprivacy-security","ko\u002F2.features\u002F4.privacy-security",{"title":386,"path":387,"stem":388,"icon":63},"포맷 변환","\u002Fko\u002Ffeatures\u002Fformat-conversion","ko\u002F2.features\u002F5.format-conversion",{"title":390,"path":391,"stem":392,"icon":68},"일괄 다운로드","\u002Fko\u002Ffeatures\u002Fbatch-download","ko\u002F2.features\u002F6.batch-download",{"title":394,"path":395,"stem":396,"icon":73},"키보드 단축키","\u002Fko\u002Ffeatures\u002Fkeyboard-shortcuts","ko\u002F2.features\u002F7.keyboard-shortcuts",{"title":398,"path":399,"stem":400,"icon":78},"검색과 필터링","\u002Fko\u002Ffeatures\u002Fsearch-filter","ko\u002F2.features\u002F8.search-filter",{"title":402,"icon":81,"path":403,"stem":404,"children":405,"page":32},"고급 가이드","\u002Fko\u002Fadvanced","ko\u002F3.advanced",[406,410,414],{"title":407,"path":408,"stem":409,"icon":89},"온라인 도구","\u002Fko\u002Fadvanced\u002Fonline-tools","ko\u002F3.advanced\u002F1.online-tools",{"title":411,"path":412,"stem":413,"icon":94},"브라우저 호환성","\u002Fko\u002Fadvanced\u002Fbrowser-compatibility","ko\u002F3.advanced\u002F2.browser-compatibility",{"title":415,"path":416,"stem":417,"icon":99},"다운로드 엔진 아키텍처","\u002Fko\u002Fadvanced\u002Fdownload-engine","ko\u002F3.advanced\u002F3.download-engine",{"title":419,"icon":102,"path":420,"stem":421,"children":422,"page":32},"사용 사례","\u002Fko\u002Fusecases","ko\u002F4.usecases",[423,427,431,435,439,443,447],{"title":424,"path":425,"stem":426,"icon":110},"온라인 강의 동영상 다운로드와 오프라인 학습","\u002Fko\u002Fusecases\u002Fonline-courses","ko\u002F4.usecases\u002F1.online-courses",{"title":428,"path":429,"stem":430,"icon":43},"동영상 플랫폼 스트리밍 다운로드와 콘텐츠 수집","\u002Fko\u002Fusecases\u002Fvideo-platforms","ko\u002F4.usecases\u002F2.video-platforms",{"title":432,"path":433,"stem":434,"icon":119},"라이브 다시보기 다운로드와 대용량 스트리밍 저장","\u002Fko\u002Fusecases\u002Flive-replays","ko\u002F4.usecases\u002F3.live-replays",{"title":436,"path":437,"stem":438,"icon":124},"팟캐스트와 웹 오디오 다운로드","\u002Fko\u002Fusecases\u002Fpodcasts-audio","ko\u002F4.usecases\u002F4.podcasts-audio",{"title":440,"path":441,"stem":442,"icon":53},"웹 갤러리와 배경화면 이미지 일괄 다운로드","\u002Fko\u002Fusecases\u002Fimage-galleries","ko\u002F4.usecases\u002F5.image-galleries",{"title":444,"path":445,"stem":446,"icon":133},"사내 교육 동영상과 인트라넷 스트리밍 다운로드","\u002Fko\u002Fusecases\u002Fcorporate-training","ko\u002F4.usecases\u002F6.corporate-training",{"title":448,"path":449,"stem":450,"icon":138},"동영상·오디오·이미지 개인 미디어 보관","\u002Fko\u002Fusecases\u002Fpersonal-archiving","ko\u002F4.usecases\u002F7.personal-archiving",{"title":452,"icon":141,"path":453,"stem":454,"children":455,"page":32},"문제 해결","\u002Fko\u002Ftroubleshooting","ko\u002F5.troubleshooting",[456,460,464,468,472,476],{"title":457,"path":458,"stem":459,"icon":141},"일반적인 문제 해결","\u002Fko\u002Ftroubleshooting\u002Fcommon-issues","ko\u002F5.troubleshooting\u002F1.common-issues",{"title":461,"path":462,"stem":463,"icon":153},"알려진 제한 사항 및 주의사항","\u002Fko\u002Ftroubleshooting\u002Fknown-issues","ko\u002F5.troubleshooting\u002F2.known-issues",{"title":465,"path":466,"stem":467,"icon":158},"자주 묻는 질문","\u002Fko\u002Ftroubleshooting\u002Ffaq","ko\u002F5.troubleshooting\u002F3.faq",{"title":469,"path":470,"stem":471,"icon":141},"M3U8 다운로드 실패 해결 방법","\u002Fko\u002Ftroubleshooting\u002Fm3u8-download-failed","ko\u002F5.troubleshooting\u002F4.m3u8-download-failed",{"title":473,"path":474,"stem":475,"icon":141},"DASH 동영상에 소리가 없을 때 해결 방법","\u002Fko\u002Ftroubleshooting\u002Fdash-no-audio","ko\u002F5.troubleshooting\u002F5.dash-no-audio",{"title":477,"path":478,"stem":479,"icon":141},"동영상 직링크 다운로드 실패 해결 방법","\u002Fko\u002Ftroubleshooting\u002Fdirect-video-download","ko\u002F5.troubleshooting\u002F6.direct-video-download",{"title":481,"icon":173,"path":482,"stem":483,"children":484,"page":32},"개발자 문서","\u002Fko\u002Fdeveloper","ko\u002F6.developer",[485,489],{"title":486,"path":487,"stem":488,"icon":181},"기여 가이드라인","\u002Fko\u002Fdeveloper\u002Fcontributing","ko\u002F6.developer\u002F1.contributing",{"title":490,"path":491,"stem":492,"icon":186},"프로젝트 아키텍처","\u002Fko\u002Fdeveloper\u002Farchitecture","ko\u002F6.developer\u002F2.architecture",{"title":494,"path":495,"stem":496,"children":497,"page":32},"Zh Hans","\u002Fzh-hans","zh-Hans",[498,516,553,570,603,632],{"title":499,"path":500,"stem":501,"children":502,"icon":32},"快速开始","\u002Fzh-hans\u002Fgetting-started","zh-Hans\u002F1.getting-started\u002F1.index",[503,505,509,512],{"title":504,"path":500,"stem":501,"icon":16},"简介",{"title":506,"path":507,"stem":508,"icon":21},"安装","\u002Fzh-hans\u002Fgetting-started\u002Finstallation","zh-Hans\u002F1.getting-started\u002F2.installation",{"title":204,"path":510,"stem":511,"icon":26},"\u002Fzh-hans\u002Fgetting-started\u002Fusage","zh-Hans\u002F1.getting-started\u002F3.usage",{"title":513,"path":514,"stem":515,"icon":31},"配置参考","\u002Fzh-hans\u002Fgetting-started\u002Fconfiguration","zh-Hans\u002F1.getting-started\u002F4.configuration",{"title":517,"icon":35,"path":518,"stem":519,"children":520,"page":32},"功能特性","\u002Fzh-hans\u002Ffeatures","zh-Hans\u002F2.features",[521,525,529,533,537,541,545,549],{"title":522,"path":523,"stem":524,"icon":43},"视频嗅探","\u002Fzh-hans\u002Ffeatures\u002Fvideo-sniffing","zh-Hans\u002F2.features\u002F1.video-sniffing",{"title":526,"path":527,"stem":528,"icon":48},"音频捕获","\u002Fzh-hans\u002Ffeatures\u002Faudio-capture","zh-Hans\u002F2.features\u002F2.audio-capture",{"title":530,"path":531,"stem":532,"icon":53},"图片下载","\u002Fzh-hans\u002Ffeatures\u002Fimage-download","zh-Hans\u002F2.features\u002F3.image-download",{"title":534,"path":535,"stem":536,"icon":58},"隐私与安全","\u002Fzh-hans\u002Ffeatures\u002Fprivacy-security","zh-Hans\u002F2.features\u002F4.privacy-security",{"title":538,"path":539,"stem":540,"icon":63},"格式转换","\u002Fzh-hans\u002Ffeatures\u002Fformat-conversion","zh-Hans\u002F2.features\u002F5.format-conversion",{"title":542,"path":543,"stem":544,"icon":68},"批量下载","\u002Fzh-hans\u002Ffeatures\u002Fbatch-download","zh-Hans\u002F2.features\u002F6.batch-download",{"title":546,"path":547,"stem":548,"icon":73},"键盘快捷键","\u002Fzh-hans\u002Ffeatures\u002Fkeyboard-shortcuts","zh-Hans\u002F2.features\u002F7.keyboard-shortcuts",{"title":550,"path":551,"stem":552,"icon":78},"搜索与筛选","\u002Fzh-hans\u002Ffeatures\u002Fsearch-filter","zh-Hans\u002F2.features\u002F8.search-filter",{"title":554,"icon":81,"path":555,"stem":556,"children":557,"page":32},"高级指南","\u002Fzh-hans\u002Fadvanced","zh-Hans\u002F3.advanced",[558,562,566],{"title":559,"path":560,"stem":561,"icon":89},"在线工具","\u002Fzh-hans\u002Fadvanced\u002Fonline-tools","zh-Hans\u002F3.advanced\u002F1.online-tools",{"title":563,"path":564,"stem":565,"icon":94},"浏览器兼容性","\u002Fzh-hans\u002Fadvanced\u002Fbrowser-compatibility","zh-Hans\u002F3.advanced\u002F2.browser-compatibility",{"title":567,"path":568,"stem":569,"icon":99},"下载引擎架构","\u002Fzh-hans\u002Fadvanced\u002Fdownload-engine","zh-Hans\u002F3.advanced\u002F3.download-engine",{"title":571,"icon":102,"path":572,"stem":573,"children":574,"page":32},"使用场景","\u002Fzh-hans\u002Fusecases","zh-Hans\u002F4.usecases",[575,579,583,587,591,595,599],{"title":576,"path":577,"stem":578,"icon":110},"在线课程视频下载与离线学习","\u002Fzh-hans\u002Fusecases\u002Fonline-courses","zh-Hans\u002F4.usecases\u002F1.online-courses",{"title":580,"path":581,"stem":582,"icon":43},"视频平台流媒体下载与素材收集","\u002Fzh-hans\u002Fusecases\u002Fvideo-platforms","zh-Hans\u002F4.usecases\u002F2.video-platforms",{"title":584,"path":585,"stem":586,"icon":119},"直播回放下载与大文件流媒体保存","\u002Fzh-hans\u002Fusecases\u002Flive-replays","zh-Hans\u002F4.usecases\u002F3.live-replays",{"title":588,"path":589,"stem":590,"icon":124},"播客与网页音频下载","\u002Fzh-hans\u002Fusecases\u002Fpodcasts-audio","zh-Hans\u002F4.usecases\u002F4.podcasts-audio",{"title":592,"path":593,"stem":594,"icon":53},"图库与壁纸批量图片下载","\u002Fzh-hans\u002Fusecases\u002Fimage-galleries","zh-Hans\u002F4.usecases\u002F5.image-galleries",{"title":596,"path":597,"stem":598,"icon":133},"企业内训视频与内网流媒体下载","\u002Fzh-hans\u002Fusecases\u002Fcorporate-training","zh-Hans\u002F4.usecases\u002F6.corporate-training",{"title":600,"path":601,"stem":602,"icon":138},"个人媒体下载与视频音频图片归档","\u002Fzh-hans\u002Fusecases\u002Fpersonal-archiving","zh-Hans\u002F4.usecases\u002F7.personal-archiving",{"title":604,"icon":141,"path":605,"stem":606,"children":607,"page":32},"故障排除","\u002Fzh-hans\u002Ftroubleshooting","zh-Hans\u002F5.troubleshooting",[608,612,616,620,624,628],{"title":609,"path":610,"stem":611,"icon":141},"常见问题排查","\u002Fzh-hans\u002Ftroubleshooting\u002Fcommon-issues","zh-Hans\u002F5.troubleshooting\u002F1.common-issues",{"title":613,"path":614,"stem":615,"icon":153},"已知限制与注意事项","\u002Fzh-hans\u002Ftroubleshooting\u002Fknown-issues","zh-Hans\u002F5.troubleshooting\u002F2.known-issues",{"title":617,"path":618,"stem":619,"icon":158},"常见问题解答","\u002Fzh-hans\u002Ftroubleshooting\u002Ffaq","zh-Hans\u002F5.troubleshooting\u002F3.faq",{"title":621,"path":622,"stem":623,"icon":141},"M3U8 下载失败怎么办？HLS 流媒体排查","\u002Fzh-hans\u002Ftroubleshooting\u002Fm3u8-download-failed","zh-Hans\u002F5.troubleshooting\u002F4.m3u8-download-failed",{"title":625,"path":626,"stem":627,"icon":141},"DASH 视频没有声音怎么办？MPD 故障排查","\u002Fzh-hans\u002Ftroubleshooting\u002Fdash-no-audio","zh-Hans\u002F5.troubleshooting\u002F5.dash-no-audio",{"title":629,"path":630,"stem":631,"icon":141},"视频直链下载失败怎么办？MP4、WebM 排查","\u002Fzh-hans\u002Ftroubleshooting\u002Fdirect-video-download","zh-Hans\u002F5.troubleshooting\u002F6.direct-video-download",{"title":633,"icon":173,"path":634,"stem":635,"children":636,"page":32},"开发者文档","\u002Fzh-hans\u002Fdeveloper","zh-Hans\u002F6.developer",[637,641],{"title":638,"path":639,"stem":640,"icon":181},"贡献指南","\u002Fzh-hans\u002Fdeveloper\u002Fcontributing","zh-Hans\u002F6.developer\u002F1.contributing",{"title":642,"path":643,"stem":644,"icon":186},"项目架构","\u002Fzh-hans\u002Fdeveloper\u002Farchitecture","zh-Hans\u002F6.developer\u002F2.architecture",{"title":646,"path":647,"stem":648,"children":649,"page":32},"Zh Hant","\u002Fzh-hant","zh-Hant",[650,668,705,721,753,782],{"title":651,"path":652,"stem":653,"children":654,"icon":32},"快速入門","\u002Fzh-hant\u002Fgetting-started","zh-Hant\u002F1.getting-started\u002F1.index",[655,657,661,664],{"title":656,"path":652,"stem":653,"icon":16},"簡介",{"title":658,"path":659,"stem":660,"icon":21},"安裝","\u002Fzh-hant\u002Fgetting-started\u002Finstallation","zh-Hant\u002F1.getting-started\u002F2.installation",{"title":204,"path":662,"stem":663,"icon":26},"\u002Fzh-hant\u002Fgetting-started\u002Fusage","zh-Hant\u002F1.getting-started\u002F3.usage",{"title":665,"path":666,"stem":667,"icon":31},"配置參考","\u002Fzh-hant\u002Fgetting-started\u002Fconfiguration","zh-Hant\u002F1.getting-started\u002F4.configuration",{"title":669,"icon":35,"path":670,"stem":671,"children":672,"page":32},"功能特色","\u002Fzh-hant\u002Ffeatures","zh-Hant\u002F2.features",[673,677,681,685,689,693,697,701],{"title":674,"path":675,"stem":676,"icon":43},"影片嗅探","\u002Fzh-hant\u002Ffeatures\u002Fvideo-sniffing","zh-Hant\u002F2.features\u002F1.video-sniffing",{"title":678,"path":679,"stem":680,"icon":48},"音訊擷取","\u002Fzh-hant\u002Ffeatures\u002Faudio-capture","zh-Hant\u002F2.features\u002F2.audio-capture",{"title":682,"path":683,"stem":684,"icon":53},"圖片下載","\u002Fzh-hant\u002Ffeatures\u002Fimage-download","zh-Hant\u002F2.features\u002F3.image-download",{"title":686,"path":687,"stem":688,"icon":58},"隱私與安全","\u002Fzh-hant\u002Ffeatures\u002Fprivacy-security","zh-Hant\u002F2.features\u002F4.privacy-security",{"title":690,"path":691,"stem":692,"icon":63},"格式轉換","\u002Fzh-hant\u002Ffeatures\u002Fformat-conversion","zh-Hant\u002F2.features\u002F5.format-conversion",{"title":694,"path":695,"stem":696,"icon":68},"批次下載","\u002Fzh-hant\u002Ffeatures\u002Fbatch-download","zh-Hant\u002F2.features\u002F6.batch-download",{"title":698,"path":699,"stem":700,"icon":73},"鍵盤快速鍵","\u002Fzh-hant\u002Ffeatures\u002Fkeyboard-shortcuts","zh-Hant\u002F2.features\u002F7.keyboard-shortcuts",{"title":702,"path":703,"stem":704,"icon":78},"搜尋與篩選","\u002Fzh-hant\u002Ffeatures\u002Fsearch-filter","zh-Hant\u002F2.features\u002F8.search-filter",{"title":554,"icon":81,"path":706,"stem":707,"children":708,"page":32},"\u002Fzh-hant\u002Fadvanced","zh-Hant\u002F3.advanced",[709,713,717],{"title":710,"path":711,"stem":712,"icon":89},"線上工具","\u002Fzh-hant\u002Fadvanced\u002Fonline-tools","zh-Hant\u002F3.advanced\u002F1.online-tools",{"title":714,"path":715,"stem":716,"icon":94},"瀏覽器相容性","\u002Fzh-hant\u002Fadvanced\u002Fbrowser-compatibility","zh-Hant\u002F3.advanced\u002F2.browser-compatibility",{"title":718,"path":719,"stem":720,"icon":99},"下載引擎架構","\u002Fzh-hant\u002Fadvanced\u002Fdownload-engine","zh-Hant\u002F3.advanced\u002F3.download-engine",{"title":571,"icon":102,"path":722,"stem":723,"children":724,"page":32},"\u002Fzh-hant\u002Fusecases","zh-Hant\u002F4.usecases",[725,729,733,737,741,745,749],{"title":726,"path":727,"stem":728,"icon":110},"線上課程影片下載與離線學習","\u002Fzh-hant\u002Fusecases\u002Fonline-courses","zh-Hant\u002F4.usecases\u002F1.online-courses",{"title":730,"path":731,"stem":732,"icon":43},"影片平台串流下載與素材收集","\u002Fzh-hant\u002Fusecases\u002Fvideo-platforms","zh-Hant\u002F4.usecases\u002F2.video-platforms",{"title":734,"path":735,"stem":736,"icon":119},"直播回放下載與大型串流影片儲存","\u002Fzh-hant\u002Fusecases\u002Flive-replays","zh-Hant\u002F4.usecases\u002F3.live-replays",{"title":738,"path":739,"stem":740,"icon":124},"Podcast 與網頁音訊下載","\u002Fzh-hant\u002Fusecases\u002Fpodcasts-audio","zh-Hant\u002F4.usecases\u002F4.podcasts-audio",{"title":742,"path":743,"stem":744,"icon":53},"圖庫與桌布圖片批次下載","\u002Fzh-hant\u002Fusecases\u002Fimage-galleries","zh-Hant\u002F4.usecases\u002F5.image-galleries",{"title":746,"path":747,"stem":748,"icon":133},"企業內訓影片與內網串流下載","\u002Fzh-hant\u002Fusecases\u002Fcorporate-training","zh-Hant\u002F4.usecases\u002F6.corporate-training",{"title":750,"path":751,"stem":752,"icon":138},"個人媒體下載與影片音訊圖片歸檔","\u002Fzh-hant\u002Fusecases\u002Fpersonal-archiving","zh-Hant\u002F4.usecases\u002F7.personal-archiving",{"title":754,"icon":141,"path":755,"stem":756,"children":757,"page":32},"疑難排解","\u002Fzh-hant\u002Ftroubleshooting","zh-Hant\u002F5.troubleshooting",[758,762,766,770,774,778],{"title":759,"path":760,"stem":761,"icon":141},"常見問題排查","\u002Fzh-hant\u002Ftroubleshooting\u002Fcommon-issues","zh-Hant\u002F5.troubleshooting\u002F1.common-issues",{"title":763,"path":764,"stem":765,"icon":153},"已知限制與注意事項","\u002Fzh-hant\u002Ftroubleshooting\u002Fknown-issues","zh-Hant\u002F5.troubleshooting\u002F2.known-issues",{"title":767,"path":768,"stem":769,"icon":158},"常見問題解答","\u002Fzh-hant\u002Ftroubleshooting\u002Ffaq","zh-Hant\u002F5.troubleshooting\u002F3.faq",{"title":771,"path":772,"stem":773,"icon":141},"M3U8 下載失敗怎麼辦？HLS 串流排查","\u002Fzh-hant\u002Ftroubleshooting\u002Fm3u8-download-failed","zh-Hant\u002F5.troubleshooting\u002F4.m3u8-download-failed",{"title":775,"path":776,"stem":777,"icon":141},"DASH 影片沒有聲音怎麼辦？MPD 排查","\u002Fzh-hant\u002Ftroubleshooting\u002Fdash-no-audio","zh-Hant\u002F5.troubleshooting\u002F5.dash-no-audio",{"title":779,"path":780,"stem":781,"icon":141},"影片直連下載失敗怎麼辦？MP4、WebM 排查","\u002Fzh-hant\u002Ftroubleshooting\u002Fdirect-video-download","zh-Hant\u002F5.troubleshooting\u002F6.direct-video-download",{"title":633,"icon":173,"path":783,"stem":784,"children":785,"page":32},"\u002Fzh-hant\u002Fdeveloper","zh-Hant\u002F6.developer",[786,790],{"title":787,"path":788,"stem":789,"icon":181},"貢獻指南","\u002Fzh-hant\u002Fdeveloper\u002Fcontributing","zh-Hant\u002F6.developer\u002F1.contributing",{"title":791,"path":792,"stem":793,"icon":186},"專案架構","\u002Fzh-hant\u002Fdeveloper\u002Farchitecture","zh-Hant\u002F6.developer\u002F2.architecture",{"id":795,"title":771,"body":796,"description":2554,"extension":2555,"meta":2556,"navigation":2558,"path":772,"seo":2559,"stem":773,"__hash__":2561},"docs\u002Fzh-Hant\u002F5.troubleshooting\u002F4.m3u8-download-failed.md",{"type":797,"value":798,"toc":2515},"minimark",[799,803,806,811,814,825,919,939,941,944,947,976,979,981,984,994,1001,1005,1103,1106,1121,1127,1143,1147,1158,1189,1207,1209,1211,1216,1220,1223,1229,1232,1239,1268,1275,1281,1288,1294,1297,1385,1401,1403,1405,1410,1413,1424,1478,1483,1494,1504,1508,1519,1523,1526,1589,1592,1596,1602,1608,1614,1622,1626,1638,1651,1655,1658,1666,1670,1684,1724,1733,1736,1739,1755,1769,1771,1773,1781,1785,1792,1798,1802,1866,1870,1922,1925,1929,1940,1954,1956,1958,1963,1967,1970,1978,1981,2056,2059,2062,2068,2083,2087,2094,2108,2111,2136,2142,2155,2157,2161,2166,2173,2224,2227,2238,2257,2259,2262,2268,2356,2359,2362,2418,2421,2423,2426,2433,2447,2452,2454,2457,2511],[800,801,802],"p",{},"M3U8 下載失敗通常是播放清單沒偵測到、線上工具受到跨網域限制，或串流媒體需要原影片頁面中的存取資訊。本文按 HLS 的實際下載流水線逐步拆解，告訴你失敗發生在哪一環、為什麼、怎麼修。",[804,805],"hr",{},[807,808,810],"h2",{"id":809},"先理解hls-下載流水線","先理解：HLS 下載流水線",[800,812,813],{},"HLS 不是一條 URL 拉一個檔案那麼簡單。它是一條流水線，任何一環出錯，最終表現都是「下載失敗」或「檔案壞掉」。先認清這條線，排查才有方向：",[815,816,821],"pre",{"className":817,"code":819,"language":820},[818],"language-text","① 偵測 M3U8        ② 解析清單        ③ 下載分片         ④ 解密         ⑤ 合併\u002F轉封裝\n   ↓                  ↓                  ↓                 ↓               ↓\n webRequest        m3u8-parser       Worker Pool      WebCrypto       FFmpeg WASM\n 攔截請求          區分 Master\u002F      並行拉 .ts       AES-128-CBC     TS → MP4\n                   Media             重試退避          (如需要)        或直接拼接\n","text",[822,823,819],"code",{"__ignoreMap":824},"",[826,827,828,844],"table",{},[829,830,831],"thead",{},[832,833,834,838,841],"tr",{},[835,836,837],"th",{},"環節",[835,839,840],{},"失敗表現",[835,842,843],{},"本文對應章節",[845,846,847,863,877,891,905],"tbody",{},[832,848,849,853,856],{},[850,851,852],"td",{},"① 偵測",[850,854,855],{},"彈出視窗顯示「未偵測到媒體」",[850,857,858],{},[859,860,862],"a",{"href":861},"#%E5%81%B5%E6%B8%AC%E4%B8%8D%E5%88%B0-m3u8","偵測不到 M3U8",[832,864,865,868,871],{},[850,866,867],{},"② 解析",[850,869,870],{},"清單下下來了但畫質\u002F分片列表是空的",[850,872,873],{},[859,874,876],{"href":875},"#%E6%B8%85%E5%96%AE%E8%A7%A3%E6%9E%90%E7%95%B0%E5%B8%B8","清單解析異常",[832,878,879,882,885],{},[850,880,881],{},"③ 下載",[850,883,884],{},"進度卡住、403、404、CORS",[850,886,887],{},[859,888,890],{"href":889},"#%E5%88%86%E7%89%87%E4%B8%8B%E8%BC%89%E5%A4%B1%E6%95%97","分片下載失敗",[832,892,893,896,899],{},[850,894,895],{},"④ 解密",[850,897,898],{},"解密報錯或合併後沒聲音\u002F花屏",[850,900,901],{},[859,902,904],{"href":903},"#%E5%8A%A0%E5%AF%86%E6%B5%81%E8%A7%A3%E5%AF%86%E5%A4%B1%E6%95%97","加密流解密失敗",[832,906,907,910,913],{},[850,908,909],{},"⑤ 合併",[850,911,912],{},"檔案生成了但無法播放、音畫不同步",[850,914,915],{},[859,916,918],{"href":917},"#%E5%90%88%E4%BD%B5%E5%BE%8C%E7%84%A1%E6%B3%95%E6%92%AD%E6%94%BE","合併後無法播放",[920,921,922],"note",{},[800,923,924,925,928,929,933,934,938],{},"HLS 協定與清單結構（Master vs Media Playlist、",[822,926,927],{},"EXT-X-KEY","、多音軌）的完整說明，請參閱 ",[859,930,932],{"href":931},"\u002Fzh-Hant\u002Fdocs\u002Ffeatures\u002Fvideo-sniffing#hlsm3u8-%E4%B8%B2%E6%B5%81","影片嗅探 — HLS 串流","。想看真實清單長什麼樣、為什麼「樸素下載器」會翻車，可以翻 ",[859,935,937],{"href":936},"\u002Fzh-Hant\u002Fblog\u002Fhls-m3u8-deep-dive-encryption-multitrack","HLS 深度篇","。",[804,940],{},[807,942,943],{"id":943},"快速處理",[800,945,946],{},"在深入排查前，先跑一遍這套能解決 90% 場景的流程：",[948,949,950,959,970,973],"ol",{},[951,952,953,954,958],"li",{},"打開",[955,956,957],"strong",{},"原影片頁面","並播放幾秒（很多網站懶載入，不播就不會請求 M3U8）。",[951,960,961,962,965,966,969],{},"裝了擴充功能後",[955,963,964],{},"沒重新整理過頁面的，重新整理一次","（擴充功能的 ",[822,967,968],{},"webRequest"," 監聽是頁面載入後才生效的）。",[951,971,972],{},"用擴充功能重新偵測，選擇目標畫質。",[951,974,975],{},"選 MP4 輸出，再點一次下載。",[800,977,978],{},"如果還是不行，按下面的章節定位。",[804,980],{},[807,982,862],{"id":983},"偵測不到-m3u8",[800,985,986,989,990,993],{},[955,987,988],{},"症狀","：打開 FlowPick 彈出視窗顯示「未偵測到媒體資源」，或列表裡只有縮圖\u002F封面，沒有 ",[822,991,992],{},".m3u8"," 條目。",[800,995,996],{},[997,998],"img",{"alt":999,"src":1000},"媒體偵測為空","\u002Fscreenshots\u002Fno-media-detected.png",[1002,1003,1004],"h3",{"id":1004},"常見原因",[826,1006,1007,1020],{},[829,1008,1009],{},[832,1010,1011,1014,1017],{},[835,1012,1013],{},"原因",[835,1015,1016],{},"怎麼確認",[835,1018,1019],{},"解決",[845,1021,1022,1033,1044,1058,1069,1080],{},[832,1023,1024,1027,1030],{},[850,1025,1026],{},"影片還沒開始載入",[850,1028,1029],{},"沒播過就打開擴充功能",[850,1031,1032],{},"播放 3-5 秒再打開擴充功能",[832,1034,1035,1038,1041],{},[850,1036,1037],{},"裝了擴充功能後沒重新整理頁面",[850,1039,1040],{},"裝擴充功能前頁面已載入完畢",[850,1042,1043],{},"重新整理頁面重新觸發請求",[832,1045,1046,1049,1055],{},[850,1047,1048],{},"使用 MSE 而非原生 HLS",[850,1050,1051,1052,1054],{},"開發人員工具裡看不到 ",[822,1053,992],{}," 請求",[850,1056,1057],{},"見下方「MSE 網站」小節",[832,1059,1060,1063,1066],{},[850,1061,1062],{},"清單在跨網域 iframe 裡",[850,1064,1065],{},"Network 面板看得到，但擴充功能拿不到",[850,1067,1068],{},"直接打開 iframe 來源頁面再偵測",[832,1070,1071,1074,1077],{},[850,1072,1073],{},"廣告攔截器等擴充功能衝突",[850,1075,1076],{},"暫時停用其他網路類擴充功能後能偵測到",[850,1078,1079],{},"加白名單或調整載入順序",[832,1081,1082,1085,1096],{},[850,1083,1084],{},"自訂\u002F私有協定",[850,1086,1087,1088,1091,1092,1095],{},"Network 裡走的是 ",[822,1089,1090],{},"ws:\u002F\u002F","、",[822,1093,1094],{},"blob:"," 或加密流",[850,1097,1098,1099],{},"FlowPick 暫不支援，見 ",[859,1100,1102],{"href":1101},"\u002Fzh-Hant\u002Fdocs\u002Ftroubleshooting\u002Fknown-issues","已知限制",[1002,1104,1105],{"id":1105},"用開發人員工具確認",[800,1107,1108,1109,1112,1113,1116,1117,1120],{},"按 ",[822,1110,1111],{},"F12"," → ",[955,1114,1115],{},"Network"," 面板 → 在篩選框輸入 ",[822,1118,1119],{},"m3u8","：",[800,1122,1123],{},[997,1124],{"alt":1125,"src":1126},"Network 面板篩選 m3u8","\u002Fscreenshots\u002Fnetwork-filter-m3u8.png",[1128,1129,1130,1133],"ul",{},[951,1131,1132],{},"看得到請求：表示網站確實用 HLS，問題在擴充功能偵測那一側（多半是沒重新整理頁面或被其他擴充功能攔截）。",[951,1134,1135,1136,1139,1140,1142],{},"看不到請求：網站可能用了 MSE（Media Source Extensions），把分片直接餵給 ",[822,1137,1138],{},"\u003Cvideo>","，根本不發 ",[822,1141,992],{},"。這類網站 FlowPick 偵測不到，屬於瀏覽器層級的限制。",[1002,1144,1146],{"id":1145},"mse-網站怎麼辦","MSE 網站怎麼辦",[800,1148,1149,1150,1153,1154,1157],{},"如果 Network 裡看到的是一堆 ",[822,1151,1152],{},".m4s"," \u002F ",[822,1155,1156],{},".chunk"," 請求但沒有清單檔，那它用的是 MSE + 自訂分片邏輯（YouTube 就是典型）。兩條出路：",[1128,1159,1160,1176],{},[951,1161,1162,1163,1166,1167,1171,1172,938],{},"找 ",[822,1164,1165],{},".mpd","（DASH）入口，改用 ",[859,1168,1170],{"href":1169},"\u002Fdash-downloader","DASH 下載器","，參考 ",[859,1173,1175],{"href":1174},"\u002Fzh-Hant\u002Fdocs\u002Ftroubleshooting\u002Fdash-no-audio","DASH 沒有音訊排查",[951,1177,1178,1179,1181,1182,1185,1186,1188],{},"找到 ",[822,1180,1138],{}," 標籤的 ",[822,1183,1184],{},"src","，如果是 ",[822,1187,1094],{}," 開頭，那是 MSE 產生的，無法直接下載——只能等網站自己發原生 HLS\u002FDASH 清單。",[920,1190,1191],{},[800,1192,1193,1194,1197,1198,1202,1203,938],{},"關於擴充功能偵測原理（",[822,1195,1196],{},"webRequest.onBeforeRequest","、Content-Type 辨識）和 25+ 種 MIME 類型的完整列表，請參閱 ",[859,1199,1201],{"href":1200},"\u002Fzh-Hant\u002Fdocs\u002Ffeatures\u002Fvideo-sniffing#%E5%81%B5%E6%B8%AC%E5%8E%9F%E7%90%86","影片嗅探 — 偵測原理","。偵測不到時的系統排查流程，見 ",[859,1204,1206],{"href":1205},"\u002Fzh-Hant\u002Fdocs\u002Ftroubleshooting\u002Fcommon-issues#%E5%AA%92%E9%AB%94%E5%81%B5%E6%B8%AC%E5%95%8F%E9%A1%8C","常見問題排查 — 媒體偵測問題",[804,1208],{},[807,1210,876],{"id":876},[800,1212,1213,1215],{},[955,1214,988],{},"：M3U8 偵測到了，但畫質列表是空的，或分片數量異常少（比如只有 1 個），下載出來只有幾 KB。",[1002,1217,1219],{"id":1218},"master-還是-media","Master 還是 Media",[800,1221,1222],{},"HLS 清單分兩層。如果你在彈出視窗裡看到的是 Media Playlist（分片清單本身），可能沒有畫質選項可選；反過來如果你拿到的只是 Master Playlist 的 URL，但解析出來的變體都是空的，多半是清單內容不完整。",[815,1224,1227],{"className":1225,"code":1226,"language":820},[818],"Master Playlist          ← 列出 360p \u002F 720p \u002F 1080p 變體\n    └── v_720.m3u8       ← Media Playlist，列出幾百個 .ts 分片\n            └── seg-001.ts, seg-002.ts, ...\n",[822,1228,1226],{"__ignoreMap":824},[1002,1230,1231],{"id":1231},"自己檢查清單內容",[800,1233,1234,1235,1238],{},"把 M3U8 URL 複製出來，用 ",[822,1236,1237],{},"curl"," 看一眼內容（替換成你的 URL）：",[815,1240,1244],{"className":1241,"code":1242,"language":1243,"meta":824,"style":824},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","curl -sL \"https:\u002F\u002Fcdn.example.com\u002Findex.m3u8\"\n","bash",[822,1245,1246],{"__ignoreMap":824},[1247,1248,1251,1254,1258,1262,1265],"span",{"class":1249,"line":1250},"line",1,[1247,1252,1237],{"class":1253},"sBMFI",[1247,1255,1257],{"class":1256},"sfazB"," -sL",[1247,1259,1261],{"class":1260},"sMK4o"," \"",[1247,1263,1264],{"class":1256},"https:\u002F\u002Fcdn.example.com\u002Findex.m3u8",[1247,1266,1267],{"class":1260},"\"\n",[800,1269,1270,1271,1274],{},"正常的 Master Playlist 應該看得到 ",[822,1272,1273],{},"#EXT-X-STREAM-INF"," 行：",[815,1276,1279],{"className":1277,"code":1278,"language":820},[818],"#EXTM3U\n#EXT-X-VERSION:6\n#EXT-X-STREAM-INF:BANDWIDTH=3000000,RESOLUTION=1280x720\nv_720.m3u8\n#EXT-X-STREAM-INF:BANDWIDTH=8000000,RESOLUTION=1920x1080\nv_1080.m3u8\n",[822,1280,1278],{"__ignoreMap":824},[800,1282,1283,1284,1287],{},"正常的 Media Playlist 應該看得到 ",[822,1285,1286],{},"#EXTINF"," + 分片 URL：",[815,1289,1292],{"className":1290,"code":1291,"language":820},[818],"#EXTM3U\n#EXT-X-TARGETDURATION:6\n#EXT-X-VERSION:3\n#EXTINF:6.0,\nseg-001.ts\n#EXTINF:6.0,\nseg-002.ts\n#EXTINF:4.2,\nseg-003.ts\n#EXT-X-ENDLIST\n",[822,1293,1291],{"__ignoreMap":824},[1002,1295,1296],{"id":1296},"常見異常",[826,1298,1299,1312],{},[829,1300,1301],{},[832,1302,1303,1306,1309],{},[835,1304,1305],{},"看到的內容",[835,1307,1308],{},"問題",[835,1310,1311],{},"處理",[845,1313,1314,1329,1344,1360,1374],{},[832,1315,1316,1319,1322],{},[850,1317,1318],{},"整個 HTML 頁面（登入頁\u002F錯誤頁）",[850,1320,1321],{},"URL 被防盜連重新導向",[850,1323,1324,1325],{},"見 ",[859,1326,1328],{"href":1327},"#403-%E8%88%87%E9%98%B2%E7%9B%9C%E9%80%A3","403 與防盜連",[832,1330,1331,1338,1341],{},[850,1332,1333,1334,1337],{},"只有 ",[822,1335,1336],{},"#EXTM3U"," 一行",[850,1339,1340],{},"清單被截斷或回應不完整",[850,1342,1343],{},"重新打開頁面取得新 URL",[832,1345,1346,1353,1356],{},[850,1347,1348,1349,1352],{},"有 ",[822,1350,1351],{},"#EXT-X-KEY"," 但沒分片",[850,1354,1355],{},"加密流金鑰失敗導致後續不輸出",[850,1357,1324,1358],{},[859,1359,904],{"href":903},[832,1361,1362,1368,1371],{},[850,1363,1348,1364,1367],{},[822,1365,1366],{},"#EXT-X-ENDLIST"," 但分片數 \u003C 5",[850,1369,1370],{},"直播流剛開播或已結束",[850,1372,1373],{},"直播流需在結束後下載回放",[832,1375,1376,1379,1382],{},[850,1377,1378],{},"分片 URL 是相對路徑",[850,1380,1381],{},"正常，解析器會補全基址",[850,1383,1384],{},"無需處理",[920,1386,1387],{},[800,1388,1389,1390,1393,1394,1396,1397,938],{},"真實 HLS 清單遠比教學範例複雜（多音軌、字幕、",[822,1391,1392],{},"CODECS"," 欄位、不連續性標籤等），這些是「樸素下載器」翻車的高發地。完整解析邏輯見 ",[859,1395,937],{"href":936}," 和 ",[859,1398,1400],{"href":1399},"\u002Fzh-Hant\u002Fdocs\u002Ffeatures\u002Fvideo-sniffing#master-playlist-vs-media-playlist","影片嗅探 — Master Playlist vs Media Playlist",[804,1402],{},[807,1404,890],{"id":890},[800,1406,1407,1409],{},[955,1408,988],{},"：進度條走到一半報錯、卡住不動，或主控台大量 403\u002F404\u002FCORS 報錯。",[1002,1411,1328],{"id":1412},"_403-與防盜連",[800,1414,1415,1416,1419,1420,1423],{},"分片或清單請求回傳 ",[822,1417,1418],{},"403 Forbidden","，幾乎都是",[955,1421,1422],{},"防盜連校驗","沒過。常見三類：",[826,1425,1426,1439],{},[829,1427,1428],{},[832,1429,1430,1433,1436],{},[835,1431,1432],{},"類型",[835,1434,1435],{},"表現",[835,1437,1438],{},"FlowPick 處理",[845,1440,1441,1452,1463],{},[832,1442,1443,1446,1449],{},[850,1444,1445],{},"Referer 校驗",[850,1447,1448],{},"直接 curl 能下，瀏覽器擴充功能有時 403",[850,1450,1451],{},"v1.1.1 起擴充功能自動注入原頁面 Referer",[832,1453,1454,1457,1460],{},[850,1455,1456],{},"Cookie \u002F 登入狀態",[850,1458,1459],{},"未登入時 403，登入後正常",[850,1461,1462],{},"在原影片頁面使用擴充功能即可攜帶 Cookie",[832,1464,1465,1468,1475],{},[850,1466,1467],{},"短時 Token",[850,1469,1470,1471,1474],{},"URL 裡帶 ",[822,1472,1473],{},"?token=xxx&expires=yyy","，過幾分鐘失效",[850,1476,1477],{},"見下方「過期位址」",[1479,1480,1482],"h4",{"id":1481},"擴充功能版的防盜連代理v111","擴充功能版的防盜連代理（v1.1.1+）",[800,1484,1485,1486,1489,1490,1493],{},"從 v1.1.1 起，FlowPick 內建了",[955,1487,1488],{},"防盜連代理預覽與下載","：圖片列表、影片封面、懸停預覽、圖片\u002F音訊\u002F文件\u002F字幕下載，都會自動走代理，帶上原頁面的 ",[822,1491,1492],{},"Referer"," 和 Cookie，並在儲存前檢查回應——避免把防盜連回傳的 HTML 錯誤頁當成圖片或音訊存下來。",[1495,1496,1497],"tip",{},[800,1498,1499,1500,938],{},"如果你裝的是舊版本，升級到 v1.1.1+ 後 Bilibili 等帶 Referer 校驗的網站下載成功率會明顯提升。升級方法見 ",[859,1501,1503],{"href":1502},"\u002Fzh-Hant\u002Fdocs\u002Fgetting-started\u002Finstallation#%E6%9B%B4%E6%96%B0%E6%93%B4%E5%85%85%E5%8A%9F%E8%83%BD","安裝指南 — 更新擴充功能",[1479,1505,1507],{"id":1506},"線上工具為什麼常常-403","線上工具為什麼常常 403",[800,1509,1510,1511,1514,1515,1518],{},"線上工具跑在 ",[822,1512,1513],{},"flowpick.com"," 網域下，瀏覽器不會把目標網站的 Cookie 和原頁面 Referer 帶過去，所以只要來源站做了防盜連，線上工具基本上一定掛。",[955,1516,1517],{},"帶防盜連的網站請直接用擴充功能","，在原影片頁面操作。",[1479,1520,1522],{"id":1521},"用-curl-重現-403","用 curl 重現 403",[800,1524,1525],{},"確認是不是 Referer 問題最快的方法：",[815,1527,1529],{"className":1241,"code":1528,"language":1243,"meta":824,"style":824},"# 不帶 Referer，多半 403\ncurl -I \"https:\u002F\u002Fcdn.example.com\u002Fseg-001.ts\"\n\n# 帶上原頁面 Referer，應該 200\ncurl -I -H \"Referer: https:\u002F\u002Fwww.example.com\u002Fwatch\u002F123\" \"https:\u002F\u002Fcdn.example.com\u002Fseg-001.ts\"\n",[822,1530,1531,1537,1552,1559,1565],{"__ignoreMap":824},[1247,1532,1533],{"class":1249,"line":1250},[1247,1534,1536],{"class":1535},"sHwdD","# 不帶 Referer，多半 403\n",[1247,1538,1540,1542,1545,1547,1550],{"class":1249,"line":1539},2,[1247,1541,1237],{"class":1253},[1247,1543,1544],{"class":1256}," -I",[1247,1546,1261],{"class":1260},[1247,1548,1549],{"class":1256},"https:\u002F\u002Fcdn.example.com\u002Fseg-001.ts",[1247,1551,1267],{"class":1260},[1247,1553,1555],{"class":1249,"line":1554},3,[1247,1556,1558],{"emptyLinePlaceholder":1557},true,"\n",[1247,1560,1562],{"class":1249,"line":1561},4,[1247,1563,1564],{"class":1535},"# 帶上原頁面 Referer，應該 200\n",[1247,1566,1568,1570,1572,1575,1577,1580,1583,1585,1587],{"class":1249,"line":1567},5,[1247,1569,1237],{"class":1253},[1247,1571,1544],{"class":1256},[1247,1573,1574],{"class":1256}," -H",[1247,1576,1261],{"class":1260},[1247,1578,1579],{"class":1256},"Referer: https:\u002F\u002Fwww.example.com\u002Fwatch\u002F123",[1247,1581,1582],{"class":1260},"\"",[1247,1584,1261],{"class":1260},[1247,1586,1549],{"class":1256},[1247,1588,1267],{"class":1260},[800,1590,1591],{},"第二個能回 200，就坐實是 Referer 校驗。",[1002,1593,1595],{"id":1594},"過期位址動態-token","過期位址（動態 Token）",[800,1597,1598,1599,1120],{},"直播回放和部分平台的點播用",[955,1600,1601],{},"短期 Token",[815,1603,1606],{"className":1604,"code":1605,"language":820},[818],"https:\u002F\u002Fcdn.example.com\u002Fseg-001.ts?token=ab12cd34&expires=1692300000\n",[822,1607,1605],{"__ignoreMap":824},[800,1609,1610,1613],{},[822,1611,1612],{},"expires"," 是 Unix 時間戳記，過這個時間就 403\u002F404。表現：",[1128,1615,1616,1619],{},[951,1617,1618],{},"剛開始下載好好的，下到一半突然全部分片 403。",[951,1620,1621],{},"重新打開頁面後又能下，但過一會兒又掛。",[800,1623,1624,1120],{},[955,1625,1311],{},[1128,1627,1628,1635],{},[951,1629,1630,1631,1634],{},"偵測到清單後",[955,1632,1633],{},"盡快開始下載","，別在彈出視窗裡猶豫太久。",[951,1636,1637],{},"大檔案被 Token 截斷時，重新整理原頁面，讓擴充功能重新抓一份新清單，繼續未完成的部分（FlowPick 的失敗重試會處理臨時波動，但 Token 過期是硬性失敗，必須換新清單）。",[920,1639,1640],{},[800,1641,1642,1643,1646,1647,938],{},"FlowPick 的下載重試採用指數退避策略，能處理臨時網路抖動，但",[955,1644,1645],{},"不能","繞過 Token 過期這類硬性失敗。重試機制細節見 ",[859,1648,1650],{"href":1649},"\u002Fzh-Hant\u002Fdocs\u002Fadvanced\u002Fdownload-engine#%E9%87%8D%E8%A9%A6%E6%A9%9F%E5%88%B6","下載引擎架構 — 重試機制",[1002,1652,1654],{"id":1653},"_404-分片已刪除","404 分片已刪除",[800,1656,1657],{},"多見於直播回放——直播結束後平台只保留有限時間的回放分片，超期分片直接 404。",[1128,1659,1660,1663],{},[951,1661,1662],{},"換個畫質試試（不同畫質可能對應不同分片檔案）。",[951,1664,1665],{},"確認回放是否仍在有效期內。",[1002,1667,1669],{"id":1668},"cors-錯誤","CORS 錯誤",[800,1671,1672,1673,1676,1677,1679,1680,1683],{},"主控台報 ",[822,1674,1675],{},"has been blocked by CORS policy","，基本都是",[955,1678,710],{},"遇到的。擴充功能有 ",[822,1681,1682],{},"host_permissions","，不受同源策略限制。",[826,1685,1686,1698],{},[829,1687,1688],{},[832,1689,1690,1693,1696],{},[835,1691,1692],{},"工具",[835,1694,1695],{},"CORS 表現",[835,1697,1311],{},[845,1699,1700,1711],{},[832,1701,1702,1705,1708],{},[850,1703,1704],{},"瀏覽器擴充功能",[850,1706,1707],{},"不會觸發 CORS",[850,1709,1710],{},"—",[832,1712,1713,1715,1718],{},[850,1714,710],{},[850,1716,1717],{},"清單\u002F分片跨網域拉取被攔",[850,1719,1720,1721],{},"改用擴充功能；或確認來源站是否回傳 ",[822,1722,1723],{},"Access-Control-Allow-Origin",[920,1725,1726],{},[800,1727,1728,1729,938],{},"CORS 是瀏覽器安全機制，不是 bug。線上工具與擴充功能的功能差異和選型建議，見 ",[859,1730,1732],{"href":1731},"\u002Fzh-Hant\u002Fdocs\u002Fadvanced\u002Fonline-tools#%E8%88%87%E6%93%B4%E5%85%85%E5%8A%9F%E8%83%BD%E7%9A%84%E5%8D%80%E5%88%A5","線上工具 — 與擴充功能的區別",[1002,1734,1735],{"id":1735},"下載途中網路中斷",[800,1737,1738],{},"臨時網路抖動由重試機制覆蓋。持續失敗時：",[1128,1740,1741,1749,1752],{},[951,1742,1743,1744,1748],{},"檢查網路穩定性（特別是代理\u002FVPN 環境，見 ",[859,1745,1747],{"href":1746},"\u002Fzh-Hant\u002Fdocs\u002Ftroubleshooting\u002Fcommon-issues#%E4%BB%A3%E7%90%86vpn-%E7%92%B0%E5%A2%83","常見問題排查 — 代理\u002FVPN 環境","）。",[951,1750,1751],{},"把並行執行緒數降到 2-3，減少同時連線數（部分 CDN 會拒絕過高並行）。",[951,1753,1754],{},"檢查防火牆是否攔截了串流媒體 CDN 網域。",[920,1756,1757],{},[800,1758,1759,1760,1764,1765,938],{},"並行數怎麼配？預設 2 保守，桌面網路建議 4-6，CDN 限速嚴重的網站降到 2-3。設定方法見 ",[859,1761,1763],{"href":1762},"\u002Fzh-Hant\u002Fdocs\u002Fgetting-started\u002Fconfiguration","設定參考","。並行與效能關係見 ",[859,1766,1768],{"href":1767},"\u002Fzh-Hant\u002Fdocs\u002Fadvanced\u002Fdownload-engine#%E4%B8%A6%E8%A1%8C%E6%95%B8%E8%88%87%E6%95%88%E8%83%BD%E7%9A%84%E9%97%9C%E4%BF%82","下載引擎架構 — 並行數與效能的關係",[804,1770],{},[807,1772,904],{"id":904},[800,1774,1775,1777,1778,1780],{},[955,1776,988],{},"：清單裡有 ",[822,1779,1351],{},"，下載能跑完，但合併後沒聲音\u002F花屏\u002F無法播放，或主控台報解密錯誤。",[1002,1782,1784],{"id":1783},"先區分-aes-128-還是-drm","先區分 AES-128 還是 DRM",[800,1786,1787,1788,1791],{},"FlowPick 只支援 ",[955,1789,1790],{},"AES-128"," 這種「裸」加密。清單裡看到這些標籤的，通通下不了：",[815,1793,1796],{"className":1794,"code":1795,"language":820},[818],"# AES-128 —— 支援\n#EXT-X-KEY:METHOD=AES-128,URI=\"https:\u002F\u002Fcdn.example.com\u002Fkey.bin\",IV=0x...\n\n# SAMPLE-AES \u002F FairPlay —— 不支援（接近 DRM）\n#EXT-X-KEY:METHOD=SAMPLE-AES,URI=\"skd:\u002F\u002F...\"\n\n# Widevine \u002F PlayReady（DASH 裡常見）—— 不支援\n\u003CContentProtection schemeIdUri=\"...\"\u002F>\n",[822,1797,1795],{"__ignoreMap":824},[1002,1799,1801],{"id":1800},"aes-128-解密失敗的常見原因","AES-128 解密失敗的常見原因",[826,1803,1804,1814],{},[829,1805,1806],{},[832,1807,1808,1810,1812],{},[835,1809,1013],{},[835,1811,1016],{},[835,1813,1311],{},[845,1815,1816,1827,1838,1855],{},[832,1817,1818,1821,1824],{},[850,1819,1820],{},"金鑰 URL 403\u002F404",[850,1822,1823],{},"主控台報金鑰拉取失敗",[850,1825,1826],{},"在原頁面用擴充功能（帶 Cookie\u002FReferer）；金鑰也可能帶 Token",[832,1828,1829,1832,1835],{},[850,1830,1831],{},"金鑰需要登入狀態",[850,1833,1834],{},"未登入時金鑰 403，登入後正常",[850,1836,1837],{},"先登入再下載",[832,1839,1840,1843,1852],{},[850,1841,1842],{},"IV 缺失",[850,1844,1845,1846,1848,1849],{},"清單裡 ",[822,1847,1351],{}," 沒有 ",[822,1850,1851],{},"IV=",[850,1853,1854],{},"FlowPick 會依規範用分片序號推導 IV，無需手動處理",[832,1856,1857,1860,1863],{},[850,1858,1859],{},"金鑰不是 16 位元組",[850,1861,1862],{},"curl 下來長度不對",[850,1864,1865],{},"來源站異常，非 FlowPick 可修",[1002,1867,1869],{"id":1868},"用-curl-驗證金鑰","用 curl 驗證金鑰",[815,1871,1873],{"className":1241,"code":1872,"language":1243,"meta":824,"style":824},"# 看金鑰是否拿得到，注意要帶 Referer\u002FCookie\ncurl -sL -H \"Referer: https:\u002F\u002Fwww.example.com\u002Fwatch\u002F123\" \\\n     \"https:\u002F\u002Fcdn.example.com\u002Fkey.bin\" | wc -c\n# 正常應該輸出 16\n",[822,1874,1875,1880,1898,1917],{"__ignoreMap":824},[1247,1876,1877],{"class":1249,"line":1250},[1247,1878,1879],{"class":1535},"# 看金鑰是否拿得到，注意要帶 Referer\u002FCookie\n",[1247,1881,1882,1884,1886,1888,1890,1892,1894],{"class":1249,"line":1539},[1247,1883,1237],{"class":1253},[1247,1885,1257],{"class":1256},[1247,1887,1574],{"class":1256},[1247,1889,1261],{"class":1260},[1247,1891,1579],{"class":1256},[1247,1893,1582],{"class":1260},[1247,1895,1897],{"class":1896},"sTEyZ"," \\\n",[1247,1899,1900,1903,1906,1908,1911,1914],{"class":1249,"line":1554},[1247,1901,1902],{"class":1260},"     \"",[1247,1904,1905],{"class":1256},"https:\u002F\u002Fcdn.example.com\u002Fkey.bin",[1247,1907,1582],{"class":1260},[1247,1909,1910],{"class":1260}," |",[1247,1912,1913],{"class":1253}," wc",[1247,1915,1916],{"class":1256}," -c\n",[1247,1918,1919],{"class":1249,"line":1561},[1247,1920,1921],{"class":1535},"# 正常應該輸出 16\n",[800,1923,1924],{},"輸出不是 16，金鑰本身有問題；輸出 16 但擴充功能還是解密失敗，多半是擴充功能請求時沒帶上 Cookie\u002FReferer（升級到 v1.1.1+，防盜連代理會自動帶）。",[1002,1926,1928],{"id":1927},"drm-內容怎麼辦","DRM 內容怎麼辦",[800,1930,1931,1932,1935,1936,938],{},"Widevine、PlayReady、FairPlay、SAMPLE-AES 這些 DRM 保護內容，FlowPick ",[955,1933,1934],{},"明確拒絕處理","——這是特性不是 bug。聲稱能解 DRM 的下載器要不是在說謊就是違法。法律和技術底線見 ",[859,1937,1939],{"href":1938},"\u002Fzh-Hant\u002Fblog\u002Fis-it-legal-to-download-streaming-video","串流下載合法性指南",[920,1941,1942],{},[800,1943,1944,1945,1949,1950,938],{},"DRM 偵測方式和完整不支援列表見 ",[859,1946,1948],{"href":1947},"\u002Fzh-Hant\u002Fdocs\u002Ftroubleshooting\u002Fknown-issues#drm-%E4%BF%9D%E8%AD%B7%E5%85%A7%E5%AE%B9","已知限制 — DRM 保護內容","。AES-128 解密的 Web Crypto 實作見 ",[859,1951,1953],{"href":1952},"\u002Fzh-Hant\u002Fdocs\u002Ffeatures\u002Fvideo-sniffing#%E5%8A%A0%E5%AF%86%E4%B8%B2%E6%B5%81aes-128","影片嗅探 — 加密串流",[804,1955],{},[807,1957,918],{"id":918},[800,1959,1960,1962],{},[955,1961,988],{},"：檔案下下來了，大小也正常，但 VLC\u002F播放器打不開，或只有畫面沒聲音，或音畫不同步。",[1002,1964,1966],{"id":1965},"先用-vlc-測試","先用 VLC 測試",[800,1968,1969],{},"VLC 是相容性最好的播放器，先用它排除「播放器問題」：",[1128,1971,1972,1975],{},[951,1973,1974],{},"VLC 能播、系統播放器不能播 → 編解碼\u002F容器相容問題，換播放器。",[951,1976,1977],{},"VLC 也播不了 → 檔案本身有問題。",[1002,1979,1004],{"id":1980},"常見原因-1",[826,1982,1983,1993],{},[829,1984,1985],{},[832,1986,1987,1989,1991],{},[835,1988,1435],{},[835,1990,1013],{},[835,1992,1311],{},[845,1994,1995,2008,2019,2030,2041],{},[832,1996,1997,2000,2003],{},[850,1998,1999],{},"檔案只有幾 KB",[850,2001,2002],{},"下到了清單不是影片",[850,2004,2005,2006],{},"重新選擇資源，確認選的是影片不是 ",[822,2007,992],{},[832,2009,2010,2013,2016],{},[850,2011,2012],{},"有畫面沒聲音",[850,2014,2015],{},"多音軌清單只下了影片軌道",[850,2017,2018],{},"見下方「多音軌」",[832,2020,2021,2024,2027],{},[850,2022,2023],{},"音畫不同步",[850,2025,2026],{},"HLS 分片 PTS 不連續",[850,2028,2029],{},"切 TS 輸出格式，或用 FFmpeg 重新編碼",[832,2031,2032,2035,2038],{},[850,2033,2034],{},"花屏\u002F損壞",[850,2036,2037],{},"個別分片下載失敗導致合並不完整",[850,2039,2040],{},"重新下載，確保所有分片完整",[832,2042,2043,2046,2053],{},[850,2044,2045],{},"MP4 打不開但 TS 能播",[850,2047,2048,2049,2052],{},"轉封裝時 ",[822,2050,2051],{},"stsd"," box 寫錯",[850,2054,2055],{},"見下方「TS vs MP4」",[1002,2057,2058],{"id":2058},"多音軌清單",[800,2060,2061],{},"真實 HLS 清單（Netflix、Disney+ 那種）常把音訊和影片分開放：",[815,2063,2066],{"className":2064,"code":2065,"language":820},[818],"#EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID=\"aac-128\",NAME=\"English\",DEFAULT=YES,URI=\"audio\u002Feng_128.m3u8\"\n#EXT-X-STREAM-INF:BANDWIDTH=3000000,...,AUDIO=\"aac-128\"\nv_720.m3u8\n",[822,2067,2065],{"__ignoreMap":824},[800,2069,2070,2071,2074,2075,2078,2079,938],{},"如果你的下載器只抓 ",[822,2072,2073],{},"v_720.m3u8"," 然後拼分片，得到的就會是無聲影片。FlowPick 會自動同時拉音訊軌道並合併，但前提是你選了",[955,2076,2077],{},"包含音訊的變體","而不是只選影片流。多音軌清單的完整處理見 ",[859,2080,2082],{"href":2081},"\u002Fzh-Hant\u002Fblog\u002Fhls-m3u8-deep-dive-encryption-multitrack#ext-x-media%E9%9F%B3%E8%A8%8A%E5%92%8C%E5%AD%97%E5%B9%95%E8%BB%8C%E9%81%93","HLS 深度篇 — EXT-X-MEDIA",[1002,2084,2086],{"id":2085},"ts-vs-mp4-輸出格式","TS vs MP4 輸出格式",[800,2088,2089,2090,2093],{},"遇到 MP4 打不開的情況，先切到 ",[955,2091,2092],{},"TS 輸出格式","試試。原因：",[1128,2095,2096,2099],{},[951,2097,2098],{},"TS 分片是裸拼接，MPEG-TS 自帶 codec 資訊，幾乎不會錯。",[951,2100,2101,2102,2104,2105,2107],{},"MP4 轉封裝需要解析 ",[822,2103,1392],{}," 欄位、寫對 ",[822,2106,2051],{}," box，遇到非標準 codec 標示會翻車。",[800,2109,2110],{},"TS 能播、MP4 不能播，多半是轉封裝問題，可以先用 TS 救急；要 MP4 的話用 FFmpeg 命令列手動轉一次：",[815,2112,2114],{"className":1241,"code":2113,"language":1243,"meta":824,"style":824},"ffmpeg -i output.ts -c copy output.mp4\n",[822,2115,2116],{"__ignoreMap":824},[1247,2117,2118,2121,2124,2127,2130,2133],{"class":1249,"line":1250},[1247,2119,2120],{"class":1253},"ffmpeg",[1247,2122,2123],{"class":1256}," -i",[1247,2125,2126],{"class":1256}," output.ts",[1247,2128,2129],{"class":1256}," -c",[1247,2131,2132],{"class":1256}," copy",[1247,2134,2135],{"class":1256}," output.mp4\n",[800,2137,2138,2141],{},[822,2139,2140],{},"-c copy"," 不重新編碼，秒級完成。",[920,2143,2144],{},[800,2145,2146,2147,2150,2151,938],{},"TS\u002FMP4 轉封裝原理和 FFmpeg WASM 實作見 ",[859,2148,690],{"href":2149},"\u002Fzh-Hant\u002Fdocs\u002Ffeatures\u002Fformat-conversion","。瀏覽器內合併的完整流程見 ",[859,2152,2154],{"href":2153},"\u002Fzh-Hant\u002Fblog\u002Fhow-flowpick-merges-video-segments-in-browser","瀏覽器內合併深度篇",[804,2156],{},[807,2158,2160],{"id":2159},"大檔案-瀏覽器卡死","大檔案 \u002F 瀏覽器卡死",[800,2162,2163,2165],{},[955,2164,988],{},"：下載大檔案（>1GB）時瀏覽器卡頓、崩潰，或下載到一定比例直接中斷。",[800,2167,2168,2169,2172],{},"這是",[955,2170,2171],{},"寫入策略","問題，不是 HLS 本身的問題。FlowPick 三級寫入策略：",[826,2174,2175,2188],{},[829,2176,2177],{},[832,2178,2179,2182,2185],{},[835,2180,2181],{},"策略",[835,2183,2184],{},"觸發條件",[835,2186,2187],{},"上限",[845,2189,2190,2201,2211],{},[832,2191,2192,2195,2198],{},[850,2193,2194],{},"File System Access API",[850,2196,2197],{},"Chrome\u002FEdge 86+",[850,2199,2200],{},"無硬上限",[832,2202,2203,2206,2209],{},[850,2204,2205],{},"StreamSaver.js",[850,2207,2208],{},"支援 Service Worker 的瀏覽器",[850,2210,2200],{},[832,2212,2213,2216,2219],{},[850,2214,2215],{},"Blob 備援",[850,2217,2218],{},"其他情況",[850,2220,2221],{},[955,2222,2223],{},"1.5GB 硬限制",[800,2225,2226],{},"Blob 模式下超過 1.5GB 會被直接拒絕。解決方案：",[1128,2228,2229,2232,2235],{},[951,2230,2231],{},"用 Chrome 86+ 或 Edge 86+，啟用「選擇儲存目錄」功能。",[951,2233,2234],{},"Firefox 不支援 FSA，大檔案走 StreamSaver 或 OPFS 暫存儲存（v1.1.1+ 優化）。",[951,2236,2237],{},"實在不行，把並行數降到 1-2，減少記憶體佔用。",[920,2239,2240],{},[800,2241,2242,2243,2247,2248,2252,2253,938],{},"三級寫入策略對比和降級邏輯見 ",[859,2244,2246],{"href":2245},"\u002Fzh-Hant\u002Fdocs\u002Fadvanced\u002Fdownload-engine#%E7%AD%96%E7%95%A5%E5%B0%8D%E6%AF%94%E7%B8%BD%E7%B5%90","下載引擎架構 — 策略對比總結","。大檔案排查見 ",[859,2249,2251],{"href":2250},"\u002Fzh-Hant\u002Fdocs\u002Ftroubleshooting\u002Fcommon-issues#%E5%A4%A7%E6%AA%94%E6%A1%88%E4%B8%8B%E8%BC%89%E5%A4%B1%E6%95%97","常見問題排查 — 大檔案下載失敗","。Firefox 的 OPFS 暫存儲存行為見 ",[859,2254,2256],{"href":2255},"\u002Fzh-Hant\u002Fdocs\u002Fgetting-started\u002Finstallation#firefox","安裝指南 — Firefox",[804,2258],{},[807,2260,2261],{"id":2261},"診斷工具速查",[800,2263,2264,2265,2267],{},"排查時按 ",[822,2266,1111],{}," 打開開發人員工具，下面是幾個最常用的檢查點：",[826,2269,2270,2283],{},[829,2271,2272],{},[832,2273,2274,2277,2280],{},[835,2275,2276],{},"檢查",[835,2278,2279],{},"面板",[835,2281,2282],{},"操作",[845,2284,2285,2298,2314,2325,2342],{},[832,2286,2287,2290,2292],{},[850,2288,2289],{},"M3U8 有沒有被請求",[850,2291,1115],{},[850,2293,2294,2295,2297],{},"篩選框輸入 ",[822,2296,1119],{},"，重新整理頁面播放影片",[832,2299,2300,2303,2305],{},[850,2301,2302],{},"分片請求狀態碼",[850,2304,1115],{},[850,2306,2294,2307,2310,2311,2313],{},[822,2308,2309],{},".ts"," 或 ",[822,2312,1152],{},"，看 Status 欄",[832,2315,2316,2319,2322],{},[850,2317,2318],{},"請求帶了什麼標頭",[850,2320,2321],{},"Network → 選中請求 → Headers",[850,2323,2324],{},"看 Request Headers 的 Referer\u002FCookie",[832,2326,2327,2330,2333],{},[850,2328,2329],{},"解密報錯",[850,2331,2332],{},"主控台",[850,2334,2335,2336,2310,2339],{},"搜尋 ",[822,2337,2338],{},"decrypt",[822,2340,2341],{},"AES",[832,2343,2344,2347,2349],{},[850,2345,2346],{},"合併報錯",[850,2348,2332],{},[850,2350,2335,2351,2310,2353],{},[822,2352,2120],{},[822,2354,2355],{},"wasm",[1002,2357,2358],{"id":2358},"產生環境診斷報告",[800,2360,2361],{},"複雜問題可以在主控台跑下面這段，產生環境資訊便於回報：",[815,2363,2367],{"className":2364,"code":2365,"language":2366,"meta":824,"style":824},"language-javascript shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","const report = {\n  ua: navigator.userAgent,\n  fsa: 'showDirectoryPicker' in window,\n  sab: typeof SharedArrayBuffer !== 'undefined',\n  coi: self.crossOriginIsolated,\n  storage: await navigator.storage?.estimate().catch(() => null),\n  ts: new Date().toISOString(),\n}\nconsole.log(JSON.stringify(report, null, 2))\n","javascript",[822,2368,2369,2374,2379,2384,2389,2394,2400,2406,2412],{"__ignoreMap":824},[1247,2370,2371],{"class":1249,"line":1250},[1247,2372,2373],{},"const report = {\n",[1247,2375,2376],{"class":1249,"line":1539},[1247,2377,2378],{},"  ua: navigator.userAgent,\n",[1247,2380,2381],{"class":1249,"line":1554},[1247,2382,2383],{},"  fsa: 'showDirectoryPicker' in window,\n",[1247,2385,2386],{"class":1249,"line":1561},[1247,2387,2388],{},"  sab: typeof SharedArrayBuffer !== 'undefined',\n",[1247,2390,2391],{"class":1249,"line":1567},[1247,2392,2393],{},"  coi: self.crossOriginIsolated,\n",[1247,2395,2397],{"class":1249,"line":2396},6,[1247,2398,2399],{},"  storage: await navigator.storage?.estimate().catch(() => null),\n",[1247,2401,2403],{"class":1249,"line":2402},7,[1247,2404,2405],{},"  ts: new Date().toISOString(),\n",[1247,2407,2409],{"class":1249,"line":2408},8,[1247,2410,2411],{},"}\n",[1247,2413,2415],{"class":1249,"line":2414},9,[1247,2416,2417],{},"console.log(JSON.stringify(report, null, 2))\n",[800,2419,2420],{},"報告只含瀏覽器環境資訊，不含任何瀏覽記錄或個人資料。",[804,2422],{},[807,2424,2425],{"id":2425},"什麼時候真的下不了",[800,2427,2428,2429,2432],{},"FlowPick 適合公開的標準 HLS 播放清單。以下場景是",[955,2430,2431],{},"設計上不支援","，不是 bug：",[1128,2434,2435,2438,2441,2444],{},[951,2436,2437],{},"DRM 保護（Widevine \u002F PlayReady \u002F FairPlay \u002F SAMPLE-AES）",[951,2439,2440],{},"需要破解登入或付費牆的內容",[951,2442,2443],{},"使用 MSE 自訂分片、不發原生 M3U8\u002FMPD 的網站",[951,2445,2446],{},"私有協定、WebSocket、WebRTC 傳輸的媒體",[800,2448,2449,2450,938],{},"碰到這些，正確的行為是報錯而不是默默產出損壞檔案——這也是 FlowPick 的態度。法律和技術底線詳見 ",[859,2451,1939],{"href":1938},[804,2453],{},[807,2455,2456],{"id":2456},"相關文件",[1128,2458,2459,2466,2472,2478,2484,2489,2494,2499,2504],{},[951,2460,2461,2465],{},[859,2462,2464],{"href":2463},"\u002Fm3u8-downloader","M3U8 下載器"," —— 線上工具，適合無防盜連的公開串流",[951,2467,2468,2471],{},[859,2469,759],{"href":2470},"\u002Fzh-Hant\u002Fdocs\u002Ftroubleshooting\u002Fcommon-issues"," —— 跨格式的系統排查指南",[951,2473,2474,2477],{},[859,2475,674],{"href":2476},"\u002Fzh-Hant\u002Fdocs\u002Ffeatures\u002Fvideo-sniffing"," —— HLS\u002FDASH 偵測與 AES-128 解密原理",[951,2479,2480,2483],{},[859,2481,718],{"href":2482},"\u002Fzh-Hant\u002Fdocs\u002Fadvanced\u002Fdownload-engine"," —— 分片並行、重試、三級寫入",[951,2485,2486,2488],{},[859,2487,690],{"href":2149}," —— TS\u002FMP4 轉封裝",[951,2490,2491,2493],{},[859,2492,1102],{"href":1101}," —— DRM、Manifest V3、CORS 等硬限制",[951,2495,2496,2498],{},[859,2497,937],{"href":936}," —— 真實清單、加密、多音軌的邊界情況",[951,2500,2501,2503],{},[859,2502,2154],{"href":2153}," —— TS\u002FMP4 合併實作",[951,2505,2506,2510],{},[859,2507,2509],{"href":2508},"\u002Fzh-Hant\u002Fblog\u002Fflowpick-v1-1-1-protected-resource-preview-download","v1.1.1 更新"," —— 防盜連代理預覽與下載",[2512,2513,2514],"style",{},"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 .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}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 .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}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}",{"title":824,"searchDepth":1539,"depth":1539,"links":2516},[2517,2518,2519,2524,2529,2536,2542,2548,2549,2552,2553],{"id":809,"depth":1539,"text":810},{"id":943,"depth":1539,"text":943},{"id":983,"depth":1539,"text":862,"children":2520},[2521,2522,2523],{"id":1004,"depth":1554,"text":1004},{"id":1105,"depth":1554,"text":1105},{"id":1145,"depth":1554,"text":1146},{"id":876,"depth":1539,"text":876,"children":2525},[2526,2527,2528],{"id":1218,"depth":1554,"text":1219},{"id":1231,"depth":1554,"text":1231},{"id":1296,"depth":1554,"text":1296},{"id":890,"depth":1539,"text":890,"children":2530},[2531,2532,2533,2534,2535],{"id":1412,"depth":1554,"text":1328},{"id":1594,"depth":1554,"text":1595},{"id":1653,"depth":1554,"text":1654},{"id":1668,"depth":1554,"text":1669},{"id":1735,"depth":1554,"text":1735},{"id":904,"depth":1539,"text":904,"children":2537},[2538,2539,2540,2541],{"id":1783,"depth":1554,"text":1784},{"id":1800,"depth":1554,"text":1801},{"id":1868,"depth":1554,"text":1869},{"id":1927,"depth":1554,"text":1928},{"id":918,"depth":1539,"text":918,"children":2543},[2544,2545,2546,2547],{"id":1965,"depth":1554,"text":1966},{"id":1980,"depth":1554,"text":1004},{"id":2058,"depth":1554,"text":2058},{"id":2085,"depth":1554,"text":2086},{"id":2159,"depth":1539,"text":2160},{"id":2261,"depth":1539,"text":2261,"children":2550},[2551],{"id":2358,"depth":1554,"text":2358},{"id":2425,"depth":1539,"text":2425},{"id":2456,"depth":1539,"text":2456},"排查 M3U8 與 HLS 下載失敗，包括播放清單偵測、CORS、過期位址、Referer、DRM 與分片問題。","md",{"date":2557,"lastModified":2557},"2026-08-17",{"icon":141},{"title":2560,"description":2554},"M3U8 下載失敗怎麼辦？HLS 故障排查指南 | FlowPick","zXwMvYq1fI9YkM8fcwYKCCWOGo4vIXteFQY24V8UBeo",[2563,2565],{"title":767,"path":768,"stem":769,"description":2564,"icon":158,"children":-1},"FlowPick 使用過程中的高頻問題與解答，涵蓋安裝、下載、格式轉換、故障處理等場景。",{"title":775,"path":776,"stem":777,"description":2566,"icon":141,"children":-1},"解決 MPD 或 MPEG-DASH 影片下載後沒有聲音的問題，涵蓋音影片分軌、CORS、DRM 與不完整清單。",1787670555891]