Encoding to H.264/MPEG-4 AVC codec

 



โปรดทราบ : บทความนี้เก่าและล้าสมัยมากแล้ว อีกทั้งตัวโปรแกรมเองได้หยุดการพัฒนาไปแล้วตั้งแต่เวอร์ชั่น

[2009-04-16] ดังนั้นผมแนะนำให้ทุกคนใช้โปรแกรมอื่น เช่น MeGUI แทนจะดีกว่า เนื้อหาข้างล่างนี้ถือว่าเอาไว้

ใช้เป็นพื้นฐานเล็กๆน้อยๆก็พอครับ

รับทราบโดยทั่วกัน เลิกแถว $@%!#   (*o*)/ เฮ้ !!!

การเข้ารหัสวิดีโอแบบ H.264/MPEG-4 AVC นั้นทำได้หลายวิธีมาก แต่ผมลองชั่งน้ำหนักระหว่างความยุ่งยาก เวลาที่ใช้ในการแปลงไฟล์ และคุณภาพดูแล้ว จึงคิดว่า วิธีนี้น่าจะเหมาะสมที่สุด โดยเราจะเน้นคุณภาพ และใช้เวลาให้น้อยเท่าที่จะทำได้ แต่ก่อนจะทำต้องทำใจหน่อยนึงว่า การเข้ารหัส Codec H.264 นั้นใช้เวลานานมากๆๆๆๆ อีกทั้งต้องอาศัยพลังCPUอย่างหนัก ใครCPUแรงกว่าก็ใช้เวลาน้อยขึ้น เพราะปัจจุบันการเข้ารหัสวิดีโอส่วนใหญ่อาศัยแต่CPU แต่ขณะนี้มีการ์ดจอของ ATi รุ่นใหม่ออกมาซึ่งสามารถ ใช้ GPU ช่วยในการencode video ทำให้ลดเวลาไปได้อย่างมหาศาลเลยทีเดียว ในอนาคตเราก็คงจะได้ใช้ GPU ช่วย นอกจากใช้แต่ CPU อย่างเดียว

โปรแกรมชั้นนำในปัจจุบันที่ใช้ทำ H.264 ได้อย่างมีประสิทธิภาพ เช่น MeGUI, AutoMKV, LeiMing x264 GUI, VirtualDub, GordianKnot, StaxRip, MainConcept H.264 Encoder เป็นต้น แล้ว H.264 codec ก็มีหลายเจ้า ทั้งฟรี(x264) และไม่ฟรี (MainConcept, CoreAVC)

สรุปแล้ว เราจะเลือกใช้ lmx264gui และ x264 codec

ส่วนใครไม่รู้ว่าH.264มันเยี่ยมยังไง ไปดูตัวอย่างที่ผมทำไว้ได้ที่นี่

[บทความนี้อ้างอิงจาก Leiming version 2007-06-25]

 

โปรแกรมที่ต้องใช้ เป็น Freeware

1- Leiming's x264 GUI

2- x264 Video Codec

3- BePipe (มีมาให้ในLeimingแล้ว)

4- Nero Digital Audio หรือ aacPlus Encoder(ให้ไปเอามาจากในfolder Winamp)

5- MP4Box หรือ MP4Creator

6- MKVmerge

7- AviSynth

8- K-lite codec pack หรือ K-lite mega codec pack

ให้เอาโปรแกรมตัวที่2-6 ไปไว้ในfolder bin ของ lmx264gui แล้วก็ install AviSynth กับ K-lite (2อันนี้ใครลงแล้วก็ไม่ต้อง) ใครไม่อยากยุ่งยาก หรือกลัวทำไม่ถูก ผมได้จัด1-5รวมเป็นชุดไว้ให้แล้ว โหลดไปใช้ได้เลย ส่วนmkvmerge เอาไปรวมใน mkvtoolnix (สำหรับคนที่จะทำเป็น *.mkv)

 

Download Leimings x264 GUI [Pack]

http://upload.mthai.com/F1/474be66e69166

mirror

http://www.4shared.com/file/23812220/68bf4a2f/LM_x264_GUI_pack.html

 

Download MKVtoolnix [Pack]

http://upload.siamza.com/download.php?id=70634

 

Password : advance.exteen.com

 

 

Create an AviSynth script

AviSynth script คืออะไร ไปอ่านบทความก่อนหน้า ที่นี่

เราจะเขียน AviSynth Script เพื่อเป็นวัตถุดิบส่งเข้าโปรแกรม เนื่องจากโปรแกรม lmx264gui นั้นอ่านได้แต่ไฟล์ *avs เท่านั้น ยุ่งยากนิดแต่avsสามารถประยุกต์ใช้ได้หลากหลาย และมีประโยชน์มากอีกด้วย เช่น เราสามารถไฟล์อะไรเป็นinputก็ได้ ทำให้แปลงไฟล์ได้แทบทุกชนิด เป็นต้น ดังนั้น อย่างน้อยน่าจะเขียนกันเป็น ไม่ยากเลยครับ

การเขียน AviSynth Script ทำได้โดย เปิดNotepad แล้วเขียนScriptดังนี้

บรรทัดแรกจะเป็นการระบุตำแหน่งไฟล์ต้นฉบับ

สำหรับไฟล์ avi (ไม่ต้องใส่frame rate)

AVISource("D:\My Videos\video.avi")

สำหรับไฟล์วิดีโออื่นๆที่ไม่ใช่ไฟล์ avi (ต้องกำหนดframe rate)

DirectShowSource("D:\My Videos\video.mov", 29.97)

ตัวเลข 29.97 ให้เปลี่ยนตาม frame rate จริงๆของวิดีโอต้นฉบับ

ถ้าจะไม่เอาเสียงให้ต่อท้ายตัวเลข frame rate ด้วย ,false )

 

