การใช้งานเบื้องต้น
ท่านสามารถไปพิมพ์ถามพวก AI อย่าง Chat GPT หรือ Bard Google
ในส่วนที่ท่านต้องการจะทำกับไฟล์มีเดียที่ท่านมีเอาได้เลย
AI มักจะตอบมาค่อนข้างตรง ถ้าคำถามไม่ชวนงงจนเกินไป
ส่วนใหญ่ท่านก็แทนค่าด้วย ชื่อไฟล์ขาเข้า (input) และ ชื่อไฟล์ขาออก (output) ตามที่่ AI ให้โค๊ดเรามา
##############################################################
การแปลงไฟล์ โดยไม่ลดรายละเอียดไม่ลดคุณภาพไม่ลดขนาด ราวกับ copy-paste
ให้เราเข้าโฟร์เดอร์เก็บไฟล์ต้นทาง เรียก cmd ขึ้นมาจากช่อง address
แล้วใช้ ffmpeg แปลงไฟล์โดยใช้โค๊ดข้างล่าง
ตัวอย่างเช่น...
แปลงไฟล์ .ts ไป .mp4
ffmpeg -i input.ts -c:v copy -c:a copy output.mp4
แปลงไฟล์ .ts ไป .mp4 กรณีถ้าพบ Error parsing ADTS frame header!
ffmpeg -i input.ts -c:v copy -c:a aac output.mp4
แปลงไฟล์ .mp4 ไป .mkv
ffmpeg -i input.mp4 -c:v copy -c:a copy output.mkv
แปลงไฟล์ .avi ไป .mkv
ffmpeg -i input.avi -c:v copy -c:a copy output.mkv
แปลงไฟล์ .mkv ไป .mp4
ffmpeg -i input.mkv -c:v copy -c:a copy output.mp4
แปลงไฟล์ .wmv ไป .mp4
ให้ไปใช้โปรแกรมอื่นเพราะมันต้องเรนเดอร์เท่านั้น
แปลงไฟล์ .mov ไป .mp4
ให้ไปใช้โปรแกรมอื่นเพราะมันต้องเรนเดอร์เท่านั้น
##############################################################
เราสามารถใช้ ffmpeg ฝังฮาร์ดซับหรือซอฟซับได้
แต่ผมไม่แนะนำเลย ไปใช้ HandBrake ฝังเอาดีกว่าเยอะครับ
##############################################################
วิธีทำ Gif ด้วย ffmpeg ภาพสวยๆชัดๆขนาดพอดีๆ และที่สำคัญไวมาก
ให้เปิดหนังขึ้นมาแล้วทำการจดเวลาที่ต้องการ
ให้เราเข้าโฟร์เดอร์เก็บไฟล์ต้นทาง เรียก cmd ขึ้นมาจากช่อง address
แล้วใช้ ffmpeg ทำ Gif
ตัวอย่างเช่น
ffmpeg -ss 02:23:05 -t 10 -i STARS-599.mp4 -filter_complex "[0:v] fps=12,scale=w=480:h=-1,split [a][b];[a] palettegen=stats_mode=single [p];[b][p] paletteuse=new=1" STARS-599EATRICE.gif
อธิบายเพิ่มเติมคือ ผมสั่งให้ ffmpeg ข้ามไปที่นาที 02:23:05
แล้วเริ่มต้นจับภาพไปอีก 10 วิ จากเรื่อง STARS-599.mp4
ทำอัตราเฟรมเรทอยู่ที่ 12 เฟรมต่อวิ ขนาดกว้าง 480p
แต่งภาพแต่งสีนิดหน่อยไม่ให้ภาพมันแตกและออกมาสวย
แล้วก็จะได้ออกมาเป็น STARS-599EATRICE.gif

และนี่คือรูป gif ที่ผมสั่งให้ ffmpeg ทำออกมา
##############################################################
เราสามารถใช้ ffmpeg ตัดหนังผ่านการคำนวนเวลาได้ ก่อนอื่นให้เราเข้าไปที่โฟร์เดอร์เรื่องที่ต้องการตัด
เรียก cmd ขึ้นมาจากช่อง address แล้วคำนวนจดเวลาของฉากที่ต้องการ
เช่น ในเรื่อง STARS-703 ผมต้องการตัดจากนาทีที่ 01:21:46 จนถึง 01:24:28 เก็บไว้ดูเล่นๆ
ให้เอาเวลาลาสุดท้ายตั้ง 01:24:28 ลบด้วยเวลาเริ่ม 01:21:46 จะได้เวลา -to = 00:02:42
และนี่คือตัวอย่าง
ffmpeg -ss 01:21:46 -i STARS-703.mp4 -to 00:02:42 -c:v copy -c:a copy STARS-703TESTCUT.mp4
##############################################################
เราสามารถใช้ ffmpeg รวมไฟล์ในฟอร์เดอร์ได้
ก่อนอื่นเอาไฟล์ที่จะรวมมาไว้โฟร์เดอร์เดียวกัน
แล้ว cmd ขึ้นมาจากช่อง address
ขั้นแรกให้สร้าง mylist.txt ด้วยคำสั่ง
(for %i in (*.mp4) do @echo file '%i') > mylist.txt
เราก็จะได้ ไฟล์ mylist.txt อยู่ในโฟร์เดอร์ ซึ่งข้างในมันจะเรียงตามชื่ออักษรไฟล์ย่อย
ที่เราจะรวมในขั้นตอนต่อไปโดย ffmpeg
ffmpeg -f concat -i mylist.txt -c copy output.mp4
##############################################################
เราสามารถใช้ ffmpeg แปลงไฟล์ทั้งฟอร์เดอร์ได้
ไฟล์รูปภาพเช่น...
.webp ไป .jpg
for %i in (*.webp) do ffmpeg -i %i %i.jpg
.jpg ไป .png
for %i in (*.jpg) do ffmpeg -i %i %i.png
.png ไป .jpg
for %i in (*.png) do ffmpeg -i %i %i.jpg
ไฟล์วิดีโอเช่น...
.ts ไป .mp4
for %i in (*.ts) do ffmpeg -i %i -c copy -c:a copy %i.mp4
.mkv ไป mp4
for %i in (*.mkv) do ffmpeg -i %i -c copy -c:a copy %i.mp4
##############################################################
ถ้าท่านประสบกับปัญหาฮาร์ดดิกส์เต็มเพราะไฟล์ใหญ่
ต้องการย่อไฟล์ให้เล็กลงแต่คุณภาพเท่าๆเดิม
ให้ท่านเรียก cmd จากช่อง address แล้วใช้คำสั่งนี้
ffmpeg -i input.mp4 -c:v libx265 -vtag hvc1 -c:a copy output.mp4
ท่านก็จะได้ไฟล์ในรูปแบบ x265 ที่คุณภาพเท่าเดิมเลย แต่ขนาดไฟล์จะเล็กลงไปเกือบครึ่ง