avisynth

FrameServer

FrameServer เป็นการ ส่งต่อข้อมูล ภาพ-เสียง-คำสั่ง จากโปรแกรมหนึ่งไปอีกโปรแกรมหนึ่งโดยตรง โดยจะมีการสร้างไฟล์ชั่วคราวขนาดเล็กขึ้นมาเป็นตัวกลางเชื่อมการถ่ายโอน ข้อมูลและคำสั่งระหว่าง2โปรแกรม ช่วยลดขั้นตอนในการสร้างไฟล์ต้นฉบับขึ้นมาใหม่ ประหยัดพื้นที่และเวลา อีกทั้งยังคงรักษาคุณภาพไว้เพราะไม่ต้องผ่านการเข้ารหัสใหม่ก่อนเลย
                โปรแกรมประเภท Frameserver นั้นมีอยู่หลายตัวด้วยกัน จะขอแนะนำแค่บางตัวที่เด่นๆเท่านั้น แน่นอนว่าต้องดีและฟรีด้วย
               
DebugMode FrameServer
                เป็นโปรแกรม FrameServer ฟรีตัวหนึ่งที่ดีมากๆ พัฒนาโดย Satish Kumar หรือที่คนไทยรู้จักกันในนาม สาทิตย์ กุมาร (555) โดยทำงานเป็นสื่อกลางในการส่งข้อมูลระหว่างโปรแกรมตัดต่อวีดีโอชั้นนำ (เช่น Adobe Premiere, Ulead VideoStudio [Corel VideoStudio], Sony Vegas เป็นต้น) กับโปรแกรมเข้ารหัสวีดีโออื่นๆ ซึ่งมักเป็นEncoderคุณภาพสูง (เช่น Cinema Craft, ProCoder, TMPGEnc เป็นต้น) เนื่องจากการเข้ารหัสด้วยโปรแกรมตัดต่อเองนั้นไม่สามารถตอบสนองการencodeคุณภาพสูงได้ จึงต้องให้โปรแกรมเฉพาะทางตัวอื่นเข้ามาช่วย สามารถไป Download มาใช้งานได้ที่
                Download DebugMode FrameServer
                จากนั้นให้ติดตั้งเพิ่มเป็น Plug-in ของโปรแกรมตัดต่อที่ใช้อยู่ จากนั้นก็จะสามารถส่งออกเป็นไฟล์avi ขนาดเล็ก ที่เรียกว่า "Signpost" เป็นไฟล์ชั่วคราวที่จะโปรแกรมอื่นๆได้
                ขั้นตอนการ Start FrameServing
Adobe Premiere/Premiere Pro : File > Export > Movie > Debugmode FrameServer > Save
Sony Vegas: File > Render As > Debugmode FrameServer > Save
Ulead MediaStudio Pro : File > Create > Video File > Debugmode FrameServer > Save
Ulead/Corel VideoStudio : Share > Create Video File > Custom > Debugmode FrameServer > Save
Pure Motion EditStudio : File > Build Movie > Debugmode FrameServer (project settings) > Finish
                จากนั้นจะปรากฏหน้าต่าง Status ของ FrameServer แสดงข้อมูลขณะที่กำลังเข้ารหัสวีดีโอ เมื่อเข้ารหัสวีดีโอเสร็จแล้ว ให้กดปุ่ม Stop Serving เพื่อหยุดการ FrameServer ไฟล์ signpost จะถูกลบไปโดยอัตโนมัติ (หากยังไม่ถูกลบ ก็ลบออกเองได้)
                หมายเหตุ : ในการเข้ารหัสวีดีโอผ่าน FrameServer ด้วยโปรแกรม TMPGEnc Plus นั้น จะต้องกำหนดขอบเขตเฟรมสุดท้ายให้มันด้วย เพราะมันอาจจะหาไม่เจอทำให้เกิดความคลาดเคลื่อนซึ่งจะทำให้ได้ขนาดวีดีโอยาว เกินจริง โดยส่วนที่เกินจากวีดีโอจริง จะเป็นภาพดำจนกว่าจะจบไฟล์ โดยการกำหนดขอบเขตทำได้ที่ Source range (ไปกำหนด Set start frame \ Set end frame)
               
AviSynth
                ถือเป็นโปรแกรมที่ทำงานแบบ frameserver ตัวหนึ่ง โดยทำงานผ่านไฟล์ขนาดเล็กคือ AviSynth Script (*.avs) ไฟล์ AVS ไม่ใช่ไฟล์ Video จริงๆ มันเป็นเพียงไฟล์เก็บคำสั่งต่างในการ Process Video สามารถใช้ Text Editor เพื่อเปิดดูและแก้ไขคำสั่งต่างๆ ได้ (เช่น แก้สี แก้ Contrast ใส่ Subtitle ใส่ Filter เป็นต้น)
                ไฟล์ AVS เปิดดูได้ด้วย Player และ Encoder ชั้นนำต่างๆ โดย AviSynth จะทำหน้าหน้าที่ handle คำสั่งในไฟล์ และทำหน้าที่เป็น Frameserver ให้แก่โปรแกรมนั้นๆอีกทีหนึ่ง
                Download AviSynth
                การใช้งาน AviSynth นั้นมีรายละเอียดเยอะทีเดียวจะขอกล่าวในคราวต่อๆไป (ที่ผ่านมาก็มีทำให้ดูไปแล้วบ้างเล็กน้อย)
               
VirtualDub FrameServer
                เป็น frameserver ที่ติดมากับโปรแกรม VirtualDub (และโปรแกรมที่พัฒนามาจาก VirtualDub เช่น VirtualDubMod, VirtualDub-MPEG2, Nandub เป็นต้น) สามารถประยุกต์ใช้ได้มากมายเช่นกัน ไม่ขอพูดถึงในที่นี้ (เคยพูดสอนการประยุกต์ใช้มาบ้างแล้วเหมือนกัน)
                Download VirtualDub
โดยใช้งานผ่านทาง function File > Start frame server ก็จะได้มาเป็นไฟล์ชั่วคราว *.vdr
แต่หลายๆโปรแกรมจะไม่สามารถอ่านไฟล์ *.vdr นี้ได้ จะต้องทำดังนี้คือ
- Run AuxSetup.exe ที่อยู่ใน folder ของ VirtualDub จากนั้นทำการ Installhandle
- ต้องลงโปรแกรม AviSynth ไว้ในเครื่องด้วย
                จากนั้นให้ทำการเปลี่ยนนามสกุลจาก .vdr เป็น .avs ก็จะทำให้โปรแกรมอื่นๆสามารถรับframeserver จาก VirtualDub ได้
                อีกวิธีหนึ่งคือใช้โปรแกรม VFAPI Reader เพื่อเปลี่ยน vdr file เป็น avi fake file  เพื่อเปิดกับโปรแกรมอื่นๆ

นอกจากนี้แล้วยังมีโปรแกรม FrameServer อื่นๆอีก ทั้งฟรี-ไม่ฟรี ดีมาก-น้อย แตกต่างกัน แต่ไม่จำเป็น เพราะแค่ใช้ 3 โปรแกรมข้างบนก็สามารถประยุกต์ใช้ทำได้แทบทุกอย่างแล้ว
ใครใช้แล้วจะรู้ว่ามันดีขนาดไหน ลองทำกันดูนะครับ