หมายเหตุ : รายละเอียดของไฟล์วิดีโอสามารถเปิดดูได้ด้วยโปรแกรม GSpot Codec Information ซึ่งมีมาให้พร้อมในชุด K-lite เรียบร้อยแล้ว (ยังไม่รองรับการลาก-วาง ชื่อไฟล์หรือ directory ภาษาไทย ต้องเปลี่ยนให้เป็นภาษาอังกฤษก่อน)

 

บรรทัดต่อๆมาจะเป็นการกำหนดค่าอื่นๆ จะไม่ใส่เพิ่มก็ได้ถ้าจะคงค่าเดิมจากต้นฉบับไว้

จะยกตัวอย่างแค่ค่าที่ใช้บ่อยๆนะครับ

 

Trim(2000,5000): เอาเฉพาะวิดีโอที่อยู่ในช่วงที่ต้องการ (เอาตั้งแต่frameที่2000-5000)

Crop(4, 70, -6, -72): ตัดขอบออก หน่วยเป็นpixel (ตัดขอบด้านซ้าย4,บน70,ขวา6,ล่าง72)

Letterbox(40,40): ใส่Letterbox [แถบดำ]หน่วยเป็นpixel (บน40,ล่าง40)

Lanczos4Resize(640,360): ปรับขนาด (กว้าง640,สูง360)

ConvertToYV12(): เปลี่ยน Pixel type เป็นแบบYV12

ConvertAudioTo16bit(): เปลี่ยน Audio Sample type เป็นแบบ 16 bits

ConvertFPS(23.97): เปลี่ยน Framrate (frame rate ใหม่ = 23.97)

LoadPlugin(): เรียก Plugin เข้ามาใช้งาน (ใส่ชื่อตัวที่จะเรียกไว้ในวงเล็บ)

 

ตัวอย่าง Script ที่สำเร็จแล้ว :

DirectShowSource("D:\My Videos\video.mov", 29.97)

Lanczos4Resize(640,360)

ConvertToYV12()

 

จากนั้นให้ save เป็น *.avs

-File > Save as > Save as type : All files , File name : ตั้งชื่อ.avs > Save

 

แล้วเราก็จะได้ไฟล์ AviSynth Script มา ทดสอบโดยเอาไปเปิดกับ Media Player Classic ดูว่าใช้ได้รึยัง เป็นตามแบบที่ต้องการรึยัง ถ้าจะแก้ไขก็ให้เอาไปเปิดกับ Notepad แล้วแก้ไขให้พอใจ แล้วSave

ถ้าใครเอาไปเปิดแล้ว error ไม่สามารถเล่นวิดีโอได้ แสดงว่าเราเขียน Script ผิด ให้แก้ไขใหม่จนกว่าจะเปิดเล่นได้

 

 

Encoding

 

รัน lmx264gui.exe (อยู่ใน folder bin)

ไปที่ Bitrate Tab

1.Input file: เรียกไฟล์ avs ที่เราทำไว้เข้ามา

2.Output file : เลือกชนิดไฟล์ผลลัพธ์ มีให้เลือก3แบบคือ MP4,MKV และ RAW(*.264 เป็นวิดีโอเพรียวๆ เอาไปทำอะไรต่อก็ได้) เวลาตั้งชื่อให้เขียนนามสกุลต่อท้ายไปด้วย

3.กำหนดจำนวน Pass ในการ Encode : ยิ่งหลายรอบ ก็จะดีขึ้น แต่ก็จะใช้เวลานานขึ้นเช่นกัน และถ้าเกิน 3 passขึ้นไป ก็แยกความแตกต่างไปค่อยออกแล้ว ดังนั้น 2-3 pass กำลังพอดี

Single pass คือรอบเดียว เร็ว แต่คุณภาพจะแย่กว่ามากๆ ดังนั้นแนะนำให้ทำแบบ Multipass จะดีกว่าเยอะ

การตั้งค่าสำหรับ Multipass

-ถ้าจะencode 2 รอบ ให้ครั้งแรกกำหนดเป็น Multipass First Pass ครั้งที่สองกำหนดเป็นMultipass Nth pass (แต่ถ้ารีบ หรือต้องการลดเวลาที่ใช้ในการแปลงไฟล์ ก็ให้กำหนดรอบแรกเป็น แบบ First Pass (fast) ได้)

-ถ้าจะencode 3 รอบเป็นต้นไป ให้ครั้งแรกกำหนดเป็น Multipass First Pass (fast) ครั้งต่อๆไปกำหนดเป็นMultipass Nth pass

ให้ข้ามไปก่อน เดี๋ยวจะกลับมาพูดถึงอีกที

4.ติ๊ก * Size ถ้าต้องการกำหนดขนาด output file แล้วใส่ตัวเลข (หน่วยเป็น mb)

ถ้าไม่ติ๊ก จะเป็นการกำหนดวิดีโอด้วย Bitrate (หน่วยเป็น kbps) รายละเอียดการคำนวณไปดูได้ที่ การแปลงไฟล์ทำ DVD ด้วย Cinema Craft Encoderหัวข้อย่อย Encoding the Video



ไปที่ Rate Control Tab

1.Scene Cuts :

- Sence Cut Threshold เป็นค่าความไวในการแยกแยะการเปลี่ยนเฟรม ถ้ามีการเปลี่ยนเฟรมเร็วๆมากๆ ก็ให้ใส่ค่าที่สูงขึ้น เช่น ภาพในวิดีโอมีการไหวเร็ว หรือแสงน้อย มืดๆ ทึมๆ แต่ถึงยังไงก็ให้ใส่ค่าอยู่ในช่วง 40-60 จะดีที่สุด ไม่ควรมากหรือน้อยไปกว่านี้

- Min IDR-frame interval ให้ใส่ตัวเลข frame rate ของวิดีโอเราลงไป (ต้องเป็นจำนวนเต็ม)

