- เอฟเฟกต์วิดีโอโอเพนซอร์สฟรี ที่สร้างอารมณ์แบบ VHS บนคอมพิวเตอร์ที่บ้าน โดยจำลองภาพอาร์ติแฟกต์ของทีวีแอนะล็อกและ VHS ได้อย่างแม่นยำ
- แทนที่จะเลียนแบบความรู้สึกของเทป VHS ด้วยเพียงตารางค้นหาสีและโอเวอร์เลย์แบบง่าย ๆ ระบบนี้ใช้ อัลกอริทึม ที่จำลองวิธีการทำงานจริงของ การส่งสัญญาณ NTSC และการเข้ารหัส VHS
- อัลกอริทึมพื้นฐานพัฒนามาจาก composite-video-simulator, zhuker/ntsc และ ntscQT
- เขียนด้วย Rust และใช้การเร่งความเร็วแบบ มัลติเธรด และ SIMD ทำให้สามารถรันแบบเรียลไทม์ได้แม้ที่ความละเอียดสูงกว่าวิดีโอ NTSC จริงมาก ต่างจากเอฟเฟกต์คล้ายกันอย่าง ntscQT
- มีให้ใช้งานทั้งแบบสแตนด์อโลนและเว็บแอปพลิเคชัน รวมถึงปลั๊กอินสำหรับ After Effects, Premiere และซอฟต์แวร์ที่รองรับ OpenFX โดยรองรับ DaVinci Resolve, Hitfilm และ Vegas
ภาพรวม
- ntsc-rs คือเอฟเฟกต์วิดีโอโอเพนซอร์สฟรีที่จำลองภาพอาร์ติแฟกต์ของทีวีแอนะล็อกและ VHS ได้อย่างแม่นยำ
- เป็นเครื่องมือที่สร้างความชวนคิดถึงของ VHS บนคอมพิวเตอร์ที่บ้าน พร้อมให้ดาวน์โหลดเวอร์ชัน 0.9.4 และมีตัวทดลองออนไลน์
- เอฟเฟกต์ VHS ทั่วไปมักจำลองรูปลักษณ์ของเทป VHS แบบคร่าว ๆ ด้วยเพียงตารางค้นหาสีและโอเวอร์เลย์อย่างง่าย
- ntsc-rs ใช้อัลกอริทึมที่จำลองวิธีการทำงานจริงของการส่งสัญญาณ NTSC และการเข้ารหัส VHS
- อัลกอริทึมพื้นฐานมาจาก composite-video-simulator, zhuker/ntsc, ntscQT
การพัฒนาและรูปแบบการใช้งาน
- เป็นอิมพลีเมนเทชันที่เขียนด้วย Rust และใช้การเร่งความเร็วแบบมัลติเธรดและ SIMD
- ต่างจากเอฟเฟกต์คล้ายกันอย่าง ntscQT ตรงที่สามารถทำงานแบบเรียลไทม์ได้แม้ที่ความละเอียดสูงกว่าวิดีโอ NTSC จริงมาก
- มีให้ใช้งานในรูปแบบแอปพลิเคชันสแตนด์อโลน เว็บแอปพลิเคชัน และปลั๊กอินสำหรับซอฟต์แวร์ตัดต่อวิดีโอ
- ปลั๊กอินสามารถใช้งานได้กับ After Effects, Premiere และซอฟต์แวร์ที่รองรับ OpenFX
- ตัวอย่างซอฟต์แวร์ที่รองรับ OpenFX ได้แก่ DaVinci Resolve, Hitfilm, Vegas
1 ความคิดเห็น
ความคิดเห็นจาก Hacker News
ทำให้นึกถึงคำพูดของ Brian Eno เกี่ยวกับ ร่องรอยเฉพาะตัว ของสื่อใหม่:
“สิ่งที่ในสื่อใหม่ดูแปลก น่าเกลียด อึดอัด หรือชวนรำคาญในตอนนี้ สุดท้ายแล้วจะกลายเป็นลายเซ็นของสื่อนั้นอย่างแน่นอน ความเพี้ยนของ CD อาการสั่นไหวของวิดีโอดิจิทัล หรือเสียงหยาบ ๆ แบบ 8-bit ล้วนจะถูกให้คุณค่าและถูกเลียนแบบทันทีที่เราสามารถหลีกเลี่ยงมันได้ มันคือเสียงของความล้มเหลว ศิลปะร่วมสมัยจำนวนมากคือเสียงของสิ่งต่าง ๆ ที่หลุดพ้นจากการควบคุม และของสื่อที่ถูกผลักไปจนสุดขีดแล้วแตกพัง เสียงกีตาร์แตกพร่าคือร่องรอยของเสียงที่ดังเกินกว่าสื่อที่ต้องรองรับมัน นักร้องบลูส์ที่ร้องด้วยเสียงแตกคือเสียงของการเปล่งอารมณ์ที่แรงเกินกว่าลำคอที่ต้องส่งมันออกมา ความตื่นเต้นของเกรนฟิล์มหยาบและภาพขาวดำซีดจาง คือความตื่นเต้นจากการได้เห็นเหตุการณ์ที่สำคัญเกินกว่าสื่อซึ่งถูกมอบหมายให้บันทึกมัน” - Brian Eno
เช่น ยุค 80s~90s ดูเหมือนเป็นช่วงเวลาที่มีความสุขกว่าสำหรับทั้งคนที่เติบโตมากับมันและคนที่ไม่ได้เติบโตมาในยุคนั้น และข้อบกพร่องอย่างอาร์ติแฟกต์ของ VHS ก็พาคนดูย้อนกลับไปสู่ความรู้สึกแบบนั้น
แต่ในเสียงหรือวิดีโอแบบแอนะล็อก ก็มีคุณสมบัติบางอย่างที่หายไปหรือด้อยลงมากในเทคโนโลยีภายหลัง เช่น ถ้าจะให้ได้ความเที่ยงตรงระดับแผ่นไวนิล MP3 ต้องใช้บิตเรตสูงมาก (แต่ CD ทำได้สบาย) และความคมชัดของภาพเคลื่อนไหวบน CRT ก็ยังเป็นสิ่งที่จอแสดงผลสมัยใหม่ตามไม่ทัน และอาจจะไม่มีวันทันเลยเพราะธรรมชาติแบบ sample and hold ของจอสมัยใหม่
“สื่อใหม่ทุกชนิดทำให้สื่อก่อนหน้ากลายเป็นของล้าสมัย และสื่อก่อนหน้านั้นก็กลายเป็นเนื้อหาหรือรูปแบบศิลปะของสื่อใหม่”
“เมื่อพื้นฐานเก่ากลายเป็นเนื้อหาของสถานการณ์ใหม่ มันมักจะปรากฏต่อความสนใจทั่วไปในรูปแบบของรูปทรงทางสุนทรียะ และในเวลาเดียวกัน การหวนคืนหรือความโหยหาอดีตแบบใหม่ก็ถือกำเนิดขึ้น”
เทคโนโลยีใหม่ที่ประสบความสำเร็จในวงกว้างมักเริ่มต้นจากการเป็นของล้ำสมัยและน่าประทับใจ แล้วค่อยถูกคนมองย้อนกลับมาด้วยท่าทีดูแคลนเมื่อเวลาผ่านไป
นึกขึ้นได้ว่า ในพวก TV emulator แบบนี้ เหมือนไม่ค่อยเคยเห็นใครจำลองอาการที่ vertical oscillator เพี้ยนเล็กน้อยจนภาพค่อย ๆ ม้วนขึ้นด้านบน
มันไม่ได้แค่เลียนแบบเอฟเฟกต์ แต่ค่อนข้างใกล้เคียงกับ software NTSC modulator/demodulator จริง ๆ
https://github.com/LMP88959/NTSC-CRT
ลองดู https://codeberg.org/fsphil/hacktv ด้วย มันสร้างสัญญาณทีวีแอนะล็อกหลายแบบเพื่อส่งออกผ่าน HackRF แต่สิ่งที่ผมต้องการจริง ๆ กลับตรงกันข้าม คือใกล้เคียงกับ emulator ของเครื่องรับแอนะล็อก ที่ยอมรับแม้แต่สัญญาณผิด ๆ แล้วพังแบบทีวีแอนะล็อกจริง
คิดว่าน่าจะเอาไปใช้กับ AI ที่เรียนรู้แบบย้อนทางได้ คือฝึกให้สร้างวิดีโอคุณภาพสูงจากวิดีโอที่มี อาร์ติแฟกต์ของทีวีแอนะล็อก/VHS แบบเก่า
ถ้าเริ่มจากวิดีโอคุณภาพสูงแล้วใช้ไลบรารีนี้หรือเครื่องมือคล้ายกันสร้างวิดีโอแอนะล็อก/VHS ก็จะได้ข้อมูลคำตอบสำหรับฝึก AI
ต้องจำลองทั้งการเลื่อนเฟสของ color subcarrier และการ ตรวจจับ color burst ล้มเหลว ถึงจะได้รสชาติของอาร์ติแฟกต์ทีวีแอนะล็อกแบบครบถ้วน
แน่นอนว่าต้องมี PAL และ Hanover bars ด้วย
เมื่อก่อนเคยเขียน NTSC emulator ด้วย C โดยอิงสมการอีกชุดหนึ่ง แต่รับค่าหลายอย่างอย่างเช่นเฟสผ่าน command line argument เพื่อควบคุม และรับภาพ farbfeld แบบ grayscale เป็นอินพุตแล้วส่งออกเป็น farbfeld ดังนั้นใช้กับภาพนิ่ง ไม่ใช่วิดีโอ
เคยพยายามแกะ NTSC emulation อันน่าทึ่งของ OpenEmulator แบบละเอียดทั้งหมด
แต่สุดท้ายก็ตกหลุมกระต่ายไปกับการดูเลกเชอร์เรื่อง signal processing บน YouTube แล้วหมดแรง อย่างไรก็ดี สำหรับคนที่สนใจ ผมแกะไว้เยอะพอสมควรที่นี่: https://observablehq.com/@zellyn/apple-ii-ntsc-emulation-ope...
และยังทำ JavaScript port ที่ลิงก์อยู่ในหน้านั้นไว้ด้วย
ฟิลเตอร์นั้นคำนวณ kernel ล่วงหน้าสำหรับทุกสีและทุก phase offset แล้วตอนเรนเดอร์ก็ใช้การคำนวณ RGB แบบ signed การที่เราสามารถสร้างความประหลาดของฮาร์ดแวร์เก่าที่เราโตมากับมันขึ้นมาใหม่ได้ เป็นเรื่องน่าพอใจเพราะมันช่วยให้เข้าใจมันโดยไม่ต้องทำให้มันดูลึกลับเกินจริง
ทำไมคนถึงรัก NTSC กันมาก แต่ให้ความสนใจกับ PAL และ SECAM น้อยจัง?
ผมติดตั้งปลั๊กอิน OpenFX แล้วลองทดสอบใน DaVinci ดู มันทำงานเร็ว มีตัวเลือกให้ควบคุมเยอะ และผลลัพธ์ก็ดีมาก
ทำได้ตั้งแต่เอฟเฟกต์ละเอียดอ่อนมาก ๆ ไปจนถึงเละคล้ายซุปเลย ถ้าทำ automation กับพารามิเตอร์จะยิ่งน่าสนใจมาก และผมก็ชอบที่มันอิงกับการจำลองจริง คิดว่าน่าจะได้ใช้กับงานตัดต่อแน่
ดีที่งานแนวนี้ยังมีการพัฒนาอย่างคึกคัก แต่อยากรู้เหมือนกันว่าคนสาย simulation ของอาร์ติแฟกต์ จะมองยังไง
ปกติจะเห็นบ่อยในรูปแบบ shader สำหรับ emulator แต่ทุกวันนี้ในงานวิดีโอก็มีความต้องการทำให้ภาพสะอาดเสื่อมคุณภาพลงอย่างมีโครงสร้างแบบนี้สูงเหมือนกัน คนทำงานต้องการลุคกล้องแคมคอร์เดอร์ยุค 90s แต่ให้ทีมถ่ายไปใช้ฮาร์ดแวร์และฟอร์แมตแคมคอร์เดอร์เทอะทะจากยุคนั้นจริง ๆ มันยาก
ดีมาก ปกติผมก็ชอบเอฟเฟกต์แบบนี้อยู่แล้ว และเมื่อก่อนก็เคยทำอะไรที่ง่ายกว่านี้เอง
มันคือการแยกหนึ่งพิกเซลออกเป็นค่า r, g, b สามค่าแล้ววางเรียงด้านข้างเพื่อเลียนแบบ การทำงานของ LED สุดท้ายก็ทำภาพที่ให้ความรู้สึกเป็นลายเส้นบนเว็บไซต์ได้ด้วย: https://github.com/victorqribeiro/oldTerminal นั่นคือสิ่งที่ดีที่สุดที่ทำได้บนเว็บโดยไม่ใช้ canvas
สักวันหนึ่งอาจจะลองทำใหม่ด้วย CSS สมัยใหม่