2 คะแนน โดย GN⁺ 2024-10-28 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • พอร์ตไม่เป็นทางการของ NewPipe เป็นบิลด์ Flatpak แบบทดลองที่ใช้ Android Translation Layer ช่วยให้ติดตั้งและใช้งาน NewPipe สำหรับ Android บน Linux ได้
  • บิลด์นี้ไม่ใช่ตัวเผยแพร่อย่างเป็นทางการที่สร้างโดย TeamNewPipe และไม่มีความเกี่ยวข้องหรือการรับรองจาก TeamNewPipe
  • NewPipe เป็น YouTube frontend ที่เน้นความเป็นส่วนตัว โดยพาร์สเว็บไซต์แทนการใช้ไลบรารีเฟรมเวิร์กของ Google และ YouTube API
  • ใช้งานได้แม้ไม่มี Google Services หรือ บัญชี YouTube และเผยแพร่เป็น FLOSS
  • เวอร์ชัน 0.28.8 อ้อมผ่านปัญหาจากการที่ YouTube บังคับใช้โปรโตคอล SABR แต่ยังมีข้อจำกัดสำหรับวิดีโอสำหรับเด็ก

บิลด์ Flatpak ไม่เป็นทางการของ NewPipe

  • NewPipe (unofficial port) เป็นบิลด์ Flatpak ไม่เป็นทางการและแบบทดลองที่ใช้ Android Translation Layer
  • ไม่ใช่บิลด์ที่ TeamNewPipe ประกอบขึ้น และไม่ใช่แอปที่เกี่ยวข้องหรือได้รับการรับรองจาก TeamNewPipe
  • ควรรายงานบั๊กไปที่ ATL bug tracker ไม่ใช่ bug tracker ของ NewPipe
  • NewPipe ทำงานเป็น YouTube frontend ที่เน้นความเป็นส่วนตัว
    • ไม่ใช้ไลบรารีเฟรมเวิร์กของ Google
    • ไม่ใช้ YouTube API
    • ข้อมูลที่จำเป็นได้มาจากการพาร์สเว็บไซต์
  • ใช้งานได้บนอุปกรณ์ที่ไม่มี Google Services
  • ใช้งานได้โดยไม่ต้องมีบัญชี YouTube
  • เป็น FLOSS

บริการที่รองรับและการเปลี่ยนแปลงใน 0.28.8

  • บริการที่รองรับรวมถึงตระกูล YouTube และแพลตฟอร์มสื่อหลายรายการ
    • YouTube และ YouTube Music
    • PeerTube และทุกอินสแตนซ์
    • Bandcamp
    • SoundCloud
    • media.ccc.de
  • รีลีส 0.28.8 อ้อมผ่านปัญหาการเล่นที่เกิดจากการที่ YouTube บังคับใช้โปรโตคอล SABR
    • ปัญหาความละเอียดวิดีโอหายไป
    • ปัญหาไม่สามารถใช้สตรีมเสียงแยกได้
    • ปัญหาที่ใช้ได้เฉพาะสตรีม MP4 360p ที่มีเสียงรวมอยู่เท่านั้น
    • เนื่องจากข้อจำกัดของวิธีอ้อมผ่านนี้ วิดีโอสำหรับเด็กจึงถูกยกเว้น
  • การแก้ไขแบบอ้อมผ่านนี้เกิดจากความพยายามของชุมชน
  • รีลีสนี้มี NewPipe Extractor v0.26.3 รวมอยู่ด้วย
    • รวมการแก้ไขแบบอ้อมผ่านที่เกี่ยวข้องกับ SABR
    • แก้ปัญหาที่ดึงวิดีโอจากเพลย์ลิสต์ YouTube ไม่ได้
    • แก้ปัญหาที่การค้นหา Bandcamp ไม่ส่งคืนผลลัพธ์
  • Get more Information
  • Project Website
  • Contribute Translations
  • Report an Issue
  • Browse the source code