- Max IDR-frame interval ให้เอา frame rate คูณ 10 แล้วใส่ลงไป

ค่าอื่นๆใน tab นี้ให้ใช้ค่า default เดิม



ไปที่ MB&Frames Tab

1.Partitions : ติ๊กให้หมด

2.B Frames :

- Max consecutive : 3

- Bias : 0

- ติ๊ก * Use as references , Bidirectional ME , Adaptive , Weighted biprediction

- Direct Mode : Auto



ไปที่ More Tab

1.Motion Estimation :

- Partition decision : 7b(RDO on B-frames)

- Method : Uneven Muti-Hexagon

- Range : 16

- Max Ref.frames : 2-5

- ติ๊ก * DCT Decimate , Chroma ME , Mixed Refs

- เอาที่ติ๊ก Fast P Skip ออก

2.Misc. options :

- Sample AR : คือ Aspect Ratio แนะนำใส่ 1:1 ไว้ก่อน

- Threads : ใส่จำนวนตามCPU ของเรา เช่น Single core-ใส่1 , Single core with HT(Hyper Treading) หรือ Duo Core ใส่ 2 , Duo Core with HT หรือ Quad core ใส่ 4 เป็นต้น

- ติ๊ก * CABAC > Trellis : 2 , Deblocking fiter

 

3.Audio Setting :

ติ๊ก * Audio แล้วเลือก Encoder ที่จะใช้ แต่ถ้าจะไม่เอาเสียง หรือ จะทำเสียงใส่เองอีกต่างหาก ก็ไม่ต้องติ๊ก

- CT AAC คือใช้ aacPlus Encoder

- Nero คือใช้ Nero Digital Audio โดยจะมีย่อยลงไปอีกหลายโหมด

แบ่งเป็น3โหมดคือ Nero เฉยๆ คือ เป็นการเข้ารหัสแบบ CBR (Constance Bitrate)

Nero (ABR) คือ เข้ารหัสแบบ ABR (Average Bitrate)

Nero (Q) คือ เข้ารหัส โดยยึดตาม Quality

และในแต่ล่ะอันที่มี sse2 ต่อท้ายก็คือ ใช้สำหรับ CPU ที่มีเทคโนโลยี SSE2

สรุปแล้ว แนะนำให้ใช้ Nero (ABR) SSE2



หมายเหตุ : เรื่องคุณสมบัติของ CPU ทั้งหลาย ถ้าไม่รู้ ให้ใช้โปรแกรม CPU-Z เช็คดูครับ (freeware)

 

ช่องถัดมา จะเป็นตัวเลือกว่าจะใช้โปรแกรมอะไรในการรวมไฟล์ Video กับ Audio ก็ให้เลือกให้ตรงกับประเภทไฟล์ที่เราทำ เช่น ทำเป็น mp4 ก็ใช้ mp4box

 

แต่ถ้าไม่อยากเสียใจทีหลัง แนะนำให้เลือก No mux ก็คือ ไม่ต้องรวมให้ เราก็จะได้ไฟล์มา2ไฟล์ เป็น ภาพกับเสียง แล้วค่อยเอาไปรวมกันเอง เพราะถ้าหากเลือกให้มันรวมให้เลย เวลามีปัญหาที่ทำให้ไม่สามารถรวมไฟล์ได้ขึ้นมา จะกลายเป็นว่าเราเสียเวลาแปลงไฟล์นานแทบตาย แต่พอมันรวมไม่ได้ มันก็ลบหายไปหมดเลย เสียเวลาเปล่า ดังนั้น เอามารวมกันเองจะปลอดภัยที่สุด แต่สำหรับ mp4 ไม่ค่อยมีปัญหาจะให้มันรวมให้เลยก็ได้ แต่ mkv เอามารวมกันเองดีกว่า

 

ดังนั้น ยังไงก็ทำเป็น mp4 ไปเหอะ ถ้าจะให้สอนรวมเป็น mkv อีกมันยาวอ่ะ ขึ้เกียจ 555 งั้นเอาสั้นๆนะ ก็คือให้ใช้ mkvmerge (MKVtoolnix > mmg.exe) แล้วadd video กับ audio ที่เราทำได้เข้าไป แล้วก็Mux มันออกมา เสร็จ

 

1.กลับไปหน้าแรก คือ Bitrate Tab ไปกำหนดPass

ตรงนี้อ่านทำความเข้าใจให้ดี และกลับไปอ่านข้อ 3. ด้วย

เลือกเป็น First Pass แล้วกด Add จากนั้น กลับไปโหลด Input file เข้ามาใหม่ แล้วตั้งค่า Output file ให้เหมือนเดิม(ระวังเรื่องนามสกุล ให้เหมือนเดิมนะ)แล้วเลือกตั้งเป็น Passต่อไป (Nth Pass) แล้วก็กด Add เข้าไปอีกที เป็นอันเสร็จรอบสอง

ถ้าจะทำรอบ3 หรือรอบต่อๆไปก็ทำเหมือนเดิม คือกลับไปโหลดInput file ตั้งค่า Output แล้วเลือกเป็น Nth pass แล้วก็กด Add เข้าไปอีก

List ที่เรา Add เข้าไป จะไปโผล่ที่ tab Job

2.ไปที่ Job Tab เช็คดูความเรียบร้อย ถ้าต้องการตั้งให้Shutdownหลังจากแปลงไฟล์เสร็จ ให้กดปุ่ม Shut เพิ่มเข้าไป จากนั้นเริ่มEncode โดยกดปุ่ม Start รอจนเสร็จ (นานมากกกกกก *[]*)

เสร็จแล้วก็เปิดชื่นชมผลงานกันได้เลย จบแล้วครับ...

 

...กว่าจะเสร็จ ยาวจริงๆ...

Comment



smilebig smileopen-mounthed smileconfused smilesad smileangry smiletonguequestionembarrassedsurprised smilewinkdouble winkcry

