YoutubePlus เป็นส่วนเสริมสำหรับผู้ใช้ NVDA ที่รักการใช้ YouTube แต่พบว่าฟีเจอร์หลายอย่างบนเว็บไซต์เข้าถึงได้ยาก เช่น การอ่านคอมเมนต์ การติดตามช่อง หรือการดูแชทสด
เราเอาฟีเจอร์เหล่านี้มาแสดงผ่านส่วนติดต่อผู้ใช้ของ NVDA ในรูปแบบที่นำทางด้วยคีย์บอร์ดได้ง่าย รองรับทางลัด และปรับแต่งได้เต็มที่ — โดยไม่ต้องใช้ API Key หรือเชื่อมต่อบัญชี Google/YouTube ใด ๆ ทั้งสิ้น
คุณสามารถติดตามช่องที่ชอบและมั่นใจได้ว่าจะเห็นทุกวิดีโอจากช่องเหล่านั้น โดยไม่ถูก Algorithm ของ YouTube กรองออก นอกจากนี้ยังมีระบบ Favorites สำหรับวิดีโอ ช่อง เพลย์ลิสต์ และ Watch List เพื่อบันทึกเนื้อหาที่สนใจแต่ยังไม่มีเวลาดู
มีระบบค้นหาวิดีโอในตัว ซึ่งแสดงผลลัพธ์ภายใน UI ของส่วนเสริมเอง ไม่ใช่เพียงเปิดเบราว์เซอร์ไปยัง YouTube และมีฟีเจอร์ดาวน์โหลดวิดีโอ/เสียง ซึ่งให้มาเพื่อความสะดวก — หากต้องการดาวน์โหลดเป็นหลัก แนะนำให้ดูส่วนเสริมอื่นที่เน้นฟีเจอร์นี้โดยเฉพาะ
สิ่งที่ส่วนเสริมนี้ ไม่ทำ คือการฝัง Video Player เพราะเราเชื่อว่าเว็บเพลเยอร์ของ YouTube นั้นเข้าถึงได้ดีพออยู่แล้ว หากยังพบปัญหา สามารถใช้ส่วนเสริมอื่นเช่น browserNav เพื่อปรับปรุงประสบการณ์การใช้งาน
ส่วนเสริมนี้ใช้ระบบ Layer Command เพื่อหลีกเลี่ยงการชนกับคีย์ลัดของส่วนเสริมหรือ NVDA อื่น ๆ
วิธีใช้: 1. กด NVDA+Y เพื่อเข้าสู่ YoutubePlus Command Mode (จะได้ยินเสียงแจ้งเตือน) 2. กดตัวอักษรที่ต้องการเพื่อเรียกฟีเจอร์นั้น ๆ
หมายเหตุ: หาก
NVDA+Yชนกับส่วนเสริมอื่น สามารถเปลี่ยนได้ที่NVDA → Preferences → Input Gestures...ในหมวด "YoutubePlus"การค้นหา URL: สำหรับคำสั่งที่ต้องใช้ URL วิดีโอ ส่วนเสริมจะตรวจสอบจาก หน้าเบราว์เซอร์ที่เปิดอยู่ ก่อน หากไม่พบจึงตรวจสอบจาก Clipboard โดยอัตโนมัติ
| คีย์ | ฟีเจอร์ | |------|---------| | a | เมนู "เพิ่มไปยัง..." (Favorites / Subscribe) | | f | เปิดรายการ Favorite Videos | | c | เปิดรายการ Favorite Channels | | p | เปิดรายการ Favorite Playlists | | w | เปิด Watch List | | b | ดาวน์โหลดคำบรรยาย (Subtitle) | | d | ดาวน์โหลดวิดีโอหรือเสียง | | e | ค้นหาวิดีโอบน YouTube | | q | Quick Search — ค้นหาทันทีจากข้อความที่เลือก หรือ Clipboard โดยไม่ต้องเปิด dialog | | Control+H | เปิดหน้าต่าง Favorites ไปยังแท็บ Search History โดยตรง | | i | แสดงข้อมูลวิดีโอ | | t | แสดง Chapters / Timestamps | | m | จัดการ Subscription | | s | เปิด Subscription Feed | | u | จัดการ User Profile | | l | แสดงคอมเมนต์ หรือเริ่มมอนิเตอร์แชทสด | | Shift+L | หยุดมอนิเตอร์แชทสด | | r | สลับการอ่านแชทสดอัตโนมัติ | | v | เปิดหน้าต่างแชทสดอีกครั้ง (ขณะ stream ยังดำเนินอยู่) | | y | เปิด YoutubePlus Settings | | h | เปิดหน้าต่างช่วยเหลือ (Help) |
เปิดเมนูย่อยให้เลือกว่าจะเพิ่มวิดีโอหรือช่องไปยังที่ใด:
คำสั่งส่วนใหญ่ทำงานได้กับ URL ทุกรูปแบบของ YouTube — ตัวอย่างเช่น ถ้าคุณอยู่ที่หน้าวิดีโอและเลือก "Add to Favorite Channels" ส่วนเสริมจะดึง URL ของช่องมาให้โดยอัตโนมัติ
ข้อยกเว้น: สำหรับ Playlist ต้องเปิดหน้า YouTube Playlist หรือมี URL ของ Playlist อยู่ใน Clipboard
กด NVDA+Y → D จะเปิดกล่องโต้ตอบถามว่าต้องการดาวน์โหลดเป็น:
ระหว่างดาวน์โหลดจะมีแถบแสดงความคืบหน้าพร้อมตัวเลขเปอร์เซ็นต์ มีปุ่ม Cancel เพื่อยกเลิกได้ทุกเมื่อ
ตั้งค่าโฟลเดอร์ปลายทางได้ใน Settings
หมายเหตุ: ฟีเจอร์นี้ให้มาเพื่อความสะดวก หากต้องการดาวน์โหลดจำนวนมาก แนะนำให้ใช้เครื่องมือที่ออกแบบมาสำหรับงานนี้โดยเฉพาะ
กด NVDA+Y → B จะดึงรายการภาษาคำบรรยายที่มีในวิดีโอนั้น แล้วแสดงกล่องโต้ตอบให้เลือกภาษา รายการจะแบ่งเป็นสองประเภท:
รูปแบบไฟล์ที่รองรับ: SRT, VTT, TTML และ TXT (ข้อความล้วน ไม่มี Timecode) ตั้งค่าได้ใน Settings
กด NVDA+Y → E เพื่อเปิดหน้าต่างค้นหา พิมพ์คำค้นหาแล้วกด Enter เพื่อค้นทันที กด Tab เพื่อปรับจำนวนผลลัพธ์ที่ต้องการ (ส่วนเสริมจดจำค่านี้ไว้สำหรับครั้งถัดไป)
ช่องค้นหาเป็น combo box ที่จดจำประวัติการค้นหาไว้ด้วย — กด ลูกศรลง หรือ Alt+ลูกศรลง เพื่อดูรายการคำค้นหาก่อนหน้าและเลือกใช้ซ้ำได้โดยไม่ต้องพิมพ์ใหม่
ผลลัพธ์จะแสดงในรูปแบบ รายการวิดีโอ เดียวกับที่ใช้ในส่วนอื่น ๆ ของส่วนเสริม — ไม่ใช่การเปิด YouTube ในเบราว์เซอร์ ผลการค้นหาอาจรวมทั้งวิดีโอ ช่อง และเพลย์ลิสต์
วิธีค้นหาที่เร็วกว่า — เลือกข้อความในแอปพลิเคชันใดก็ได้ (หรือ copy ไว้ใน Clipboard ถ้าไม่ได้เลือก) แล้วกด Q ในโหมด YoutubePlus ส่วนเสริมจะค้นหา YouTube ทันทีโดยใช้ข้อความนั้นและจำนวนผลลัพธ์ที่บันทึกไว้ครั้งล่าสุด — ไม่ต้องเปิด dialog เพิ่มเติม
ทุกครั้งที่ค้นหา — ไม่ว่าจะจาก search dialog หรือ quick search — จะถูกบันทึกอัตโนมัติ กด Control+H ในโหมด YoutubePlus เพื่อข้ามไปยังแท็บ Search History ในหน้าต่าง Favorites โดยตรง ซึ่งสามารถ:
กด NVDA+Y → I เพื่อดูข้อมูลต่อไปนี้ของวิดีโอปัจจุบัน:
กด NVDA+Y → T เพื่อดูรายการ Chapter หรือ Timestamp ของวิดีโอ (หากผู้สร้างวิดีโอได้ใส่ข้อมูลนี้ไว้) ถ้าส่วนเสริมแจ้งว่า "No chapters found" หมายความว่าวิดีโอนั้นไม่มีข้อมูล Chapter
หน้าต่างนี้ประกอบด้วย:
YoutubePlus รองรับเนื้อหา 3 ประเภทผ่านคำสั่งนี้:
กด NVDA+Y → L ขณะอยู่ที่หน้าวิดีโอ ส่วนเสริมจะดึงคอมเมนต์ทั้งหมดมาแสดง คอมเมนต์ที่ปักหมุด (Pinned) จะแสดงก่อน ตามด้วยคอมเมนต์อื่น ๆ ตามลำดับที่ตั้งค่าไว้ใน Settings
หน้าต่างคอมเมนต์ประกอบด้วย:
สำหรับวิดีโอที่กำลัง Live อยู่ กด L เพื่อเปิดหน้าต่างรับข้อความแชทสด ข้อความที่แสดงจะเป็นเฉพาะที่รับมาหลังจากเปิดคำสั่งนี้เท่านั้น (ไม่มีประวัติก่อนหน้า)
การตั้งค่าที่เกี่ยวข้อง: - Automatically speak incoming live chat: อ่านข้อความใหม่อัตโนมัติ (เทียบเท่าคำสั่ง R แต่บันทึกเป็นค่า Default) - Live chat refresh interval: ระยะเวลา (วินาที) ที่ส่วนเสริมตรวจข้อความใหม่ (Default: 5 วินาที) - Message history limit: จำนวนข้อความสูงสุดที่เก็บไว้ในหน่วยความจำ (Default: 5,000 ข้อความ) ส่วนเสริมมีฝาครอบสูงสุดที่ 200,000 ข้อความเพื่อป้องกันการใช้หน่วยความจำเกิน
สำหรับวิดีโอที่เคย Live มาแล้ว หากช่องไม่ได้ลบแชทออก กด L จะมีกล่องโต้ตอบถามว่าต้องการดู คอมเมนต์ หรือ แชทย้อนหลัง หน้าต่างแชทย้อนหลังมีโครงสร้างเดียวกับหน้าต่างคอมเมนต์ แต่เพิ่มมาด้วย:
หน้าต่าง Favorites แบ่งออกเป็น 5 แท็บ เข้าถึงได้ด้วยคำสั่งแยกกัน หรือเปิดรวมในหน้าต่างเดียวกัน
| คีย์ | แท็บ | |------|------| | F | วิดีโอที่บันทึกไว้ (Favorite Videos) — แบ่งหมวดหมู่ได้ | | C | ช่องที่บันทึกไว้ (Favorite Channels) | | P | เพลย์ลิสต์ที่บันทึกไว้ (Favorite Playlists) | | W | รายการที่จะดูทีหลัง (Watch List) — แบ่งหมวดหมู่ได้เช่นกัน | | Control+H | ประวัติการค้นหา (Search History) |
ทั้งแท็บ Video และ Watch List รองรับการจัดหมวดหมู่ด้วย tree view ทางซ้าย แยกจากรายการวิดีโอทางขวา แต่ละแท็บมีหมวดหมู่เป็นของตัวเองแยกกันอิสระ (สร้างหมวดใน Video ไม่กระทบ Watch List) มีโหนด default สำหรับรายการที่ไม่ระบุหมวดเสมอ ("Videos" ใน Video tab, "Watch List" ใน Watch List tab)
เมื่อ focus อยู่ที่ tree (หมวดหมู่ฝั่งซ้าย):
เมื่อ focus อยู่ที่รายการวิดีโอ (ฝั่งขวา):
คลิกขวา หรือ Application/Menu key จะแสดง Action menu เดียวกับที่ใช้ทั่วทั้งส่วนเสริม (ข้อมูล, คอมเมนต์, ดาวน์โหลด, Add to... ฯลฯ) — แยกจาก context menu ของ tree
Cut, Copy, Paste ในรายการวิดีโอจะวางรายการในหมวดหมู่ที่เลือกอยู่ใน tree เสมอ
แท็บนี้พิเศษกว่าแท็บอื่น — นอกจากรายการช่องแล้ว ยังมี: - กล่องข้อความคำอธิบายช่อง — แสดงข้อมูล Bio ของช่อง - ปุ่มเปิดช่องในเบราว์เซอร์ - ปุ่มดูวิดีโอ/Shorts/Live ของช่องนั้นโดยตรง
หน้าต่างแสดงวิดีโอจากช่องที่คุณติดตามผ่านส่วนเสริม (ไม่ใช่ บัญชี YouTube ของคุณ ไม่ต้องล็อกอิน)
แท็บเริ่มต้นมี 4 แท็บตามประเภทเนื้อหา:
| แท็บ | เนื้อหา | |------|---------| | All | เนื้อหาทุกประเภทรวมกัน | | Video | วิดีโอปกติ | | Shorts | วิดีโอสั้น | | Live | Live stream และ Live replay |
นอกจากนี้ยังสามารถสร้าง หมวดหมู่แบบกำหนดเอง และกำหนดว่าช่องใดจะแสดงในหมวดหมู่ใด
หน้าต่างแสดงช่องทั้งหมดที่คุณติดตาม พร้อมตัวเลือกจัดการแต่ละช่อง:
ส่วนเสริมรองรับ User Profile หลายโปรไฟล์ในเครื่องเดียวกัน แต่ละโปรไฟล์แยกข้อมูลกันอย่างสมบูรณ์ (Favorites, Subscriptions, Watch List)
ในหน้าต่างนี้: - F2 — เปลี่ยนชื่อโปรไฟล์ที่เลือก - Delete — ลบโปรไฟล์ที่เลือก ⚠️ การลบเป็นการถาวร ข้อมูลทั้งหมดในโปรไฟล์นั้นจะหายไป
หากต้องการสลับโปรไฟล์ ให้ไปที่ Settings → Active Profile แล้ว Restart NVDA
รายการวิดีโอเป็น UI มาตรฐานที่ใช้ทั่วทั้งส่วนเสริม ไม่ว่าจะเป็นผลการค้นหา, Favorites, Subscription Feed, หรือรายการวิดีโอของช่อง
เปิดเมนู Action สำหรับวิดีโอที่เลือก:
| เมนู | คีย์ลัด | |------|---------| | View Video Info | i | | View Comments / Replay | c | | View Chapters/Timestamps | t | | Download Video | d | | Download Audio | a | | Download Subtitles | b | | Add to Favorite Videos | f | | Add to Favorite Channels | f | | Add to Watch List | w | | Open video in browser | o | | Open channel in browser | h | | Show channel videos | v | | Show channel shorts | s | | Show channel live | l | | Show channel playlist | p | | Show channel podcast | p |
เปิดเมนูคัดลอกข้อมูล:
| เมนู | คีย์ลัด | |------|---------| | Copy Title | t | | Copy Video URL | u | | Copy Channel Name | c | | Copy Channel URL | h | | Copy Summary | s |
เข้าถึงได้ที่ NVDA → Preferences → Settings... แล้วเลือกหมวด "YoutubePlus"
| การตั้งค่า | คำอธิบาย | |-----------|---------| | Active Profile | เลือกโปรไฟล์ที่ใช้งาน (ต้อง Restart NVDA หลังเปลี่ยน) | | Manage Profiles | เปิด User Profile Manager | | Quick Action (Space bar) | กำหนดว่า Space จะทำอะไรในหน้าต่างรายการวิดีโอ เลือกได้จากทุก Action ใน Action menu | | Notification mode | รูปแบบแจ้งเตือนขณะทำงานในพื้นหลัง: Beep (เสียง Beep), Sound (ไฟล์เสียง), Silent (ไม่มีเสียง แต่ยังมีการอ่านข้อความ) | | Default sort order | ลำดับการแสดงผลเริ่มต้น: Newest First หรือ Oldest First ใช้กับรายการคอมเมนต์, แชท และวิดีโอของช่อง | | Items to fetch | จำนวนรายการที่ดึงต่อประเภทเนื้อหาเมื่อเปิดช่องหรืออัปเดต Feed (Default: 20, ช่วง 5–100) | | Default content types | ประเภทเนื้อหาที่ดึงสำหรับช่องที่ติดตามใหม่: Videos, Shorts, Live | | Background update interval | ความถี่ที่ส่วนเสริมตรวจหาวิดีโอใหม่โดยอัตโนมัติ (ปิด หรือ 15 นาที ถึง 24 ชั่วโมง) | | Automatically speak incoming live chat | อ่านข้อความแชทสดใหม่ให้ฟังอัตโนมัติเมื่อมาถึง | | Live chat refresh interval | ระยะเวลาตรวจข้อความใหม่ (Default: 5 วินาที) | | Message history limit | จำนวนข้อความแชทสูงสุดที่เก็บไว้ในหน่วยความจำ (Default: 5,000) | | Cookie method (Experimental) | เลือกเบราว์เซอร์ที่คุณล็อกอิน YouTube ไว้ ส่วนเสริมจะดึง Cookie จากเบราว์เซอร์นั้นมาใช้เพื่อพิสูจน์ตัวตน ซึ่งอาจช่วยแก้ปัญหา "Sign in to confirm you're not a bot" ได้ อย่างไรก็ตาม ฟีเจอร์นี้ยังอยู่ในขั้นทดลอง และผลลัพธ์ขึ้นอยู่กับเบราว์เซอร์และการตั้งค่าของแต่ละเครื่อง | | Default subtitle format | รูปแบบไฟล์คำบรรยาย: SRT, VTT, TTML หรือ TXT (ข้อความล้วน ไม่มี Timecode) | | Default download and export folder path | โฟลเดอร์ปลายทางสำหรับไฟล์ดาวน์โหลดและส่งออก | | Backup data now | สำรองข้อมูลโปรไฟล์ปัจจุบันทันที (ส่วนเสริมสำรองให้อัตโนมัติทุกวัน) | | Restore data from backup | เลือกคืนค่าข้อมูลจากไฟล์สำรองย้อนหลัง (เก็บไว้ 5 วันล่าสุด) |
ส่วนเสริมนี้ใช้ไลบรารีหลัก 2 ตัว ได้แก่ pytchat สำหรับมอนิเตอร์แชทสด และ yt-dlp สำหรับการเข้าถึงข้อมูล YouTube ทุกรูปแบบ ขอขอบคุณนักพัฒนาของทั้งสองไลบรารีอย่างสุดซึ้ง
yt-dlp เป็นเครื่องมือโอเพนซอร์สที่ทรงพลังสำหรับดาวน์โหลดวิดีโอและเสียงจากเว็บไซต์ทั่วโลก รองรับมากกว่า 1,000 เว็บไซต์ ฟรี ไม่มีโฆษณา และได้รับการดูแลอย่างต่อเนื่องโดยชุมชนนักพัฒนา
แนวทางการใช้งานที่ควรทราบ:
เคล็ดลับ: หากต้องการประมวลผลข้อมูลจำนวนมาก ให้เว้นระยะห่างระหว่างคำขอแต่ละครั้ง เพื่อรักษาความเสถียรของการเชื่อมต่อและหลีกเลี่ยงการถูกจำกัดการเข้าถึง