Pages

4/04/2011

Converting 3gp Video for Facebook on Linux

วันนี้ในที่สุดก็หาทาง convert video จากมือถือลง facebook ได้สำเร็จ
หลังจากพยายามมานาน  ไม่ว่ากี่วีดีโอก็เอามาลงfacebook ไม่เคยได้เลย
เรื่องของเรื่องคือ มือถือปัจจุบันนี่ O2 Atom Life ดันอัดวีดีโอได้แค่เป็นแบบ .3gp
ซึ่งถ้าปกติแล้ว ก็ไม่ได้น่าจะมีปัญหา

แต่! ไฟล์ .3gp นี่ Frame rate ที่ 6.7 fps (frame per second) !!

สำหรับคนที่ไม่รู้ ระบบทีวีทั่วไป จะมีการแสดงผลอยู่ที่ 24fps(dvd) หรือ 25fps(PAL) หรือ 30fps(NTSC)
แต่ไฟล์6.7 fps เนี่ย  มันก็อัพโหลดได้ เพราะ facebook มันรองรับการแสดงผลของวีดีโอที่มี frame rate < 30fps (ถ้าเกินมันจะ re-encode ให้เหลือ 30fps)

แต่ถ้าต่ำกว่าล่ะ  อันนี้ไม่มีบอก แต่ดูเหมือนกับว่ามันก็จะ encode ให้เองอีกเหมือนกัน เพื่อให้มี frame rate สูงขึ้น

ไอ้เรื่องfpsสูงแล้วลงมาต่ำเนี่ยมันเฉยๆ ไม่มีปัญหา  ..  แต่พอเอาต่ำขึ้นไปสูงนี่สิ ห่วยได้ใจจริงๆ
ยิ่งถ้าระบบการเข้ารหัสวีดีโอไม่ดี ไม่มีการ re-sampling แล้ว ภาพมันก็ออกมามั่วซั่วมากๆ ดูไม่ออกเลยว่าเป็นภาพอะไร


โอเค บ่นพอละ เข้าเรื่อง
หลังจากลองหามาหลายโปรแกรม  ในที่สุดก็เจอโปรแกรมที่ชื่อว่า avidemux  ซึ่งมันมีระบบแปลง re-sampling ภาพ เพื่อเปลี่ยน frame rate ด้วย  วิธีการใช้ก็คือ

เปิด Avidemux มา  (อันนี้ใช้ avidemux-qt เลยมีหน้าจอให้เล่น)
ทางด้านซ้ายมือจะเป็น รายการว่า อยากให้ output ออกมาเป็นอะไร
Facebook แนะนำว่าให้เป็น H.264 เราก็เลยตั้ง MP4 ซะเลย
แล้วเสียงก็เอาเป็น AAC ละกัน  และให้ไฟล์ออกมาเป็นชนิด MP4

แต่ความจริงแล้ว ตั้งอะไรก็ได้แหละ  ประเด็นสำคัญไม่ได้อยู่ตรงนี้
ประเด็นสำคัญของblog อันนี้คือการ เปลีย่น frame rate ของวีดีโอนี้มากกว่า
วิธีทำก็คือ
เข้าไปที่ Video --> Filters ...   จะได้หน้าfiltersขึ้นมา
แล้วเราก็ double-click เลือก resample fps และตั้งให้เป็น 25 (หรือ 30fps ก็ได้)
ก็เสร็จแล้วก็ กด OK และ Close เลย    จบการเปลี่ยน frame rate ของวีดีโอ

ส่วนเสียง  เนื่องจาก Facebook ขอให้เสียงเป็น 22050 หรือ 44100 Hz (ถ้าไม่ใช่สองอันนี้ จะโดนfacebookแปลงเสียงให้  .. อีกแล้ว)
ไอ้เสียงเราก็ดันอัดมา ดันแค่ 8000 Hz mono เอง   เดี๋ยวเป็นเรื่องอีกแน่ๆ 
re-sample ไว้ก่อนเพื่อความปลอดภัยดีกว่า

ก็เหมือนเดิม เข้า Audio-->Filters  แล้วก็เลือก resampling ให้เป็น 44100
อาจจะปรับตรง Gain ด้วยก็ได้ เพื่อให้เสียงดังเหมาะสม

พอตั้งค่าเสร็จแล้ว  ก็ถึงเวลา Encode
น่าแปลกที่โปรแกรมนี้ ดันไม่มีปุ่มให้กดคำว่า Encode หรือว่าปุ่มอะไรอยู่หน้าจอหลักเลย
วิธีการencode เพื่อให้ได้ไฟล์ใหม่  ต้องเข้าเมนู File --> Save --> Save Video
แล้วก็จัดการตั้งชื่อไฟล์ตามต้องการ แล้วก็จะได้เข้าสู่โหมดการ encoding
เสร็จแล้ว ก็เสร็จเรียบร้อยละ พร้อมเอาขึ้น facebook / youtube :D

No comments:

Post a Comment