Tweet

โอ้ว เยี่ยมยอด....ยังมะได้อ่าน แต่เดี๋ยวจะมาอ่านครับ....
แฟนพันธ์แท้เว็บนี้เลย....
ขอบคุณครับ

#1 By เดียร์ (125.24.4.82) on 2007-08-20 22:29

รอคอยอยู่นานแล้ว > <" ขอบคุณมากครับ
พรุ่งนี้มะรืนจะลองทำดูครับ แล้วจะเอาไฟล์มาให้ดูกัน

#2 By goemon on 2007-08-21 01:10

สุดยอดครับพี่ ผมทำได้แล้ว ขอบคุณครับ

#3 By Boy (202.28.47.11) on 2007-08-21 01:28

1. ตามหลักแล้ว H.264 เมื่อเทียบกับ Xvid หรือ Codec อื่นๆแล้ว ที่ Bitrate เท่ากัน ขนาดไฟล์จะเล็กกว่าหรือเปล่าครับ หรือว่าพอๆกัน แต่คุณภาพดีกว่า.....เพราะว่าผมทำออกมาแล้ว เทียบกับ Xvid ที่ทำจาก Super ขนาดไม่ต่างกันเท่าไหร่เลยครับ....หรือว่าปกติถ้าจะ Encode เป้น H.264 ให้เลือก Bitrate ต่ำๆ เพราะคุณภาพมันดีกว่ามากอยู่แล้วครับ.....รบกวนชี้แจงแถลงไขนิดนึงครับ ขอบคุณครับ

2. โปรแกรมที่ใช้สำหรับตัดต่อ ใส่ Effect ต่างๆนี่ ใช้โปรแกรมอะไรเหรอครับ แล้วที่เหมือนกับในทีวีเลยอะครับเค้าใช้โปรแกรมอะไรทำกันเหรอครับ ขอบคุณครับ

#4 By เดียร์ (125.24.4.82) on 2007-08-21 07:39

พอดีผม Encode ออกมาแล้ว มันมี interlaced อะครับ จะ deinterlace ใช้ Filter อะไรดีครับ ต้อง download เิ่พิ่ิมหรือเปล่ารับ ขอบคุณครับ

#5 By เดียร์ (125.24.4.82) on 2007-08-21 08:40

ตอนนี้ผมใช้ SmoothDeinterlacer.dll อะครับ น่าจะดีสุดเปล่าครับ

#6 By เดียร์ (125.24.4.82) on 2007-08-21 09:31

#4:
1.ไม่ใช่ครับ... bitrateเท่ากัน ขนาดไฟล์ก็เท่ากันครับ (แต่ขนาดไฟล์อาจต่างกันเล็กน้อยถ้าใช้containerต่างกัน) เพราะมันมาจาก kilobits per sec เพียงแต่ว่าที่bitrateเท่ากันใครจะคุณภาพดีกว่าครับ
และถ้าbitrateต่ำมากๆๆๆเกิน ก็แย่เหมือนกันครับ จากตัวอย่างคราวก่อนผมใช้ไม่ถึง400ดี ซึ่งถือว่าต่ำมากๆ เพราะอยากจะให้เห็นประสิทธิภาพและความแตกต่างเยอะๆ
ในความเป็นจริงไม่ต้องให้ต่ำมากถึงขนาดนั้นครับ เอาเป็นว่า ให้เต็มที่เท่าที่จะอำนวยครับ เช่น ripหนังลงCD ก็มีเนื้อที่ให้ 700mbกับหนัง2ชั่วโมง เป็นต้น เราก็ใช้ให้คุ้มที่สุดครับ
2. Adobe Premiere Pro,Sony Vegas,Ulead MediaStudio Pro,Canopus EDIUS เป็นต้น
#5-6:
ใช้ Smart Deinterlacer จะดีกว่าครับ
http://neuron2.net/smart/smart.html

#7 By ฮาโอ on 2007-08-21 16:54

1. Smart Deinterlacer เป็น Filter สำหรับ VirtualDubMod หนิครับ แล้วถ้าสำหรับ AviSynth หละครับ ใช้อะไรครับ
2. Codec อะไรดีรองลงมาจาก H.264 เหรอครับ ขณะนี้
3. VirtualDubMod ในการตั้งค่าของ Xvid อะครับ ถ้าผมตั้งแบบสำหรับ Bitrate มากกว่า 1500 หมดเลยทุก Bitrate จะเป็นไรเปล่าครับ

ขอบคุณครับ

#8 By เดียร์ (125.24.19.127) on 2007-08-21 22:39

1. เปลี่ยนนามสกุลจาก mp4 เป็น avi เฉยๆเลยได้เปล่าครับ หลังจากแปลงเสร็จ
2. จะเขียน script avs เพื่อเปิดไฟล์ mp4 ที่ encode จาก Leiming's x264 ยังไงเหรอครับ
3. ถ้าจะรวม Video กับ Audio VirtualDubMod ได้เปล่าครับ โดยใส่คำสั่งไปที่ avs อะครับ

ขอบคุณอีกครั้งครับ

#9 By เดียร์ (125.24.19.127) on 2007-08-22 07:15

ผมลองโปรแกรม DVD-Decrypter แล้วรู้สึกว่า ไม่เห็นจะแตกต่างจากการ Copy File ธรรมดาลง HDD เลยอะครับ มันมีอะไรพิเศษเหรอครับ

#10 By เดียร์ (125.24.19.127) on 2007-08-22 08:57

