วันพฤหัสบดีที่ 11 มิถุนายน พ.ศ. 2552

ปรับเวลา subtitle

ปกติช่วงเวลาที่ผมอยู่เฝ้าร้าน ผมจะนั่งดู youtube, tvonline และหนังที่ดาวน์โหลดมา คืนวันก่อนผมนั่งดู kill bill vol.1 จากช่อง movie one ผมชอบหนังหลาย ๆ เรื่องของ quentin tarantino เช่น เรื่อง from dust till down ทั้ง 3 ภาค ที่เป็นเรื่องของการต่อสู้กับเหล่าแวมไพร์ หรือเรื่อง hostel ทั้ง 2 ภาค ที่สยองมาก ๆ

เข้าไปดูใน imdb ก็พบว่ายังมีอีกหลาย ๆ เรื่องที่ผมยังไม่ได้ดู ก็ลองเสิร์ชหาดูเรื่องล่าสุดมาดู คือเรื่อง hell ride ซึ่งเรื่องนี้ผมไม่ชอบนัก โดยในช่วงที่ผมเสิร์ชหาหนังเรื่องนี้มาดู ก็ไปสะดุดกับชื่อเรื่อง Departures (Japanese) เข้า เพราะเมื่อคืนวันอาทิตย์ที่ผ่านมา ผมนอนฟังรายการหนังหน้าไมค์ ก็มีคนพูดถึงเรื่องนี้ว่าได้รับรางวัลมากมาย ผมก็เลยตัดสินใจดาวน์โหลดมาดู

ไฟล์ที่ผมดาวน์โหลดมาประกอบไปด้วย 2 ไฟล์ avi ซึ่งมีเฉพาะตัวหนัง ส่วนซับไตเติ้ลผมก็ไปเสิร์ชหาจากเว็บ subtitlesource.org เรื่องนี้ต้องบอกว่าเป็นเรื่องที่ดีมาก ๆ
ดูแล้วสนุก ซึ้ง แอบยิ้มในบางตอน แต่เสียน้ำตาอยู่หลายตอน ต้องบอกว่าเขียนบท และนักแสดงทุกคนแสดงได้ดีมาก ๆ


ดูไฟล์แรก ก็ไม่มีปัญหาอะไร ตัวหนังกับซับไตเติ้ลที่ดาวน์โหลดมาตรงกัน แต่ไฟล์ที่สองกับซับไตเติ้ลไม่ตรงกัน เวลาเหลื่อมกันอยู่ 15 วินาที ถ้าดูต่อไปคงไม่ดีแน่ หากจะเข้าไปปรับเวลาที่เหลื่อมกันในไฟล์ซับไตเติ้ล ด้วยการบวกลบเวลาด้วยตนเองแล้วละก็คงเป็นงานหนักแน่ เพราะอย่างที่ทราบเวลามีหน่วยเป็น 60 วินาที บวกกันเกิน 60 ก็ต้องมาปัดเป็นนาที และวินาที

แล้วโปรแกรมอะไรที่สามารถคำนวนได้ ก็ไม่พ้นไมโครซอฟท์เอ็กเซล ก็มาดูกันครับว่าขั้นตอนการทำเป็นอย่างไร

1. เปิดไฟล์ซับไตเติ้ลด้วยโปรแกรม notepad

2. คัดลอกข้อความทั้งหมดไปวางในเอ็กเซล

3. จะเห็นได้ว่ารูปแบบเวลาในไฟล์ซับไตเติ้ลจะเป็น 00:00:17,900 --> 00:00:19,727
4. ผมจะใช้แค่สูตรเดียวในการแยกนะครับ โดยมีหลักการดังนี้คือ แยกตัวเลขเวลา 8 ตัวแรกมาลบออก 15 วินาที และตัวเลขเวลาตั้งแต่ตัวที่ 18 ถึง 25 มาลบออก 15 วินาทีเช่นกัน
5. สูตรที่เซลล์ C2 คือ =TEXT(LEFT(A2,8)-TIME(0,0,15),"hh:mm:ss")&MID(A2,9,9)&TEXT(MID(A2,18,8)-TIME(0,0,15),"hh:mm:ss")&RIGHT(A2,4)

6. คัดลอกสูตรใส่เซลล์ด้านล่างทั้งหมด

7. คัดลอกเซลล์ที่เป็นสูตร แล้ววางเป็นค่า (paste values)

8. แทนที่ค่า Value! ด้วยค่าว่าง โดยกดแป้น ctrl+h เพื่อใช้การแทนที่

9. คัดลอกค่าที่เหลือในคอลัมน์ B ไปวางในคอลัมน์ A โดยวางแบบพิเศษ เลือกข้ามค่าว่าง (paste special > skip blanks

10. ลบค่าที่ได้ในคอลัมน์ B ทิ้ง
11. คัดลอกข้อความที่ได้ในข้อลัมน์ A ไปวางใน notepad แล้วบันทึก


เรียบร้อยครับ ดูหนังสบายใจ รู้เรื่ืองแน่นอน ที่สำคัญไปหาเรื่องนี้มาดูให้ได้นะครับ แนะนำเลย

2 ความคิดเห็น:

ไม่ระบุชื่อ กล่าวว่า...

ขอบคุณนะคับ......

แต่ว่าอ่านแล้ว งง อ่ะคับ

ของผมต้องปรับ 15 วินาที เหมือนกัน เหรอ คับ

PlaMC กล่าวว่า...

ในสูตรด้านบน เป็นการลบเวลาในซับออก 15 วินาที
=TEXT(LEFT(A2,8)-TIME(0,0,15),"hh:mm:ss")&MID(A2,9,9)&TEXT(MID(A2,18,8)-TIME(0,0,15),"hh:mm:ss")&RIGHT(A2,4)
ให้สังเกตุที่ -TIME(0,0,15) นะครับ
เป็นเครื่องหมายลบหน้าสูตร TIME และ 15 ในวงเล็บคือจำนวนวินาทีที่ต้องการลบ

ถ้าคุณต้องการลบหรือเพิ่มเวลาก็ให้แก้สูตรตรงตำแหน่งดังกล่าวนะครับ
ซึ่งจะมี 2 จุดครับ