Macbook Air M1 กับ OBS ใช้ Settings เท่าไหร่ดี ?
หลังจากเราใช้ Macbook Air M1 มาหลายเดือนมาก ๆ แล้ว โดยเฉพาะกับงานพวกอัด Course Online ในการสอนต่าง ๆ (รอเรียนได้เลย จะเปิดแล้วเด้อ) หลาย ๆ คนถามเราเข้ามาว่า เอ๋ Macbook Air M1 เนี่ยนะจะ OBS ไหวด้วยเหรอ วันนี้เราจะมาเล่าให้อ่านกันว่า เครื่องที่เราใช้ตอนนี้มันสามารถที่จะ Push Settings บน OBS ไปได้ขนาดไหน
Setup ที่ใช้
ตัว Setup ที่เราใช้ เราใช้เป็น Macbook Air M1 รุ่นที่มี 8-Core GPU หรือก็คือก็ตัว Top พร้อมกับ CTO RAM เป็น 16 GB ไปเลย ส่วน Storage เราไม่ได้ปรับอะไร เราเสียบเข้ากับจอที่ความละเอียด 4K
แต่เวลาเราอัด เราจะอัดใส่เข้าไปใน External SSD ที่เราใช้ Enclosure ของ Orico เป็น Thunderbolt 3 ใส่ WD Black SN750 ขนาด 2 TB เพื่อให้มั่นใจว่า เรามี Bandwidth มากพอที่จะอัดโดยที่ไม่มีปัญหา (แน่ละ Thunderbolt ขนาดนี้ ไม่น่านะ)
Setup ปกติ (4K 30FPS h.264)
ใน Setup ปกติที่เราใช้สำหรับอัดหน้าจอ จะเป็นความละเอียดแบบ 4K 30 FPS กับตั้งค่า Downscale Filter เป็น Bicubic อันนี้มันเซ็ตมาให้อยู่แล้ว เราไม่ได้ยุ่งอะไรกับมัน กับเราก็ไม่ได้ Downscale เพราะเราใช้จอ 4K อยู่แล้วและอัดออกมาเป็น 4K ตรง ๆ เลย
ในส่วนของ Encoder เราใช้เป็น Hardware Encoder ตรง ๆ เลย ถ้าเกิดใครที่พยายามเข้ามาเลือกแล้วหาไม่เจอ ให้เราเลือก Output Mode ด้านบนเป็น Advance ก่อน ไม่งั้นมันจะมีแค่ x264 ธรรมดาให้เราเลือก พร้อมกับใช้ Bitrate ขนาด 100,000 Kbps หรือ 100 Mbps ถือว่าเยอะมาก ๆ แล้วสำหรับการอัดหน้าจอปกติ ยิ่งเยอะมันก็ยิ่งกินที่เข้าไปอีก พร้อมกับเลือก Keyframe Interval เป็น 2 และ Profile เป็น Baseline
ถ้าเรามาดูที่ใน Activity Monitor เราจะเห็นว่า เมื่อเราเริ่มอัด OBS มันจะใช้ CPU อยู่ที่ 42 - 45% (แบบ UNIX เด้อ) และ GPU ที่ 17-24% เท่านั้นเอง ทำให้เรามี Headroom ในการรันโปรแกรมอื่น ๆ สำหรับการสอนได้หมดเลย โดยที่ไม่มีปัญหาเลย เว้นแต่สิ่งที่เรารันตอนอัดมันจะกิน CPU สูงมาก ๆ เช่นการ Compile Source Code ขนาดใหญ่ ๆ ซึ่งปกติเราสอน Python เราก็ไม่ได้เอา Dataset ขนาดใหญ่มาให้เล่นแน่ ๆ ไม่งั้นเครื่องคนเรียนบางคนที่ไม่ได้สเปกสูงจะตายก่อน เอาแค่ให้ได้ Concept
ทีนี้ ถ้าเรามาดูให้ลึกขึ้น เพราะตัว CPU M1 มันเป็นแบบ Heterogeneous หรือก็คือมี Core ที่ไม่เหมือนกัน อย่างใน M1 ก็จะมี Efficiency และ Performance Core เมื่อเราอัดหน้าจอ ตัว Performance Core คือไม่ได้ใช้เลย การใช้ CPU ทั้งหมด มันไปใช้ Efficiency Core และ GPU หมดเลย เอาจริง ๆ ก็ดี เราจะได้เอา Performance Core ไปทำอย่างอื่นได้สบาย ๆ เลย
ส่วนอุณหภูมิเอาจริง ๆ คือ ถ้าเราไม่ได้ดูอุณหภูมิเลย เราจะไม่รู้สึกอะไรเลยนะว่ามันอัดอยู่น่ะ พอลองมาดูอุณหภูมิจริง ๆ เห้ย มันเยอะขึ้นนะ แต่มันไม่ได้เยอะจนเรารู้สึกอะ ตัวเครื่อง Report Temperature ที่ 38 องศา สำหรับ Efficiency Core และ 30 องศา สำหรับ GPU โดยที่ Ambinent Temperature ที่เราใช้งานอยู่ที่ 26.1 องศา โดยเราเคยอัดไว้ในห้องแบบนี้เลยประมาณ 5 ชั่วโมง (แบบเสียบแบตนะ) อุณหภูมิก็ไม่ได้โดดไปกว่านี้เลยเท่าเดิมแทบจะตลอด ไม่มีปัญหาเรื่อง Overheat เลย ส่วนถ้าเราเอาไปใช้ในสถานที่ ที่ร้อนกว่านี้เราไม่รู้นะว่ามันจะเป็นยังไง เพราะต้องเข้าใจว่า Macbook Air ไม่มีพัดลม มันพึ่งพา Passive Cooling ล้วน ๆ ไม่มีอย่างอื่นผสม
วิดีโอที่ออกมา ก็สามารถเอาไปใช้งานได้โดยที่ไม่มีปัญหาเสียงขาด เสียงหายแต่อย่างใด ใช้งานได้ปกติทุกอย่าง
Setup บ้าขึ้น (4K 60 FPS h.264)
เอาหละ เรามาลอง Setup ที่พีค ๆ กว่านี้กัน เราจะมาลองใช้ Setup ที่ 4K 60 FPS กันเผื่อเราอยากได้อะไรที่มันลื่น ๆ หน่อย
เราขยับ Bitrate ขึ้นไปเป็น 150 Mbps ไปเลย ไหน ๆ มันก็เพิ่ม Framerate เข้ามาด้วย ลองมาดูกันว่าจะเป็นยังไง
ตอนเรากดอัดไปแว่บเดียวใน OBS มันขึ้นเตือนมาเลยว่า Encoder Overloaded นั่นแปลว่า ไม่โอเคละ เราน่าจะ Settings สูงเกินเครื่องเราไปหน่อยเลยทำให้เจอเหตุการณ์แบบนี้ แต่เพื่อการทดลองเราไม่ได้เอาไปใช้จริง เราจะอัดต่อละกัน
หลังจากกดอัดแล้ว การใช้งานบนเครื่องก็ยังทำได้ปกติ ลื่นไหลเหมือนเดิม ขนาดเปิด DataGrip ที่เป็นโปรแกรมขนาดใหญ่ก็ยังไม่มีปัญหาอะไรเลย ถือว่า M1 มันจัดการทำงานได้อย่างดีเยี่ยมเลย
พอเรามาดูที่ Activity Monitor ตัวการใช้งานทั้งฝั่ง GPU และ CPU เพิ่มขึ้นเป็นอย่างมาก ตัว CPU โดดมาที่ 81-84% ในขณะที่ GPU ขึ้นมา 52.2 - 55.9 % และอุณหภูมิของ Efficiency Core ก็โดดมาที่ 44 องศา และ GPU ที่ 46 องศาเลย ถือว่าใช้ได้เลย สำหรับการอัดแบบ 4K 60FPS
เมื่อเราเอาวีดีโอมาดู ปรากฏว่ามันใช้แทบไม่ได้เลย เพราะบางช่วงบางตอนเสียงมันมาปกติทุกอย่างแต่ ภาพมันออกมาแล้วกระตุกมาก ๆ ทำให้ใช้งานไม่ได้เลย ดังนั้น Config นี้ข้ามอย่างเดียวค่ะ
ถ้าอยากอัด 60FPS ละ (1080p 60FPS h.264)
ปัญหาจากเมื่อครู่คือ ถ้าเราอยากจะอัด 60FPS ละ อยากได้ลื่น ๆ เลย เราจะทำยังไงดี เราก็อาจจะต้องยอมลดความละเอียดลงมาหน่อยที่ 1080p แต่เราใช้ลักษณะของการ Downscale แทน เพราะจอเราเป็น 4K เลยให้มัน Downscale ไปเป็น 1080p ไป
ส่วน Config ของ Encoder เราใช้เป็นตัว Hardware Encoder เหมือนเดิม กับ Bitrate ที่ 100 Mbps เอาคุณภาพโหด ๆ ไปเลย
ส่วนของการใช้งานทรัพยากร ตัว CPU จะวิ่งอยู่แถว ๆ 83-85% แถว ๆ นั้น ส่วน GPU อยู่ที่ 57-59% แถว ๆ นั้น และ อุณหภูมิ ของ Efficiency Core ที่ 41 องศา และ 30 องศา สำหรับ GPU
แต่หลาย ๆ คนอาจจะเอ๊ะว่า ทำไมอัด 1080p ถึงใช้ CPU เยอะกว่า ตอนที่เราอัด 4K บน Framerate เท่ากันละ อันนี้เราคิดว่า น่าจะเกิดจาก เราเลือก Canvas Size เป็น 4K เหมือนเดิม แต่เราเลือกที่จะใช้วิธีการ Downscale เป็น 1080p แทน ทำให้ CPU ที่เพิ่มขึ้นมา น่าจะเป็นส่วนที่มันมา Downscale ภาพ เลยทำให้มันใช้ CPU มากกว่าตอนเราอัด Native 4K
โดยรวมแล้วถือว่าใช้งานได้แบบไม่มีปัญหาเลย วีดีโอที่อัดออกมา เราก็เอาไปใช้งานได้แบบสบาย ๆ เลย
สรุป : Macbook Air M1 ใช้อัด OBS ไหวมั้ย
จาก 3 Settings ที่เราเอามาให้ดู โดยเฉพาะ Setting แรกที่เราใช้งานจริง เราก็บอกเลยว่า มันทำงานได้อย่างไม่มีปัญหาเลย คือมันมี Resource เหลือสำหรับการใช้เครื่องเดียวกันนั่นแหละ อัด และ สอนไปพร้อม ๆ กันได้เลย ถึงแม้ว่าเราจะต่อ External Microphone และใช้ Elgato Camlink ในการเอาภาพจากกล้องเข้ามา มันก็สามารถทำงาน และ อัดได้อย่างไม่มีปัญหา ทั้งในส่วนของ OBS และ ประสบการณ์การใช้งานในการสอนเลยแม้แต่นิดเดียว ดังนั้น ในการใช้งานพื้นฐานอย่างเรา สามารถใช้งานได้เลย รวมไปถึงเรื่องของอุณหภูมิที่หลาย ๆ คนเป็นห่วงกัน เรามองว่า ถ้าเราใช้ในห้องแอร์ปกติ ก็ไม่ได้มีปัญหาอะไร ถึงจะอัด และ Stream ติด ๆ กัน 5-7 ชั่วโมง (มากกว่านั้น เรายังไม่เคยลอง แต่คิดว่าไม่มีปัญหาอะไร) แต่ถ้าเราบอกว่า เราทำงานในหลาย ๆ สถานที่ที่ไม่รู้ว่าจะมีห้องแอร์มั้ย เราแนะนำให้ไปดู Macbook Pro ที่มีพัดลมน่าจะปลอดภัยกับงานมากกว่า