อีกนิดนึงครับ
พอดีผมถ่าย VDO จากกล้อง Digital ของผมครับ พอ copy ลงเครื่อง เป้นไฟล์ .MOV อะครับ ทีนี้ ถ้าดูว่า Encode จากอะไร ดูจาก Link ที่ให้นะครับ ไฟล์นี้จะแปลงเป็น avi ยังไงอะครับ ใช้ AviSynth ยังไงอ่า ต้องลงอะไรเพิ่มหรือเปล่าครับ ใช้แบบ DirectShowSource เฉยๆไม่ได้เลยอะครับ เลยจะนำเข้า VirtualDubMod หรือ LM x264 ไม่ได้เลยอะครับ

http://img.icez.net/i/dv/picture1.jpg
http://img.icez.net/i/mr/picture2.jpg

#11 By เดียร์ (125.24.25.32) on 2007-08-22 15:41

#8 :
1. ใช่ครับ ก็คือ ถ้าอยากใช้ก็เอาเข้าVirtualDubก่อนไปใส่filterนี้ แล้วส่งออกเป็นframeserverอีกทีครับ แต่ถ้าไม่อยากยุ่งยากก็ใช้แบบเดิมก็ได้ครับ
2. ถ้าให้พิจารณาจากหลายๆองค์ประกอบ ก็คงต้องเป็น XviD ครับ
3. ไม่เป็นไรครับ
#9:
1. เปลี่ยนได้ครับ แต่ก็จะกลายเป็นแค่หลอกนามสกุลเฉยๆ ไม่น่าเปลี่ยนครับเพราะไม่มีประโยชน์
2. ก็ใช้DirectShowSourceเหมือนเดิมครับ
3. ไม่ต้องใช้Scriptหรอกครับ VirtualDubทำได้อยู่แล้ว โดยใส่ทั้งสองเข้าไป แล้วเลือกเป็น Direct Stream Copy ทั้งคู่ครับ
#10: มันกำหนดได้ว่าจะเอาอะไรมั่งครับ
#11: ในเครื่องได้ลง Quicktime รึยังครับ แล้ววิดีโอที่ถ่ายมาเปิดดูในเครื่องได้รึเปล่าครับ(ใช้ Media Classic เปิดได้รึเปล่า) ถ้ายังไม่ได้อีก ให้ลองใช้ Ulead เปิดแล้วส่งเป็น frameserver ออกมาครับ

#12 By ฮาโอ on 2007-08-22 22:32

ได้แล้วคตรับ ผมสงสัยว่า พอรวมไฟล์กันแล้ว ถ้าใช้ MKVToolNix สุดท้ายไฟล์จะออกมา .mkv ถ้าหากว่าอยากจะได้ ไฟล์สุดท้ายที่รวมมาเป็น .avi อะครับ ทำไงอ่า....พอดีเคยเห็นที่เค้าให้โหลดหนัง จะเป็นไฟล์ .avi อะครับ

#13 By เดียร์ (125.24.25.32) on 2007-08-22 22:58

ผมใช้ VirtualDubMod แปลง H.264 ได้แล้วครับ เป็นไฟล์ .avi แล้ว แต่ผมยังสงสัยอยู่เรื่องนึงครับ
1. VirtualDubMod สามารถแปลงไฟล์เป็นนามสกุลอื่นหรือเปล่าครับ นอกจาก avi
2. ConvertToYV12 กับ ConvertToYUY2 ต่างกันอย่างไร แล้วจะรู้ได้อย่างไรว่า ตอนไหนควรใช้ ตอนไหนไม่จำเป็นต้องใช้
ขอบคุณครับ

#14 By เดียร์ (125.24.25.32) on 2007-08-23 13:45

#13: lmx264ทำออกมาเป็นRAWแล้วใช้muxer avc2avi ในMeGUIครับ จะใช้MeGUIทั้งหมดเลยก็ได้ หรือจะใช้VirtualDubทำเลยก็ได้ครับ ทำได้หลากหลายวิธีครับ แล้วแต่จะประยุกต์
#14: 1.ได้ครับ คือ avi mkv และ ogm ; 2.ใช้ YV12 ให้หมดเลยครับ

#15 By ฮาโอ on 2007-08-23 19:56

1. มีโปรแกรมสำหรับเผลี่ยน Container หรือเปล่าครับ อย่างเช่นเปลี่ยนจาก mp4 เป็น avi โดยที่ไม่ต้อง Encode อะครับ
2. มีโปรแกรมสำหรับดึงเอาเฉพาะส่วน Audio Codec มาจาก ไฟล์ Video เปล่าครับ ทั้งแบบ Direct Stream Copy แล้วก็แบบแปลง

#16 By เดียร์ (125.24.10.71) on 2007-08-24 17:20

#16: YAMB - create, split, join, multiplex, demultiplex MP4 fileshttp://yamb.unite-video.com/Yamb-2.0.0.7.zip
หรือ Total video converter > advance tools > ...

#17 By ฮาโอ on 2007-08-24 17:42

รู้สึกว่าผมจะถามเยอะสุดเลยเมิ้งครับเนี่ย....^__^
1. Lanczos4Resize กับ LanczosResize ต่างกันอย่างไรเหรอครับ ควรใช้อันไหน
2. ที่ BitRate เท่ากัน ถ้า Encode โดยกำหนด Size ที่ต่างกันจาก Function ข้อ 1. ขนาดไฟล์จะต่างกันด้วยหรือเปล่าครับ
ขอบคุณครับ

#18 By เดียร์ (125.24.1.22) on 2007-08-24 22:56

#18:
1.ต่างกันที่รูปแบบอัลกอลิทึมที่ใช้ครับ ไม่ต่างกันมาก แต่ใช้ 4 จะดีกว่า
2.ขนาดถูกกำหนดด้วยbitrate ดังนั้นถ้าbitrateเท่ากัน ขนาดย่อมเท่ากันครับ

#19 By ฮาโอ on 2007-08-25 20:00

เวบไซต์ คุณดี มากๆเลยครับ ขอบคุณมากครับ กับความรู้ที่นำมาแบ่งปันกัน

