YoutubePlus
YoutubePlus สำหรับ NVDA
YoutubePlus เป็นส่วนเสริมสำหรับคนที่ชอบใช้งาน Youtube แต่มองว่าหลายฟีเจอร์บนหน้าเว็บยังเข้าถึงไม่สะดวกนัก เช่น การอ่านคอมเมนต์ในคลิป เรานำฟีเจอร์ต่างๆ มาให้คุณเข้าถึงได้ผ่าน User interface ของ NVDA ในหน้าตาที่เข้าถึงได้ง่าย ใช้คีย์ลัดได้ ปรับแต่งได้ด้วยตัวเอง โดยที่ผู้ใช้ไม่จำเป็นต้องยุ่งยากกับการหา API key หรือเชื่อมต่อข้อมูลส่วนตัวใดๆ ให้กับตัวส่วนเสริม คุณสามารถติดตามช่องที่คุณชื่นชอบได้ และมั่นใจได้ว่า คุณจะมองเห็นทุกคลิปของช่องนั้น โดยไม่ถูกอัลกอริทึมของ Youtube ปัดตกไป นอกจากนี้เรายังมีระบบ Favorites สำหรับ วิดีโอ, ช่อง, playlist, และ watch list เอาไว้เก็บคลิปที่สนใจแต่ยังไม่มีเวลาดู มีระบบค้นหาคลิป โดยที่แสดงขึ้นมาใน user interface แบบเดียวกับส่วนอื่นๆ ที่ส่วนเสริมแสดง ไม่ใช่แค่มีช่องให้กรอกแล้วดูผลการค้นหาจากหน้าเว็บ มีฟีเจอร์ดาวน์โหลดคลิปออกมาเป็นวิดีโอหรือไฟล์เสียง แต่ต้องบอกว่าเป็นแค่ฟีเจอร์ที่ใส่มาให้ใช้งานได้ระดับนึง แต่ไม่ได้เน้น ถ้าคุณเน้นการดาวน์โหลดเป็นหลัก มีส่วนเสริมตัวอื่นๆ ที่เน้นฟีเจอร์นี้ให้คุณลองเลือกใช้ดูได้อีกหลายตัว สิ่งเดียวที่ส่วนเสริมตัวนี้ไม่ได้ทำคือ ยกตัวเล่นวิดีโอขึ้นมาเล่นในตัว เพราะเรามองว่าหน้าตาตัวเล่นคลิปบนหน้าเว็บ Youtube สามารถเข้าถึงได้ดีอยู่แล้ว หรือหากยังมองว่าไม่สะดวกเพียงพอ คุณสามารถใช้ฟีเจอร์จากส่วนเสริมตัวอื่นเช่น browserNav ช่วย เพื่อให้ใช้งานได้สะดวกขึ้นก็ได้
ใครสายเสพคลิป ฟังคำแนะนำส่วนเสริมตัวนี้จาก Audio Overview ได้ก่อนตรงนี้เลย
คีย์ลัดและคำสั่งย่อย
ส่วนเสริมนี้ใช้ระบบคีย์ลัดแบบ Layer เพื่อทำให้คีย์ลัดไม่ทับซ้อนกับส่วนเสริมตัวอื่นหรือการสั่งงาน NVDA มากเกินไป โดยคุณต้องกด NVDA+y เพื่อเข้าสู่โหมดคำสั่งของ YoutubePlus และกดคำสั่งย่อยด้วยตัวอักษรดังต่อไปนี้ เพื่อเข้าถึงแต่ละฟีเจอร์หรือหน้าต่าง
หมายเหตุ: หากคีย์ลัดหลัก (NVDA+Y) ซ้ำกับส่วนเสริมอื่น คุณสามารถเปลี่ยนได้ที่เมนู NVDA -> Preferences -> Input Gestures... ในหมวด "YoutubePlus"
คีย์ลัดที่ใช้ใน YoutubePlus layer
- a: (add to ***) - คำสั่งนี้จะมีเมนูย่อยขึ้นมาให้คุณเลือกว่าต้องการเพิ่มคลิปไปยังหน้าต่างไหน
- f: (open favorites video) - เปิดหน้าต่างวิดีโอที่คุณชื่นชอบ
- c: (open favorites channel) - เปิดหน้าต่างช่องที่คุณชื่นชอบ
- p: (open favorites playlist) - เปิดหน้าต่าง playlist ที่คุณชื่นชอบ
- w: (show watch list) - แสดงหน้าต่าง watch list
- d: (download) - สั่งให้ส่วนเสริมดาวน์โหลดคลิป โดยจะมีหน้าต่างถามให้คุณยืนยันอีกทีว่าต้องการโหลดเป็นวิดีโอหรือเฉพาะไฟล์เสียง
- e: (search) - เปิดหน้าต่างสำหรับค้นหาคลิป
- i: (info) - เปิดหน้าต่างแสดงรายละเอียดคลิป
- t: (show timestamp) - แสดง timestamp หรือ chapter หากคลิปนั้นมี
- m: (open manage subscription) - เปิดหน้าการจัดการช่องที่คุณติดตาม
- s: (open subscription feed) - แสดงรายการวิดีโอจากช่องต่างๆ ที่คุณ subscription ไว้
- l: (show comment) - แสดงความคิดเห็น (รายละเอียดจะอธิบายไว้ด้านล่างให้เพิ่มเติม)
- shift+l: (stop monitor live chat) - สั่งให้หยุดการตรวจจับ live chat
- r: (toggle automatic reading live chat) - สลับการตั้งค่าการอ่านออกเสียงสำหรับ live chat
- v: (show live chat) - กรณีที่คุณกดแสดง live chat ไว้และปิดหน้าต่างไป สามารถกดเปิดกลับมาอ่านใหม่ได้ด้วยคำสั่งนี้
- h: (help) - เปิดหน้าต่างแสดงรายชื่อคีย์ลัดต่างๆ
หมายเหตุ: ในการใช้แต่ละคำสั่งที่เป็นการดำเนินการกับคลิปโดยตรง ส่วนเสริมจะพยายามตรวจจับหน้าต่าง browser ที่คุณเปิดอยู่ และมองว่าคลิปที่คุณกำลังเปิดเป็นลำดับความสำคัญแรก แต่หากคุณไม่ได้เปิดหน้าคลิปไว้ ส่วนเสริมก็จะตรวจ Youtube URL จากในคลิปบอร์ดเป็นลำดับถัดไป
รายละเอียดฟีเจอร์และคำสั่งต่างๆ ที่ใช้ใน YoutubePlus layer
a: (add to...)
คำสั่งนี้ใน YoutubePlus layer จะทำหน้าที่ส่งข้อมูลวิดีโอหรือช่องไปยังหน้าต่างตามที่เลือก
- Add to Favorite Videos v
- Add to Favorite Channels c
- Add to Favorite playlist p
- Subscribe to Channel s
- add to Watch list w
โดยที่ส่วนเสริมจะตรวจจากหน้า browser ที่ผู้ใช้เปิดอยู่ก่อนเป็นลำดับแรก หากเป็นหน้าวิดีโอของ Youtube ก็จะดึง URL ของวิดีโอนั้นๆ ไปจัดการต่อตามที่ผผู้ใช้เลือก แต่หากหน้าที่เปิดอยู่ไม่ใช่หน้าวิดีโอหรือไม่ใช่หน้าต่าง browser เลย ก็จะตรวจสอบจากคลิปบอร์ดว่าผู้ใช้ได้คัดลอก Youtube URL ไว้แล้วหรือไม่ หากมีก็จะดำเนินการต่อได้เช่นกัน
คำสั่งส่วนใหญ่จะใช้ได้กับทุกประเภทของ Youtube URL เพราะส่วนเสริมสามารถประมวลผลต่อได้ เช่นอยู่หน้าวิดีโอ แต่กด add to channel ส่วนเสริมก็สามารถดึง channel URL ไปดำเนินการต่อให้ได้ รวมถึงการ subscription ช่องก็เช่นกัน ยกเว้น playlist เป็นประเภทเดียวที่ผู้ใช้ต้องเปิดหน้า playlist ไว้ หรือคัดลอก Youtube Playlist URL ที่ถูกต้องไว้ ถึงจะดำเนินการ add to playlist ให้ได้
d: (download video/audio)
คำสั่งนี้จะมีหน้าต่างย่อยขึ้นมาสอบถามว่าผู้ใช้ต้องการโหลดเป็นคลิปวิดีโอ (.mp4) หรือจะโหลดเฉพาะไฟล์เสียง (.m4a) ออกมา โดยผู้ใช้สามารถตั้งค่าได้ว่าต้องการให้ไฟล์ถูกเซฟไว้ตำแหน่งใด จากหน้าการตั้งค่า ซึ่งต้องหมายเหตุไว้นิดนึงว่า ฟีเจอร์ดาวน์โหลดของเรา มีไว้ให้ใช้ได้ แต่อาจมีข้อจำกัดหากผู้ใช้ใช้มันมากเกินไป ถ้าต้องการดาวน์โหลดคลิปจาก Youtube จำนวนมาก ควรใช้ช่องทางอื่นมากกว่า
e: (search)
คำสั่งนี้จะเปิดหน้าต่างสำหรับค้นหาคลิปใน Youtube ขึ้นมา ผู้ใช้สามารถกรอกคำค้นหาลงในช่องsearch และกด enter เพื่อเริ่มค้นหาได้ทันที หรือจะtab ไปแก้ไขจำนวนผลการค้นหาได้ว่าต้องการให้แสดงกี่รายการก็ได้ ซึ่งหากผู้ใช้แก้ไขจำนวนรายการไว้แล้ว ส่วนเสริมก็จะจำค่านั้นไว้ให้สำหรับการค้นหาครั้งถัดๆ ไป โดยผลการค้นหาก็จะแสดงในรูปแบบของ รายการวิดีโอ ไม่ใช่เปิดหน้าเว็บ Youtube ขึ้นมา ผู้ใช้สามารถเข้าถึงข้อมูลของผลการค้นหาได้เหมือนกับรายการวิดีโออื่นๆ ที่แสดงในส่วนเสริมตัวนี้ทั้งหมด
i: (video info)
คำสั่งนี้จะแสดงรายละเอียดของวิดีโอขึ้นมาให้ดู โดยจะมีรายละเอียดดังต่อไปนี้:
- Title
- Channel
- Duration
- Uploaded
- Views
- Likes
- Comments
- Description
t: (timestamp / chapter)
คำสั่งนี้จะแสดงรายการ timestamp หรือ chapter ของวิดีโอขึ้นมา (หากเจ้าของคลิปใส่ข้อมูลส่วนนี้ไว้ ดังนั้นถ้ากดแล้วส่วนเสริมแจ้งว่า "No chapters found in this video." ก็แปลว่าวิดีโอนั้นๆ ไม่มีข้อมูลส่วนนี้
โดยหน้าต่างที่แสดง timestamp / chapter นี้จะอำนวยความสะดวกให้ผู้ใช้มากกว่าการอ่านจากวิดีโอใน browser คือ
- มีช่องค้นหา ใช้กรองรายการ timestamp / chapter ได้ โดยใส่คำค้นหาและส่วนเสริมจะกรองให้ทันทีไม่ต้องกด enter
- แสดงรายการทั้งหมด โดยนำคำอธิบายแต่ละช่วงมาขึ้นก่อน และตามด้วยตำแหน่งเวลา
- หากต้องการอ่าน ก็มีข้อความของรายการนั้นๆ เป็น read-only ให้เลื่อนอ่านได้
- มีปุ่ม open chapter ให้กดเพื่อเปิดวิดีโอไปยังตำแหน่งของ chapter นั้นๆ ได้โดยตรง หรือจะกด space หรือ enter จากรายการก็ได้เช่นกัน
- มีปุ่ม copy title (alt+c) เพื่อคัดลอกชื่อ chapter ได้ทันที
- มีปุ่ม copy URL (alt+u) เพื่อใช้คัดลอก URL ที่ระบุตำแหน่งเวลาไปยัง chapter นั้นๆ ได้โดยตรง
- มีปุ่ม export (alt+e) เพื่อบันทึกข้อมูล timestamp / chapter ทั้งหมดไปเป็น text file
favorites
เป็นหน้าต่างสำหรับแสดงรายการ favorites ที่ผู้ใช้เพิ่มไว้ โดยจะแบ่งเป็น 4 tab ตามประเภท
- video: แสดงรายการวิดีโอที่ผู้ใช้เพิ่มไว้ โดยจะมีปุ่ม action และ copy เพื่อใช้งานสำหรับวิดีโอแต่ละรายการ (จะอธิบายเพิ่มเติมด้านล่าง)
- channel: แสดงรายชื่อช่องที่ผู้ใช้เพิ่มไว้ และจะมีคำอธิบายช่องอยู่ด้านข้าง รวมถึงปุ่มสำหรับเปิด, ปุ่มสำหรับเลือกดูเนื้อหาของช่องนั้นๆ ตามแต่ละประเภท
- playlist: แสดงรายการ playlist ที่ผู้ใช้เพิ่มไว้ โดยเมื่อกด space หรือ enter หรือ alt+v ในแต่ละรายการ จะเป็นการขยายวิดีโอทั้งหมดของ playlist นั้นๆ ขึ้นมา รวมถึงมีปุ่ม open on web (alt+w) เพื่อเปิดลิงก์ของ playlist นั้นๆ ด้วย browser
- watch list: แสดงรายการวิดีโอที่ผู้ใช้เพิ่มไว้ โดยรูปแบบโครงสร้างและการใช้งานจะเหมือนกับ video tab ทั้งหมด
คำสั่งและการจัดการหน้าต่าง favorites
- ผู้ใช้สามารถกด control+ เลข 1-4 เพื่อสลับไปยังแต่ละ tab ในหน้าต่างนี้ได้
- ผู้ใช้สามารถกดคีย์ลัด Control+up/down เพื่อเปลี่ยนลำดับของแต่ละ tab ได้ โดยที่การกดคำสั่งจาก YoutubePlus layer จะเป็นการเข้าแต่ละ tab ในหน้านี้โดยตรง ซึ่งลำดับที่จัดไว้ไม่ส่งผลอะไร
- ผู้ใช้สามารถกด shift+up/down เพื่อจัดลำดับรายการในแต่ละ tab ได้
- ผู้ใช้สามารถกด alt+r หรือปุ่ม delete เพื่อลบรายการได้
- ผู้ใช้สามารถกด alt+n เพื่อเพิ่มรายการใหม่ในแต่ละ tab ได้โดยตรง เมื่อมี Youtube URL อยู่ในคลิปบอร์ด ซึ่งหากเป็น channel / playlist tab ผู้ใช้จะต้องคัดลอก Youtube URL ไว้ให้ตรงตามประเภทของ tab นั้นๆ ด้วย
- ในช่อง search สามารถใส่คำที่ต้องการค้นหาได้ โดยที่ไม่จำเป็นต้องกด enter ส่วนเสริมจะค้นหาให้ทันทีหลังจากใส่ตัวอักษร
รายการวิดีโอ
ใน video / watch list และส่วนอื่นที่แสดงรายการวิดีโอขึ้นมาโดยตรง ผู้ใช้จะพบ action ... และ copy ... ซึ่งสองปุ่มนี้จะเป็นปุ่มมาตรฐานสำหรับหน้าที่แสดงรายการวิดีโอขึ้นมา ซึ่งการทำงานของสองปุ่มนี้ในทุกๆ หน้าจะคล้ายกันทั้งหมด มีเพียงแค่หน้า subscription ที่จะเพิ่มตัวเลือก Unsubscribe from this channel (u) เข้ามาเป็นพิเศษ เพื่อยกเลิกการ subscription ช่องของวิดีโอรายการนั้นๆ โดยที่ผู้ใช้สามารถกด space หรือ enter เพื่อสั่งให้เปิดวิดีโอนั้นๆ ใน browser ได้ทันที
action button
เมื่อผู้ใช้อยู่ในรายการที่แสดงวิดีโอ สามารถกด alt+a เพื่อใช้งานปุ่ม action ได้ โดยจะมีตัวเลือกต่อไปนี้
- View Video Info... (i)
- View Comments / Replay... (c)
- View Chapters/Timestamps... (t)
- Download Video (d)
- Download Audio (a)
- Add to Favorite Videos (f)
- Add to Favorite Channels (f)
- Add to Watch List (w)
- Open video in browser (b)
- Open channel in browser (h)
- Show channel videos (v)
- Show channel shorts (s)
- Show channel live (l)
copy button
เมื่อผู้ใช้อยู่ในรายการที่แสดงวิดีโอ สามารถกด alt+c เพื่อใช้งานปุ่ม copy เพื่อคักลอกข้อมูลต่างๆ ต่อไปนี้
- Copy Title (t)
- Copy Video URL (u)
- Copy Channel Name (c)
- Copy Channel URL (h)
- Copy Summary (s)
subscription feed
เป็นหน้าต่างแสดงรายการวิดีโอจากช่องที่คุณได้ subscription ไว้ ซึ่งจะมีผลเฉพาะในส่วนเสริมตัวนี้เท่านั้น ไม่ได้เกี่ยวข้องกับช่องที่คุณกด subscribe ไว้ใน Youtube จริงๆ แต่อย่างใด เพราะเราไม่ได้มีการเชื่อมโยงบัญชีหรือขอข้อมูลผู้ใช้ใดๆ สำหรับส่วนเสริมตัวนี้
หน้าต่างนี้จะต่างจากหน้าต่าง favorites คือ เราจะมี tab มาตรฐาน แบ่งตามประเภทของวิดีโอไว้ให้ (categories)
- all: รวมวิดีโอทุกประเภท
- video: เฉพาะวิดีโอปกติ
- shorts: เฉพาะวิดีโอสั้น
- live: เฉพาะคลิปที่เป็นการถ่ายทอดสด หรือเทปการถ่ายทอดสดย้อนหลัง
นอกจากหมวดหลักที่สร้างไว้ให้เป็นหมวดเริ่มต้นแล้ว ผู้ใช้ยังสามารถเพิ่มหมวดอื่นๆ เพื่อแบ่งการรับชมได้อย่างอิสระ และสามารถตั้งค่าได้ว่าคลิปจากช่องไหนจะเข้าไปอยู่ในหมวดใดบ้าง
คำสั่งและการจัดการหน้าต่าง subscription feed
- ผู้ใช้สามารถกด control+เลข 1-0 เพื่อกระโดดไปยัง tab (category) ต่างๆ ที่สร้างไว้ได้ ข้อจำกัดได้แค่ไม่เกินหมวดที่ 10
- ผู้ใช้สามารถกด control+up/down เพื่อเปลี่ยนลำดับของแต่ละหมวดได้ เหมือนกับในหน้าต่าง favorites
- ผู้ใช้สามารถกด F2 เพื่อแก้ไขชื่อหมวดได้ (ยกเว้น 4 หมวดที่เป็นค่าเริ่มต้น)
- ผู้ใช้สามารถกด control+= เพื่อมเพิ่มหมวดใหม่ได้
- ผู้ใช้สามารถกด control+- เพื่อลบหมวดได้ (ยกเว้น 4 หมวดเริ่มต้น)
- ผู้ใช้สามารถเข้าถึงวิดีโอแต่ละรายการได้เหมือนส่วนอื่นๆ ที่เป็นรายการวิดีโอ การใช้ ปุ่ม action หรือ ปุ่ม copy และกด space หรือ enter เพื่อเปิดวิดีโอนั้นๆ
- ผู้ใช้สามารถกด delete หรือ alt+s เพื่อ mark as seen สำหรับวิดีโอได้ เมื่อกดแล้วสถานะของวิดีโอนั้นๆ จะถูกเปลี่ยนเป็น seen ซึ่งจะทำให้รายการถูกลบออกไป
- ผู้ใช้สามารถกด control+delete (mark all as seen) ให้กับรายการทั้งหมดได้ โดยจะมีผลเฉพาะในหมวดที่ผู้ใช้กำลังดูอยู่เท่านั้น
โดยนอกจากปุ่ม action และ copy แล้ว ในหน้านี้ก็จะมีปุ่มอื่นๆ เพิ่มเติมดังนี้:
- mark as seen (alt+s) - ทำให้วิดีโอหายไปจากรายการ หรือจะกด delete ก็ได้
- Add new Subscription from clipboard URL (Alt+n) - จะเหมือนในหน้า favorites ที่ผู้ใช้สามารถคัดลอก URL ของช่อง เพื่อมาเพิ่มการ subscription ผ่านปุ่มนี้โดยตรงได้เช่นกัน
- Update Feed (Alt+u) - เป็นการสั่งให้ส่วนเสริมเช็กอัพเดตช่องทั้งหมดที่ผู้ใช้ sub ไว้ กรณีที่ไม่ได้ตั้งค่าให้ส่วนเสริมเช็กให้อัตโนมัติ หรือหากต้องการอัพเดตทันที ก็กดที่ปุ่มนี้ได้ โดยสคริปต์จะอัพเดต feed ให้เองอัตโนมัติทุกครั้งที่ผู้ใช้เปิด NVDA อยู่แล้วเป็นค่าปริยาย
- More... button (Alt+m) - จะมีเมนูการจัดการย่อยเพิ่มขึ้นมาให้เลือก
- Mark all in current tab as seen (control+delete) (a) - เป็นการนำคำสั่งมาแสดงไว้เป็นปุ่มเผื่อผู้ใช้ลืมคำสั่งลัด
- Show all videos (including seen) (v) - โดยปกติในหน้า subscription feed ค่ามาตรฐานเราจะแสดงวิดีโอที่เป็น unseen แต่หากต้องการดูคลิปทั้งหมด ก็สามารถแก้ไขการแสดงผลได้จากตัวเลือกนี้ ซึ่งหากอยากกลับไปดูเฉพาะวิดีโอที่เป็น unseen เหมือนเดิม ผู้ใช้ต้องมากดแก้ไขการตั้งค่าในตำแหน่งเดิมนี้ซ้ำ เพราะเราจะบันทึกการตั้งค่าของผู้ใช้เก็บไว้เสมอ
- Manage subscriptions... (m) - เปิดหน้าต่าง manage subscription ขึ้นมา เป็นอีกตำแหน่งที่ผผู้ใช้สามารถเข้าถึงได้
- Add New Category... Ctrl+= (c) - ใช้สำหรับเพิ่มหมวดใหม่ โดยแสดงเมนูไว้ในส่วนนี้ ถ้าผู้ใช้ลืมหรือไม่ทราบคำสั่งลัดก็ยังเข้าถึงฟังก์ชันนี้ได้จากตรงนี้
- Rename Current Category... F2 (r) - ใช้สำหรับแก้ไขชื่อหมวด โดยแสดงเมนูไว้ในส่วนนี้ ถ้าผู้ใช้ลืมหรือไม่ทราบคำสั่งลัดก็ยังเข้าถึงฟังก์ชันนี้ได้จากตรงนี้
- Remove Current Category... Ctrl+- - ใช้สำหรับลบหมวด แสดงเมนูไว้ในส่วนนี้ ถ้าผู้ใช้ลืมหรือไม่ทราบคำสั่งลัดก็ยังเข้าถึงฟังก์ชันนี้ได้จากตรงนี้
- Clear All Feed Videos... - ใช้สำหรับล้างค่าวิดีโอทั้งหมดที่อยู่ในฐานข้อมูล โดยจะไม่ได้ล้างค่าช่องที่ผู้ใช้ sub ไว้ หากใช้ส่วนเสริมไปนานๆ ฐานข้อมูลอาจมีขนาดใหญ่และส่งผลต่อประสิทธิภาพการทำงานของ NVDA โดยรวมได้ ถ้าเคลียวิดีโอที่สนใจหมดแล้ว สามารถกดล้างค่าตรงนี้ได้
manage subscription
หน้าต่างนี้จะแสดงรายชื่อช่องทั้งหมดที่ผู้ใช้ sub ไว้ ส่วนแรกจะเป็นรายการช่อง และจะมีส่วนถัดๆ ไปที่ใช้จัดการแต่ละช่องได้
- Filter by Category - ผู้ใช้สามารถกรองรายชื่อช่องตามหมวดที่มีได้ ค่าปริยายจะแสดงจาก all คือช่องทั้งหมด
- Assign to Categories - ส่วนนี้ใช้เลือกว่าช่องนั้นๆ จะแสดงในหมวดใดบ้าง
- Content Types to Fetch - สามารถแก้ไขได้ว่าช่องนั้น ผู้ใช้ต้องการให้ดึงวิดีโอประเภทไหนมาอัพเดตบ้าง โดยเราจะตั้งค่าปริยายไว้ใน การตั้งค่า ไว้อยู่แล้วสำหรับการ subscription ใหม่ แต่หากต้องการแก้ไขเฉพาะช่องก็ทำได้ตรงนี้ อย่างเช่นเราอาจจะพบว่าบางช่องไม่มี live เลยก็ไม่จำเป็นต้องติ๊ก live การอัพเดต feed ก็จะเร็วขึ้น (นิดนึง)
- View Content... (Alt+c) - ผู้ใช้สามารถเปิดดูเนื้อหาของแต่ละช่องได้จากตรงนี้ เหมือนที่สามารถดูได้จาก ปุ่ม action
- Add new subscribe channel from Clipboard... (Alt+n) =- ผู้ใช้สามารถ sub ช่องใหม่เพิ่มจากตรงนี้ได้เช่นกัน การทำงานเหมือนปุ่มในหน้า subscription feed
- Unsubscribe from this Channel (Alt+u) - ปุ่มนี้ใช้สำหรับยกเลิก subscribe ช่องนั้นๆ เป็นอีกจุดที่ผู้ใช้สามารถใช้ได้
- save change - ปุ่มนี้สำคัญ หากมีการแก้ไขการตั้งค่าในแต่ละช่องแล้ว ผู้ใช้ต้องกดที่ปุ่มนี้ก่อนจะปิดหน้าต่างออกไป ไม่อย่างนั้นการแก้ไขจะไม่ถูกบันทึกไว้
l: (แสดงคอมเมนต์)
ก่อนอื่นเราต้องทำความเข้าใจประเภทของคอมเมนต์ของวิดีโอใน Youtube กันก่อน หลักๆ จะแบ่งเป็น 3 รูปแบบคือ
- comment - ก็คือความเห็นในคลิปปกติที่เราอ่านๆ กัน
- live chat - คือความเห็นที่พูดคุยกันในคลิปที่เป็นการถ่ายทอดสด (live)
- live chat replay - คือการแสดงผล live chat สำหรับคลิปที่เคยเป็นการถ่ายทอดสดมาก่อน หากเจ้าของช่องไม่ได้ลบความเห็นส่วนนี้
สำหรับส่วนเสริม YoutubePlus เราทำมาเพื่อเข้าถึงความเห็นทั้ง 3 รูปแบบได้ทั้งหมด ผ่านคำสั่ง l นี้
live chat of ...
สำหรับคลิปที่กำลังถ่ายทอดสด ผู้ใช้สามารถกดคำสั่ง l และส่วนเสริมจะดึงความเห็นที่ผู้ใช้คุยกันขึ้นมาแสดงในหน้าต่างใหม่ โดยจะมีเงื่อนไขว่า ส่วนเสริมใช้การดักความเห็น (monitoring) ที่เกิดขึ้นหลังจากผู้ใช้กดคำสั่งแล้วเท่านั้น แปลว่าความเห็นก่อนหน้าที่ผู้ใช้จะสั่งให้ส่วนเสริมทำงาน จะไม่ถูกนำขึ้นมาแสดง หน้าต่าง live chat นี้ผู้ใช้สามารถปิดทิ้งไปได้ และสามารถเปิดขึ้นมาอ่านใหม่ได้ หากวิดีโอนั้นยังไม่จบการถ่ายทอดสด (และผู้ใช้ยังไม่ได้ restart NVDA ระหว่างนั้น) ด้วยคำสั่ง v ใน YoutubePlus layer ผู้ใช้สามารถตั้งค่าได้ว่าจะให้ส่วนเสริมอ่านความเห็นใหม่ทันทีหรือไม่ โดยใช้คำสั่ง r (สลับระหว่างเปิดหรือปิด) ถ้าเป็นวิดีโอที่ความเห็นเข้ามาไม่ถี่นัก และเป็นการตั้งใจฟังอยู่ตลอดเวลา เปิดไว้ก็ค่อนข้างสะดวก แต่ถ้าความเห็นค่อนข้างเยอะ ก็น่าจะฟังไม่ทัน ปิดไว้แล้วเลื่อนอ่านเองจากหน้าต่างก็น่าจะสะดวกกว่า และหากต้องการยกเลิกการดูความเห็นจากวิดีโอนั้น (stop monitoring) ก็ให้กด shift+l ส่วนเสริมก็จะยกเลิกการดักความเห็นให้เรา
โดยในหน้านี้จะมี การตั้งค่า ที่ส่งผลกระทบโดยตรงอยู่สามส่วนหลักๆ คือ
- Automatically speak incoming live chat: หากติ๊กถูก NVDA จะอ่านข้อความแชทที่เข้ามาใหม่ให้ฟังทันที คือฟังก์ชันเดียวกับคำสั่ง r แต่สามารถตั้งเป็นค่าปริยายไว้ได้
- Live chat refresh interval: ระยะเวลา (วินาที) ที่จะให้โปรแกรมเช็คข้อความใหม่ (ค่าเริ่มต้น: 5 วินาที) ซึ่งจะส่งผลต่อความไวในการแสดงผลความเห็นใหม่ๆนั่นเอง
- Message history limit: จำนวนข้อความแชทสูงสุดที่จะเก็บไว้ในหน่วยความจำขณะใช้งาน หมายถึงว่าหน้าต่าง live chat of ... จะแสดงแค่ 5,000 ความเห็นล่าสุดที่ดักเก็บไว้ได้ หากวิดีโอถ่ายทอดสดนั้นๆ มีความเห็นเพิ่มขึ้นเรื่อยๆ ก็จะแสดงแค่ 5,000 ความเห็นล่าสุดให้เรา แต่เบื้องหลัง ส่วนเสริมจะเก็บความเห็นทั้งหมดไว้ เพื่อที่เราจะสามารถ export ออกมาอ่านภายหลังได้ แต่ก็ยังมีจำกัดไว้ที่ไม่เกิน 200,000 ความเห็น เพื่อป้องกันการใช้หน่วยความจำมากเกินไป
เมื่อวิดีโอสิ้นสุดการถ่ายทอดสดแล้ว หรือส่วนเสริมพบปัญหาและเข้าใจว่าสิ้นสุดการถ่ายทอดสดแล้ว ส่วนเสริมจะมีหน้าต่างสอบถามผู้ใช้ว่าต้องการ export ความเห็นทั้งหมดเก็บไว้หรือไม่โดยอัตโนมัติ ผู้ใช้สามารถตอบ yes เพื่อ export live chat ไว้อ่านได้
comments / live chat replay
หากเป็นวิดีโอที่ถูกอัพโหลดตามปกติ หรือเป็นคลิปที่เคยถ่ายทอดสด และเจ้าของช่องยังเก็บวิดีโอนั้นๆ ไว้ ผู้ใช้ก็จะสามารถเข้าถึงความเห็นได้เช่นกัน โดยหากมี live chat replay และ comments ก็จะขึ้นหน้าต่างย่อยถามให้เลือกว่าต้องการให้ดึงส่วนไหนมาแสดง ซึ่งส่วนนี้จะไม่มีข้อจำกัดเรื่องจำนวนที่จะแสดงผล แต่หากวิดีโอมีจำนวนความเห็นมาก ส่วนเสริมก็อาจจะใช้เวลาพอสมควรสำหรับการดึงความเห็นขึ้นมาแสดง โดยในการแสดงผลส่วนนี้ ส่วนเสริมจะมีการแก้ไขลำดับการแสดงผล โดยนำความเห็นที่ถูกปักหมุดขึ้นมาแสดงก่อน จากนั้นจะเป็นการไล่ความเห็นตามลำดับเวลา ตามที่ผู้ใช้ตั้งค่าไว้ใน การตั้งค่า ว่าจะเรียงจากใหม่ขึ้นก่อนหรือเก่าขึ้นก่อน
ส่วนต่างๆ ของหน้าต่าง comment
- search edit box - ผู้ใช้สามารถใส่คำค้นหาเพื่อกรองความเห็นได้จากช่องนี้
- filter combow box - ผู้ใช้สามารถเลือกกรองตามตัวเลือกได้ ซึ่งส่วนเสริมจะดึงคำค้นหาไปใส่ในช่อง search ให้นั่นเอง โดยจะมีตัวเลือกคือ
- No Filter - ค่าปริยายคือไม่กรองอะไร
- Filter by Selected Author - กรองจากชื่อผู้ใช้ (user) ของความเห็นที่เลือกอยู่
- Show Super Chats Only - แสดงเฉพาะความเห็นที่เป็น Super Chats
- Show Super Stickers Only - แสดงเฉพาะความเห็นที่เป็น Super Stickers
- Show Super Thanks Only - แสดงเฉพาะความเห็นที่เป็น Super Thanks
- รายการความเห็น ซึ่งจะแสดงชื่อผู้ใช้ (user) และต่อด้วยความเห็น
- ช่อง read-only สำหรับรายการนั้นๆ เพื่อที่ผู้ใช้สามารถเลื่อนอ่านได้ หรือบางกรณีที่ความเห็นยาวมากจนรายการแสดงไม่ครบถ้วน
- ปุ่ม copy (alt+c หรือ control+c) คัดลอกความเห็นนั้นๆ ได้ทันที
- ปุ่ม export (alt+e) จะเป็นการบันทึกความเห็นทั้งหมดเป็น text file ไว้ให้ โดยตำแหน่งของการบันทึกจะอยู่ใน การตั้งค่า ที่เดียวกับตำแหน่งของการดาวน์โหลด
- ช่อง read-only total paid amount จะแสดงเฉพาะคลิปที่เป็น live chat replay เท่านั้น โดยจะดึงการบริจาคของผู้ชมในคลิปนั้นๆ มารวมให้ดูในส่วนนี้
การตั้งค่า
ผู้ใช้สามารถเข้าไปตั้งค่าได้ที่เมนู NVDA -> Preferences -> Settings... แล้วเลือกหมวด "YoutubePlus" โดยมีรายละเอียดดังนี้:
- Notification mode: เลือกรูปแบบการแจ้งเตือนขณะโปรแกรมกำลังทำงาน:
- Beep: ส่งเสียงสัญญาณติ๊ดๆ
- Sound: เล่นเสียงเอฟเฟกต์
- Silent: เงียบ (ไม่มีเสียงแจ้งเตือน) แต่ยังพูดข้อความโต้ตอบอยู่
- Default sort order: เลือกการเรียงลำดับรายการเริ่มต้น (เช่น ความคิดเห็น หรือคลิปในช่อง) ว่าจะให้ ใหม่ล่าสุดขึ้นก่อน (Newest First) หรือ เก่าสุดขึ้นก่อน (Oldest First)
- Items to fetch: กำหนดจำนวนรายการที่จะดึงข้อมูลมาในแต่ละครั้ง เมื่อผู้ใช้สั่งเรียกดูวิดีโอแต่ละประเภทในช่อง รวมถึงการดึงข้อมูลมาอัพเดตในหน้า subscription feed ด้วย (ค่าเริ่มต้น: 20)
- Default content types: เลือกประเภทเนื้อหาที่จะดึงมาแสดงสำหรับช่องที่กดติดตามใหม่:
- Videos (วิดีโอปกติ)
- Shorts (คลิปสั้น)
- Live (ไลฟ์สตรีม)
- Background update interval: กำหนดความถี่ในการตรวจสอบข้อมูลใหม่ของช่องที่ติดตาม สามารถปิด (Disabled) หรือตั้งเวลาได้ตั้งแต่ 15 นาที ถึง 24 ชั่วโมง โดยสคริปต์จะอัพเดต feed ให้เองอัตโนมัติทุกครั้งที่ผู้ใช้เปิด NVDA อยู่แล้วเป็นค่าปริยาย
- Automatically speak incoming live chat: หากติ๊กถูก NVDA จะอ่านข้อความแชทที่เข้ามาใหม่ให้ฟังทันที
- Live chat refresh interval: ระยะเวลา (วินาที) ที่จะให้โปรแกรมเช็คข้อความใหม่ (ค่าเริ่มต้น: 5 วินาที)
- Message history limit: จำนวนข้อความแชทสูงสุดที่จะเก็บไว้ในหน่วยความจำขณะใช้งาน
- Default download and export folder path: เลือกโฟลเดอร์ปลายทางสำหรับเก็บไฟล์วิดีโอ/เสียงที่ดาวน์โหลด และไฟล์ประวัติแชทที่ส่งออก
- Clear Data: ปุ่มสำหรับล้างข้อมูล favorites และข้อมูลการติดตามทั้งหมดออกจากส่วนเสริม
ข้อมูลเพิ่มเติม
ส่วนเสริมตัวนี้ใช้ library หลักๆ คือ pytchat สำหรับการดักจับความเห็นกรณีที่เป็น live chat และ yt-dlp สำหรับการเข้าถึงข้อมูล Youtube ที่เหลือทั้งหมด ซึ่งต้องขอแสดงความขอบคุณนักพัฒนา library ที่นำมาใช้ไว้ ณ ที่นี้
ข้อมูลเพิ่มเติมเกี่ยวกับ yt-dlp
yt-dlp คือเครื่องมือโอเพนซอร์สที่ทรงพลังที่สุดในการ "ดูดข้อมูล" หรือ "ดาวน์โหลด" วิดีโอและเสียงจากเว็บไซต์ต่าง ๆ ทั่วโลก ดาวน์โหลดได้เกือบทุกเว็บ ไม่ได้ทำได้แค่ YouTube แต่รองรับมากกว่า 1,000 เว็บไซต์ แถมยังฟรีและปลอดภัย เป็นโปรแกรมแบบเปิดเผยซอร์สโค้ด (Open Source) ที่นักพัฒนาทั่วโลกช่วยกันตรวจสอบและอัปเดตอยู่เสมอ ทำให้ไม่มีโฆษณาแฝงหรือมัลแวร์เหมือนเว็บโหลดวิดีโอทั่วไป
แต่อย่างไรก็ตาม ก็ยังคงมีข้อควรระวังในการใช้งาน (Usage Guidelines) ดังต่อไปนี้:
- ใช้งานอย่างเหมาะสม (Fair Use): โปรดหลีกเลี่ยงการดึงข้อมูลจำนวนมหาศาลหรือกดรันคำสั่งซ้ำ ๆ ในเวลาอันสั้น เพราะอาจทำให้ทางแพลตฟอร์มต้นทาง YouTube มองว่าเป็นการใช้งานผิดปกติและทำการระงับการเข้าถึงจากที่อยู่ IP ของคุณได้
- นโยบายความเป็นส่วนตัวและลิขสิทธิ์: การดึงข้อมูล (Metadata) หรือเนื้อหาใด ๆ มาใช้นั้น ควรเป็นไปเพื่อการรับชมหรือวิเคราะห์ส่วนบุคคล โปรดเคารพ เงื่อนไขการให้บริการ (Terms of Service) ของแต่ละเว็บไซต์ และไม่นำข้อมูลไปใช้ในทางที่ละเมิดลิขสิทธิ์
- ความรับผิดชอบ: ผู้ใช้เป็นผู้รับผิดชอบต่อการเรียกใช้ข้อมูลผ่านซอฟต์แวร์นี้ด้วยตนเอง ทางผู้พัฒนาแอปเป็นเพียงผู้จัดเตรียมเครื่องมืออำนวยความสะดวก (Interface) ในการเข้าถึงข้อมูลผ่านไลบรารี yt-dlp เท่านั้น
คำแนะนำ: หากคุณต้องการวิเคราะห์ข้อมูลชุดใหญ่ แนะนำให้เว้นระยะการทำงานในแต่ละครั้ง เพื่อรักษาความเสถียรในการเชื่อมต่อและป้องกันการถูกจำกัดการเข้าถึง
- 227 reads