1 ความคิดเห็น

 
GN⁺ 2024-10-28
ความคิดเห็นบน Hacker News
  • ส่วนที่น่าสนใจน่าจะเป็น https://gitlab.com/android_translation_layer/android_transla... เป็นส่วนใหญ่ อาจเป็น ทางเลือกแทน Waydroid แต่ในแง่ที่ไม่ต้องใช้โมดูลเคอร์เนล Binder ก็อาจใกล้เคียงกับ WINE มากกว่า
    อีกอย่าง ผมคิดว่าไอเดียในการแพ็กเกจแอปพลิเคชันกับเลเยอร์ความเข้ากันได้ไว้ด้วยกันเป็น Flatpak นั้นค่อนข้างดี สามารถส่งมอบแอปได้แทบเหมือนเนทีฟ หา users และ testers ของเลเยอร์ความเข้ากันได้ได้ง่าย และยังจำกัดขอบเขตทีละแอป ทำให้สื่อสารได้ง่ายในทำนองว่า “แอปนี้ใช้งานได้ แต่อย่าเพิ่งคาดหวังแอปอื่นที่ยังไม่ได้ implement”
    ว่ากันอย่างเคร่งครัด Flatpak น่าจะไม่ใช่สิ่งจำเป็น จะทำแพ็กเกจ Debian สำหรับ ATL และแพ็กเกจสำหรับ NewPipe แล้วใส่ไว้ใน repository หรือ PPA ก็ไม่น่ามีอะไรขัดขวางทางเทคนิค เพียงแต่สำหรับงานลักษณะนี้ Flatpak ดูเหมาะดี

    • การพยายาม reimplement Android โดยไม่มี Binder มีโอกาสล้มเหลวสูง แทบทุกอย่างของ Android ผูกกับ Binder อย่างลึกซึ้ง ดังนั้นเพื่อให้มันทำงานได้ คงต้องซ้อน hack ทับ hack ไปเรื่อย ๆ
      service ก็ Binder, intent ก็ Binder รวมถึง internal intent, Play Services หรือ microG ที่แอป 90% ใช้ก็ Binder, permission ก็ Binder ถึงขั้นนี้แล้ว image Android แบบ x86 อาจจะดีกว่า เสถียรกว่า และความเร็วก็อาจพอ ๆ กัน
    • โปรเจกต์นี้ดูเหมือนสร้างต่อจากโปรเจกต์ android2gnulinux ของผมที่เคยทำไว้ ดีใจที่มีคนรับช่วงต่อและทำให้ใช้งานได้มากขึ้น
      https://github.com/Cloudef/android2gnulinux
    • ผมรอคอยคอมโบ เลเยอร์ความเข้ากันได้ + แอปพลิเคชัน Flatpak มาพักหนึ่งแล้ว ดีใจที่มีคนทำจริง ๆ ความฝันส่วนตัวคืออยากเห็น Flatpak สำหรับชุด Microsoft Office ออกมาเยอะ ๆ
    • เพราะผมไม่ใช้ Flatpak, Snap, AppImage เลย จึงชอบตรงที่สิ่งนี้ไม่ได้พึ่งพาอะไรอย่าง Flatpak
    • ในเชิงแนวคิดคล้าย WINE แต่ในทางปฏิบัติใกล้เคียงกับการ reimplement AOSP ซึ่งเป็น implementation อ้างอิงของ Android มากกว่า
      ดู https://gitlab.com/android_translation_layer/android_transla...
  • ถ้ามีอุปกรณ์ที่รัน postmarketOS หรือ Alpine Linux อยู่ ก็ลองกับแอป Android อื่น ๆ ได้เองเลย หลังจากรัน sudo apk add android-translation-layer แล้ว
    $ android-translation-layer some-app.apk
    ผมลอง F-Droid, Spotify, Megalodon ไปสองสามตัว แต่ล้มเหลวด้วยเหตุผลต่าง ๆ กัน และดูเหมือนว่า พื้นผิว API ยังว่างอยู่มาก ถึงอย่างนั้นงานพื้นฐานก็เสร็จแล้ว จึงหวังว่าส่วนจำนวนมากจะเพิ่มเข้าไปได้ค่อนข้างง่าย

    • กำลังลอง build android_translation_layer บน Arch ถ้าสำเร็จก็น่าจะเพิ่ม distro ที่สามเข้าไปในรายชื่อที่รองรับได้
  • จะใช้ NewPipe บนเดสก์ท็อปไปทำไม ในเมื่อมี https://freetubeapp.io/ อยู่แล้ว

    • อาจจะคุ้นกับประสบการณ์ใช้งาน NewPipe และชอบ ความสอดคล้องกัน ระหว่างอุปกรณ์ก็ได้ ผมเพิ่งเคยได้ยิน FreeTube แต่ก็ดูเจ๋งทีเดียว
    • FreeTube optimize แย่มาก แม้จะรองรับการเล่นวิดีโอด้วยฮาร์ดแวร์ แต่ CPU load สูงเกินไปจนผมตัดสินใจไม่ใช้
    • ไม่จำเป็นต้องดูถูกต้นโพสต์ขนาดนั้นตอนแนะนำก็ได้ client ทางเลือกจะมีสักพันตัวก็ยิ่งดี
    • น่าเสียดายที่มันทำงานบน Wayland ได้ไม่ดี ไม่รู้ว่าตัวนี้จะเป็นอย่างไร แต่ก็คุ้มที่จะลอง
    • ไม่มีฟีเจอร์ “ข้ามช่วงเงียบอย่างรวดเร็ว”
  • เจ๋งมาก สงสัยว่าจะเปลี่ยนแอป NewPipe เป็น fork ชื่อ Tubular (https://github.com/polymorphicshade/Tubular) ที่มี SponsorBlock กับ ReturnYoutubeDislike ในตัวได้ไหม

    • คนคนนั้นคงทำไม่ได้ แต่คุณอาจทำได้
  • https://gitlab.com/android_translation_layer/android_transla...
    https://gitlab.com/android_translation_layer/android_transla...
    สงสัยว่าแนวทางนี้จะทำงานได้ดีแค่ไหนเมื่อเทียบกับ วิธีของ Anbox/Waydroid

    • Waydroid ต้องรันทั้งระบบปฏิบัติการ แต่ตัวนี้เป็นแค่แอปพลิเคชันเดี่ยว วิธีข้างหน้าสามารถผสานกับแอปอื่น ๆ ที่ใช้งานอยู่ได้ดี
      ใน ATL ถ้าเปิดด้วยเบราว์เซอร์ ก็จะเปิดเบราว์เซอร์เดสก์ท็อปจริง ๆ และไฟล์ดาวน์โหลดก็ไปอยู่ในโฟลเดอร์ที่เลือกไว้บนเดสก์ท็อป ให้ความรู้สึกใกล้กับ APK สำหรับเดสก์ท็อป เหมือน “ARC Welder” ของ Google ที่ไม่ได้ใช้เบราว์เซอร์เป็น runtime
  • ในที่สุดก็ลองติดตั้งแล้ว และประทับใจที่มันทำงานได้ดีเกินคาด แน่นอนว่า เต็มหน้าจอ จริง ๆ ดูเหมือนจะยังทำงานไม่ค่อยดี และมี glitch อย่างขอบว่าง ๆ อยู่บ้าง แต่โดยรวมแล้วมันก็ใช้งานได้เลย
    มันมีประสิทธิภาพกว่าการเปิด Waydroid มาก เลยกำลังคิดว่าจะลองใช้กับแอปอื่น ๆ ที่ใช้อยู่ประจำด้วย FreeTube ก็เป็น client ที่ดี แต่เพราะ Electron ทำให้ขนาดใหญ่กว่าราวสามเท่า และ NewPipe รู้สึกลื่นไหลกว่ามาก

    • เห็น glitch ค่อนข้างเยอะ โหลด settings ไม่ได้ วิดีโอบางทีก็โหลดได้บางทีก็ไม่ได้ และอย่างไรก็ดี graphical interface ก็เพี้ยน
      ในฐานะคนที่ชอบ NewPipe บนมือถือแล้ว น่าเสียดาย
  • ถือเป็นข่าวดี ผมลองเล่น Surface Go 2 อยู่เยอะมาก และ เลเยอร์แปลง Android ก็เหมาะพอดีกับสภาพแวดล้อมที่มีแค่หน้าจอสัมผัส, RAM น้อยมาก, eMMC ที่ช้ามาก และแบตเตอรี่ที่ถ้าโชคดีก็อยู่ได้ 8 ชั่วโมง
    โดยเฉพาะอย่างยิ่ง แอป Linux ที่ใช้งานกับการสัมผัสได้ดีมีไม่มากนัก Kirigami ของ KDE หรือแอปที่เป็นมิตรกับการสัมผัสยังอยู่ระหว่างพัฒนาอย่างหนัก จึงแทบจะพอสำหรับการใช้งานประจำวันเท่านั้น ส่วนแอป Electron เข้ากับคีย์บอร์ดเสมือนไม่ค่อยได้เลยตัดออกไป แอป Flutter ใช้ประโยชน์ไม่ได้เพราะไม่รองรับ DPI ความละเอียดสูงบน Linux ส่วน GNOME รองรับการปรับสเกลแบบเศษส่วนได้ไม่ดี มีปัญหาบางเมนูบนหน้าจอสัมผัส และพื้นที่ฟอนต์ใน launcher ไม่สเกลตาม ทำให้บน DPI ความละเอียดสูงถูกตัดเป็นเหมือน “Firef...” อนึ่ง ผมใช้ Debian Bookworm อยู่
    ดังนั้นจึงไม่ค่อยน่ายินดีที่ android_translation_layer ใช้ Gtk แต่เท่าที่ทราบ Gtk4 ปรับปรุงเรื่องการสเกลแล้ว อย่างไรก็ดี กำลังรอที่จะลองทดสอบอยู่

  • น่าสนใจ อยากเห็นบิลด์ AppImage ของแอปพลิเคชันที่สร้างด้วยไลบรารีนี้ด้วย
    https://appimage.org/

  • ในกรณีของผม FreeTube จากรีโพซิทอรีของ Arch ทำงานได้ดีมาก
    https://github.com/FreeTubeApp/FreeTube

    • ดูเหมือนว่าจะอยู่ใน AUR ไม่ใช่รีโพซิทอรีทางการของ Arch
  • ผมติดตั้งเป็นแอป F-Droid บน Android และใช้มาสักพักแล้ว ปัญหาคือมีแรงเสียดทานระหว่าง มาตรการตอบโต้ ของ YouTube กับเวอร์ชันใหม่ที่ออกมาเพื่อรับมือกับมัน
    บ่อยครั้งจึงใช้ไคลเอนต์ทางเลือกบน Android ไม่ได้เป็นเวลาหลายเดือนจนกว่าจะมีการแก้ไข เรื่องนี้จะเป็นปัญหาบน Linux ด้วยไหม?

    • ปัญหาคือ F-Droid ใช้เวลาในการตรวจสอบรีลีสใหม่ ทำให้ล่าช้าแม้จะดาวน์โหลดได้แล้วผ่านช่องทางแจกจ่ายโดยตรงอื่น ๆ
      เมื่อไม่นานมานี้ผมได้รู้จัก Obtainium[1] ซึ่งสามารถติดตั้งและอัปเดตแอปจากแหล่งที่มาแทบทุกแบบที่ต้องการได้ เช่น ดาวน์โหลดโดยตรงจาก GitHub releases ได้เหมือน NewPipe
      [1] https://obtainium.imranr.dev/
    • ลองดูรีโพซิทอรี F-Droid ของ NewPipe เองได้: https://newpipe.net/FAQ/tutorials/install-add-fdroid-repo/