ไว้ถ้ามีเวลา จะมาอ่านเรื่อยๆ นะครับ
เป็นกำลังใจให้ ขอบบคุณ ครับ

#20 By ิballoon113 (58.9.13.152) on 2007-08-26 03:27

#21: ขอบคุณครับสำหรับกำลังใจ

#21 By ฮาโอ on 2007-08-26 11:06

1. ตามหลักการของ Nth Pass หมายความว่า ยิ่ง Pass มากขึ้น จะทำให้ File มีขนาดเล็กลงหรือเปล่าครับ
2. Pass 1 ที่ทำจะไม่มีไฟล์ออกมา มีแต่ Stat file.. ทีนี้ พอ Pass ที่ 2 ทำเสร็จแล้ว พรุ่งนี้ค่อยมาทำต่อ Pass ที่ 3 จะได้หรือเปล่าครับ
ขอบคุณครับ

#22 By เดียร์ (125.24.18.237) on 2007-08-26 13:58

#22: 1.ไม่ใช่ครับ จะได้ขนาดแน่นอนตั้งแต่passที่สองแล้วครับ
2. ได้ครับ แต่ตั้งให้มันshuntdownเองเลยก็ได้ครับ ปล่อยมันไว้เลย เราำก็ไปนอนได้ครับ

#23 By ฮาโอ on 2007-08-26 15:46

============================================================

ให้เอาโปรแกรมตัวที่2-6 ไปไว้ในfolder bin ของ lmx264gui แล้วก็ install AviSynth กับ K-lite (2อันนี้ใครลงแล้วก็ไม่ต้อง) ใครไม่อยากยุ่งยาก หรือกลัวทำไม่ถูก ผมได้จัด1-5รวมเป็นชุดไว้ให้แล้ว โหลดไปใช้ได้เลย ส่วนmkvmerge เอาไปรวมใน mkvtoolnix (สำหรับคนที่จะทำเป็น *.mkv)


Download Leiming

#24 By dindam (124.121.5.45) on 2007-09-03 23:23

อยากทราบว่า จะทราบได้อย่างไรว่าไฟล์หนังที่เรามีเป็น Colorspace แบบไหนอะครับ
YUY2 YV12 RGB ????
ต้องใช้โปรแกรมอะไรเหรอครับ ขอบคุณครับ

#25 By เดียร์ (125.24.22.59) on 2007-09-04 12:58

Log for job job6

avis [info]: 640x480 @ 29.97 fps (252 frames)
x264 [info]: using cpu capabilities: MMX MMXEXT SSE SSE2
x264 [warning]: VBV maxrate specified, but no bufsize.
x264 [info]: slice I:7 Avg QP:21.71 size: 17947
x264 [info]: slice P:74 Avg QP:22.65 size: 7885
x264 [info]: slice B:171 Avg QP:24.40 size: 2616
x264 [info]: mb I I16..4: 26.7% 0.0% 73.3%
x264 [info]: mb P I16..4: 14.4% 0.0% 0.0% P16..4: 74.8% 0.0% 0.0% 0.0% 0.0% skip:10.8%
x264 [info]: mb B I16..4: 0.7% 0.0% 0.0% B16..8: 29.8% 0.0% 0.0% direct:21.2% skip:48.4%
x264 [info]: final ratefactor: 23.04
x264 [info]: direct mvs spatial:99.4% temporal:0.6%
x264 [info]: kb/s:1100.2

encoded 252 frames, 16.87 fps, 1101.31 kb/s

กับ

Log for job job9

avis [info]: 640x480 @ 29.97 fps (252 frames)
x264 [info]: using cpu capabilities: MMX MMXEXT SSE SSE2
x264 [warning]: VBV maxrate specified, but no bufsize.
x264 [info]: slice I:7 Avg QP:29.29 size: 14789
x264 [info]: slice P:74 Avg QP:31.74 size: 7159
x264 [info]: slice B:171 Avg QP:33.35 size: 3063
x264 [info]: mb I I16..4: 46.6% 0.0% 53.4%
x264 [info]: mb P I16..4: 18.7% 0.0% 0.0% P16..4: 74.7% 0.0% 0.0% 0.0% 0.0% skip: 6.6%
x264 [info]: mb B I16..4: 0.6% 0.0% 0.0% B16..8: 23.9% 0.0% 0.0% direct:40.5% skip:34.9%
x264 [info]: final ratefactor: 32.11
x264 [info]: direct mvs spatial:99.4% temporal:0.6%
x264 [info]: kb/s:1100.9

encoded 252 frames, 16.41 fps, 1102.03 kb/s

เปรียบเทียบยังไงเหรอครับ อันไหนดีกว่าเหรอครับ พอดีสองอันข้างบนนี้ ผม Encode โดยใช้ custom quantizer matrix ต่างกันอะครับ พยายามจะสังเกตข้อแตกต่าง stats ข้างบนเป็นของ First Pass นะครับ

อีกข้อครับ ผมสังเกตว่า ในการ Encode Xvid นั้น ถ้าทำแบบ 2 pass, pass แรกจะ create stats file ก่อน ซึ่งตอน pass แรกนี้ ยังไม่สามารถกำหนด Bitrate ได้ แต่เราจะนำ Bitrate ที่ได้จาก stats ไฟล์นี้ มาใช้ใน Pass 2 ใช่เปล่าครับ (จะได้ไม่กำหนด Bitrate ฟุ่มเฟือยจนเกินไป) แต่ของ x264 นั้น ทำแบบ Xvid ไม่ได้เหรอครับ ของ x264 นั้นสามารถกำหนด Bitrate ได้ตั้งแต่ First Pass เลย ดังนั้นเราจะทราบได้อย่างไรว่า custom quantizer matrix ที่เราใช้นั้น เหมาะสมกับจะใช้ที่ Bitrate เท่าไหร่หละครับ

ขอบคุณครับ (ถ้าหากผมเข้าใจตรงไหนผิด โปรดแนะนำด้วยครับ)

