วันอังคารที่ 4 สิงหาคม พ.ศ. 2552

การใช้ FrameServer ช่วยในการตัดต่อ vdo

FrameServer

FrameServerเป็นการส่งต่อข้อมูล ภาพ-เสียง-คำสั่ง จากโปรแกรมหนึ่งไปอีกโปรแกรมหนึ่งโดยตรง โดยจะมีการสร้างไฟล์ชั่วคราวขนาดเล็กขึ้นมาเป็นตัวกลางเชื่อมการถ่ายโอนข้อมูลและคำสั่งระหว่าง2โปรแกรม ช่วยลดขั้นตอนในการสร้างไฟล์ต้นฉบับขึ้นมาใหม่ ประหยัดพื้นที่และเวลา อีกทั้งยังคงรักษาคุณภาพไว้เพราะไม่ต้องผ่านการเข้ารหัสใหม่ก่อนเลย
โปรแกรมประเภทFrameserverนั้นมีอยู่หลายตัวด้วยกัน จะขอแนะนำแค่บางตัวที่เด่นๆเท่านั้น แน่นอนว่าต้องดีและฟรีด้วย
DebugMode FrameServer
เป็นโปรแกรม FrameServer ฟรีตัวหนึ่งที่ดีมากๆ พัฒนาโดย Satish Kumar หรือที่คนไทยรู้จักกันในนาม สาทิตย์ กุมาร (555) โดยทำงานเป็นสื่อกลางในการส่งข้อมูลระหว่างโปรแกรมตัดต่อวีดีโอชั้นนำ (เช่น Adobe Premiere, Ulead VideoStudio, Sony Vegas เป็นต้น) กับโปรแกรมเข้ารหัสวีดีโออื่นๆ ซึ่งมักเป็นEncoderคุณภาพสูง (เช่น Cinema Craft, ProCoder, TMPGEnc เป็นต้น) เนื่องจากการเข้ารหัสด้วยโปรแกรมตัดต่อเองนั้นไม่สามารถตอบสนองการencodeคุณภาพสูงได้ จึงต้องให้โปรแกรมเฉพาะทางตัวอื่นเข้ามาช่วย
สามารถไปDownloadมาใช้งานได้ที่ http://www.debugmode.com

จากนั้นให้ติดตั้งเพิ่มเป็น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 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 VirtualDubMod


โดยใช้งานผ่านทาง 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 โปรแกรมข้างบนก็สามารถประยุกต์ใช้ทำได้แทบทุกอย่างแล้ว


ใครใช้แล้วจะรู้ว่ามันดีขนาดไหน ลองทำกันดูนะครับ
จากเวบ http://advance.exteen.com

ไม่มีความคิดเห็น:

แสดงความคิดเห็น

เฝ้าคอย

เฝ้าคอย
looking