#26 By เดียร์ (125.24.22.59) on 2007-09-05 10:29

#24 : ใช้ได้แล้วครับ โหลดลิ้งค์เดิมเลยครับ แต่สำหรับFirefoxอาจมีปัญหานิดหน่อย ให้

ใช้IEเปิดนะครับ
แล้วก็ accPlus Encoder ของWinampไม่ต้องใช้ก็ได้ครับ ใช้ของNeroดีกว่าครับ มันใช้

แทนกันได้ เลือกเอาอย่างใดอย่างหนึ่งก็พอครับ
#25 : ให้เขียนAviSynth Script แล้วให้เพิ่มบรรทัดนี้เข้าไปครับ
info()
จากนั้นให้เอาscriptนั้นไปเปิดกับMedia Player Classicครับ แล้วก็จะมีรายละเอียดต่างๆ

มากมายขึ้นมาให้เราครับ (รวมทั้งColorSpaceด้วย)
#26 : การตัดสินว่าอันไหนดีกว่ากันนั้นเป็นที่ถกเถียงกันอย่างมากครับ และยังหาข้อยุติไม่

ได้ครับ ยากที่จะตัดสินได้ด้วยค่าเป็นตัวเลข(เช่น Qf) เพราะจำนวนไม่น้อยที่มักจะขัดกับ

สายตาอย่างชัดเจน ดังนั้น หลักสากลเลยก็คือ ให้ใช้ตาของเรานี่แหละครับตัดสิน ซึ่ง

จริงๆแล้วความแตกต่างนั้นอาจจะน้อยมากๆๆๆ ซึ่งผมว่าอาจจะไม่คุ้มเท่าไหร่นักหากจะ

พยายามหาข้อยุติด้วยตัวเอง ดังนั้น การยึดตามคำแนะนำของผู้พัฒนาmatrixนั้นๆ และคำ

วิจารณ์จากคนอื่นๆ น่าจะเป็นทางออกที่น่าสนใจกว่าครับ เพราะผ่านการทดสอบมาแล้ว

ด้วยผู้เชี่ยวชาญและผู้ทดสอบจากทั่วโลก
x264ก็มีstateเหมือนกันครับ ไปดูที่folderของโปรแกรมครับ ปรกติมันจะเก็บอยู่ที่นั้น(เรา

จะเลือกเก็บไว้ที่อื่นก็ได้) เปิดLM x264 gui ดูซิครับ มีทั้ง State และ Logfile ครับ

ขออภัยที่มาตอบช้า ไม่ค่อยว่างครับ หลายๆวันก็แวะมาดุทีนึง
ปล. สงสัยคุณเดียร์กะเอาให้เทพกันไปเลย 555

#27 By ฮาโอ on 2007-09-06 17:41

ขอบคุณงับ....ไม่ถึงขนาดนั้นหรอกครับ อยากมีความรู้ประดีบตัวเท่านั้นเอง....^^

#28 By เดียร์ (125.24.9.137) on 2007-09-07 12:05

ทำแล้ว แต่ไม่มีเสียงเลย - -


ทำไงให้มีเสียงหว่า ????\



ตอบทีครับ

#29 By Robin (202.28.27.6 /10.40.82.154) on 2007-09-10 13:14

#29 : เช็คการsettingตรงAudioและMuxerให้ดีครับ ถ้าใช้packที่ผมให้ไว้โหลดไม่มีปัญหาครับ

#30 By ฮาโอ on 2007-09-10 14:21

ติดตามเป็นประจำขอเป็นกำลังให้สำหรับความรู้ที่สรรหามาให้...ขอบคุณ

#31 By Ch (203.146.63.185) on 2007-09-13 17:29

ลองทำดูแล้วไม่มีเสียงค่ะ
ตรง pack ข้างบนก็โหลดไม่ได้แล้ว
ถ้ายังไงรบกวนช่วยอัพให้ใหม่ได้มั้ยคะ

ขอบคุณค่ะ

#32 By gocchi (58.8.88.208) on 2007-10-17 17:36

#32: แก้ไขลิ้งค์โหลดให้แล้วครับ

#33 By ฮาโอ on 2007-10-17 19:41

ไปลองทำได้แล้วค่ะ O.o

จาก 112mb ลองปรับเล่นๆจนได้ 17mb บทความมีประโยชมากเลยค่ะ ไว้มีอะไรเพิ่มเติมจะมาบอกมาถามนะคะbig smile big smile big smile

#34 By MM (125.25.74.49) on 2007-11-25 11:23

แหล่มฮะ แต่ว่า
อยากให้สอนการเขียน AviSynth script แบบละเอียดหน่อยครับ
แล้วก็ plugin ด้วยอ่ะครับพอจะได้มั๊ยหว่า

#35 By pao (203.154.94.91) on 2007-11-29 01:02

ถ้าผมจะเอาไฟล์ .d2v มาEnocode ผมต้องเขียนสคริปยังไงอ่ะครับลองมั่วๆหลายแบบแล่ะ พอลองเอาไปเปิดใน MPC มันออกแต่เสียงภาพไม่ออกอ่ะครับ รบกวนด้วยนะครับ

#36 By kanomjeen (124.121.61.214) on 2007-12-04 08:33

ขอบคุณที่มีเวปไซต์ดีดีอย่างนี้ ผมขอมาร่วมแชร์ความรู้ด้วยได้มั้ยครับ อยากมีส่วนร่วมพัฒนาให้คนไทยเราเก่งขึ้นด้วย

#37 By nano (203.151.242.215) on 2007-12-04 17:18

#36: เขียนแบบนี้ครับ
Mpeg2Source("D:\video.d2v")

#37 : ได้เลยครับคุณ nano ยินดีเป็นอย่างยิ่งครับ
surprised smile

#38 By ฮาโอ (61.19.231.4) on 2007-12-04 17:46

{ต่อจากข้างบน}
ผมจะทำการอัพเดทใส่ในตัวเนื้อหาให้เลยครับ แบบนี้ครับ
http://advance.exteen.com/20070519/winamp-trick1

#39 By ฮาโอ on 2007-12-04 17:59

หากต้องการใส่ subtitle จากไฟล์ซับที่เป็น .ass เข้าไปด้วย จะทำอย่างไรตอนเขียน script avs เหรอครับ

ขอบคุณครับ

#40 By zkizzikz (124.120.24.207) on 2007-12-07 15:32

ขอโทษนะครับ คำถามที่แล้วผมทำได้ละฮะ
แต่พอผมทำแบบ no mux ออกมาแล้วได้แต่ไฟล์ภาพครับ ไม่มีไฟล์เสียง ผมต้องทำอย่างไรถึงจะได้ไฟล์เสียงออกมาครับ

ตั้งใจจะเอาไป mux ต่อเป็น mkv น่ะครับ

#41 By zkizzikz (124.120.26.20) on 2007-12-07 23:33

#41 : เลือกเป็น audio only ครับ

#42 By ฮาโอ on 2007-12-08 19:37

มีคำถามเพิ่มเติมครับ
1. audio only ต้องทำเป็น single pass หรือ multipass-nth pass เหรอครับ ผมเลือกแล้วมันไม่ยอมทำให้เลย ไม่รู้เป็นอะไรฮะ
2. การทำ subtitle ให้ออกมาคมชัดน่ะครับ คือผม mux subtitle เข้าไปทีหลังรวมกับไฟล์ resolution 704x400 แล้วพอขยายเต็มจอ 1280 ของผม
ปรากฏว่าตัว subtitle ที่เป็นอักษรน่ะครับ แตกจนสังเกตเห็นได้ชัด ขณะที่ผมดูผลงาน subtitle ของ fansub ค่ายอื่นๆซึ่งทำ 704x400 แล้วมาขยาย
เต็มจอเช่นกันแต่กลับไม่แตกฮะ คมชัดเช่นเดิม ทีนี้คำถามก็คือจะทำอย่างไรให้ subtitle ไม่แตกครับ ต้องใส่ filter อะไรลงไปไหม
หรือเป็นปัญหาที่ต้องแก้ตั้งแต่การเขียนไฟล์ subtitle .ass ครับ

ขอบคุณครับ

#43 By zkizzikz (124.120.25.126) on 2007-12-08 22:05

#43 : 1.ไม่ต้องเลือกpassครับ เพราะpassมันเป็นการตั้งค่าของวิดีโอครับ นั้นก็คือไม่ต้องไปสนมันครับจะเป็นอะไรก็ได้
2.ปรกติก็ไม่ต้องใส่filterอะไรนะครับ นอกจากการจะทำeffectพิเศษ ช่วยcaptureภาพมาให้ดูหน่อยซิครับว่ามันแตกยังไง หรือว่าไอ้ที่เหลี่ยมๆนี่มันเป็นที่fontมันเองรึเปล่าครับ

#44 By ฮาโอ on 2007-12-09 01:18

อ่าขอบคุณสำหรับสคริปการเขียนแบบ .d2v มากเลยครับแต่ผมลองไปเปิดที่ MPC มันมีแต่ภาพแต่ไม่มีเสียงอ่ะครับ เราต้องเขียนสคริปเอาเสียงเข้ามาในสคริป AVS หรือเปล่าครับ เพราะหลังจากเราทำมาไฟล์เป็น .d2v มันจะแยกเสียงมาให้เป็น .wave อีก 1 ไฟล์อ่ะครับ

ถ้าใช้วิธีอื่นช่วยแนะนำหน่อยนะครับหรือถ้าใช้โดยการเขียนสคริป AVS ก็ขอรบกวนอีกทีนึงนะครับ

#45 By kanomjeen (124.121.56.17) on 2007-12-10 00:17

#45 : เขียนแบบนี้ครับ
video=MPEG2Source("D:\my_video.d2v")
audio=WAVSource("D:\my_audio.wav")
AudioDub(video,audio)

#46 By ฮาโอ on 2007-12-12 14:21

มีประโยชน์มากๆ ครับ และอยากทราบวิธีการแปลง H.264/MPEG-4 AVC (Hi-Def) to DVD ด้วยครับ
ขอบคุณครับ

#47 By ฉัตร (58.8.176.93) on 2007-12-14 22:04

#47: ถ้าcontrainerเป็น.mp4หรือ.avi ใช้พวก ProCoder,TMPGEnc ทำได้เลยครับ

#48 By ฮาโอ on 2007-12-16 10:06

สุดยอดมากเลยท่าน ฮาโอ
ได้ความรู้มากมายจากเว็บนี้ เป็นพระคุณจิงๆ ฮับ




* I * L * o * v * e * Y * o * u * H * a * o *

#49 By ~Tucky~ on 2008-01-11 11:53

คือผมโลดการ์ตูนมาจากเน็ต 2 เรื่องอ่าครับ
chobit กับ Kanon ขนาดเล็กมากประมาณ 10 ต่อ 1 นาทีเลยแต่ถาพชัดมากขนาดดีวีดี เลยแทบแยกไม่ออก พอตรวจสอบดู chobit เค้า Encode ด้วย Xvid และ Kanon Encode ด้วย Divx คืออยากถามหน่อยว่ามันตัวเดียวกับ H264 ป่าวครับ แล้วถ้าไม่ใช้ เค้า Encode กันยังไงหรอผมลองมาจะท้อแท้แล้วยังไม่ได้ครึ่งหนึ่งของเค้าเลย ขอบคุณครับ
ลืมบอก SubThai นะ อิอิsad smile

#50 By กิต (202.129.13.4) on 2008-01-14 15:38