FFmpeg บน Linux: ค้นพบความลับ 10 ประการ!
ต้องการรับประโยชน์เพิ่มเติมจากเทอร์มินัล Linux ของคุณหรือไม่ คุณอาจไม่สามารถเชื่อมโยงวิดีโอเข้ากับบรรทัดคำสั่งโดยสัญชาตญาณ แต่ด้วย FFmpeg คุณสามารถทำอะไรได้มากมายกับไฟล์วิดีโอ เพียงแค่พิมพ์คำสั่งง่ายๆ ในเทอร์มินัลของคุณ!
หากคุณไม่รู้จักเขา เอฟเอฟเอ็มเพ็ก เป็นเครื่องมือบรรทัดคำสั่งที่จัดการทุกอย่างที่เกี่ยวข้องกับสื่อ มีอยู่ในที่เก็บข้อมูลของระบบปฏิบัติการ Linux ส่วนใหญ่ ดังนั้นคุณเพียงแค่ต้อง ค้นหาและติดตั้งแพ็กเกจ เพื่อเริ่มใช้มัน
ไม่ว่าคุณต้องการเล่นวิดีโออย่างรวดเร็วก็ได้ ข้อมูลหรือทำกลอุบาย สำหรับการตัดต่อวิดีโอที่ยอดเยี่ยม FFmpeg ช่วยคุณได้ นี่คือสิ่งที่เป็นประโยชน์บางอย่างที่คุณสามารถทำได้ด้วย FFmpeg บนเครื่อง Linux ของคุณ
1 . เล่นวิดีโอ
คุณอาจมีเครื่องเล่นวิดีโอโปรดอยู่แล้ว และนั่นก็เป็นเรื่องดี แต่บางครั้ง คุณอาจต้องการแค่ใช้วิธีที่รวดเร็วและง่ายดายในการดูบางสิ่งบางอย่างโดยไม่ต้องเปิดแอปพลิเคชันกราฟิกเต็มรูปแบบ คุณสามารถทำได้โดยใช้เครื่องเล่นในตัวของ FFmpeg เอฟเอฟเพลย์.
ตัวอย่างเช่น หากต้องการเล่นวิดีโอ ให้เปิดเทอร์มินัลของคุณและรัน:
ffplay ไฟล์วิดีโอของคุณ.mp4

วิดีโอของคุณจะปรากฏในหน้าต่างแยกต่างหากเพื่อพร้อมเล่น คุณสามารถควบคุมได้ด้วยคำสั่ง เช่น "q" เพื่อออก "p" เพื่อหยุดชั่วคราว และลูกศรซ้ายหรือขวาเพื่อเดินหน้าหรือถอยหลัง
หากคุณต้องการเล่นวิดีโอซ้ำ ให้รัน:
ffplay -loop 0 ไฟล์วิดีโอของคุณ.mp4
ตัวเลือก -ลูป 0 ทำให้เล่นได้เรื่อยๆ คุณสามารถแทนที่ 0 ด้วยตัวเลขใดๆ เพื่อกำหนดจำนวนครั้งที่จะทำซ้ำ

2. ต่อไปนี้เป็นวิธีการเล่นคอลเลกชันเพลงในเครื่องของคุณในหน้าต่างเทอร์มินัล Linux
โดยทั่วไปการรับข้อมูลเกี่ยวกับไฟล์วิดีโอต้องอาศัยการนำทางผ่านเมนูต่างๆ ในเครื่องเล่นสื่อหรือแม้แต่การใช้แอปพลิเคชันแยกต่างหาก แต่ด้วย FFmpeg การรับข้อมูลทั้งหมดนี้ทำได้เพียงคำสั่งเดียว
หากต้องการรับข้อมูลเกี่ยวกับสื่อ ให้รันเพียง:
ffmpeg -i ไฟล์วิดีโอของคุณ.mp4
ภายในไม่กี่วินาที คุณจะเห็นภาพรวมแบบครบถ้วน รวมถึงตัวแปลงสัญญาณ บิตเรต อัตราเฟรม และอื่นๆ

หากต้องการทราบข้อมูลโดยละเอียดเพิ่มเติมเกี่ยวกับสตรีมวิดีโอ เสียง และคำบรรยาย ให้ใช้ เอฟเอฟโพรบ (เครื่องมือ FFmpeg):
ffprobe -show_streams –i ไฟล์วิดีโอของคุณ.mp4
หากต้องการเอาท์พุต JSON ที่สะอาดยิ่งขึ้น ให้รัน:
ffprobe -v เงียบ -print_format json -show_format -show_streams ไฟล์วิดีโอของคุณ.mp4

นอกจากนี้ ฉันขอแจ้งให้คุณทราบว่าคำสั่งเหล่านี้ช่วยให้คุณวิเคราะห์ไฟล์วิดีโอได้อย่างมีประสิทธิภาพโดยไม่จำเป็นต้องเล่นไฟล์เหล่านั้นจริงๆ
3 . บันทึกหน้าจอของคุณ
FFmpeg ยังสามารถบันทึกหน้าจอของคุณได้ด้วย ไม่ว่าคุณต้องการแสดงให้ผู้อื่นเห็นวิธีการทำสิ่งต่างๆ ใน Linux หรือสร้างการสาธิตอย่างรวดเร็ว คุณไม่จำเป็นต้องใช้โปรแกรมการเขียนโปรแกรมใดๆ การบันทึกหน้าจอ พิเศษ.
สมมติว่าคุณต้องการบันทึกหน้าจอทั้งหมดของคุณเป็นเวลา 10 วินาที คุณสามารถทำได้ด้วยสิ่งนี้:
ffmpeg -f x11grab -video_size 1920x1080 -r 30 -i :0.0+0.0 -t 10 เอาท์พุต.mp4
คำสั่งนี้จะจับภาพเดสก์ท็อปของคุณด้วยความละเอียด 1920×1080 ด้วยอัตราเฟรม 30 เฟรมต่อวินาที นอกจากนี้ยังมีตัวเลือก -ฉัน :0.0+0.0 บอก FFmpeg ว่าจะบันทึกหน้าจอไหน เช่นในกรณีของเรา :0.0 หมายถึงหน้าจอหลักและ +0,0 หมายถึงเริ่มบันทึกจากมุมซ้ายบน
หากคุณไม่ทราบขนาดหรือตำแหน่งหน้าจอของคุณ คุณสามารถค้นหาได้จากนี้:
ข้อมูล xdpy | ขนาด grep
Deberías saber que el comando de FFmpeg anteriormente graba tu pantalla de escritorio sin audio. Entonces, si también querés grabar audio junto con el video, necesitás especificar un dispositivo de entrada de audio junto al de video.
ตัวอย่างเช่นคุณสามารถใช้ตัวเลือก -f alsa -i พัลส์ ในการจับภาพทั้งวิดีโอและเสียงจากหน้าจอ:
ffmpeg -f x11grab -video_size 1920x1080 -r 30 -i :0.0+0.0 -f หรือ -i default -t 10 output.mp4
ในการบันทึกหน้าต่างเฉพาะ คำสั่ง FFmpeg จะซับซ้อนกว่าเล็กน้อย แต่สำหรับการบันทึกอย่างรวดเร็ว เต็มจอFFmpeg เป็นตัวเลือกที่ยอดเยี่ยม นอกจากนี้ หากคุณชอบทำงานจากเทอร์มินัล คุณสามารถควบคุมทุกขั้นตอนของกระบวนการบันทึกได้อย่างสมบูรณ์

4. เริ่มจับภาพหรือสตรีมสดโดยใช้โปรแกรมโอเพ่นซอร์สฟรีนี้
คุณเคยอยากจะแยกเฟรมเดียวจากวิดีโอบ้างไหม บางทีอาจจะเป็นภาพขนาดย่อหรือถ่ายภาพสวยๆ? FFmpeg ทำให้ภารกิจนี้ง่ายมาก
ตัวอย่างเช่น สมมติว่าคุณต้องการดึงภาพจากวิดีโอทุก ๆ วินาทีและบันทึกเป็นไฟล์รูปภาพ หากต้องการทำสิ่งนี้ ให้รัน:
ffmpeg -i input.mp4 -r 1 imagen-%04d.jpg

ที่นี่ตัวเลือก -ร 1 ตั้งค่าอัตราการจับภาพเป็นหนึ่งภาพต่อวินาที ดึงเฟรมจากวิดีโอทุก ๆ วินาที คุณสามารถปรับตัวเลขนี้เพื่อจับภาพบ่อยขึ้นหรือน้อยลงได้ คุณยังสามารถเปลี่ยน JPG เป็น PNG หรือรูปแบบภาพอื่นได้หากจำเป็น
5 . แปลงรูปภาพเป็นวิดีโอ
FFmpeg ไม่เพียงแค่สามารถแยกรูปภาพได้ แต่ยังสามารถรวบรวมภาพชุดหนึ่งเป็นวิดีโอได้อีกด้วย ไม่ว่าคุณต้องการสร้างสไลด์โชว์ แอนิเมชั่น หรือไทม์แลปส์ FFmpeg จะทำให้กระบวนการนั้นง่ายขึ้น
ก่อนที่จะแปลง โปรดแน่ใจว่ารูปภาพของคุณมีชื่อตามลำดับ (เช่น image-0001.jpg, image-0002.jpg) ตอนนี้แปลงภาพลำดับเหล่านี้เป็นวิดีโอด้วยคำสั่งต่อไปนี้:
ffmpeg -framerate 1 -i imagen-%04d.jpg -c:v libx264 -r30 output.mp4
ที่นี่ เราตั้งค่าตัวเลือกอัตราเฟรมเป็น 1 FPS ซึ่งหมายความว่า หากเรามี 5 เฟรม และเราต้องการวิดีโอ 5 วินาที อัตราเฟรมจะเป็น 1 คุณสามารถปรับค่าอัตราเฟรมเพื่อเพิ่มหรือลดความเร็วของวิดีโอได้
คำสั่งด้านบนจะแปลงรูปภาพเป็นวิดีโอโดยไม่ต้อง เพิ่มเพลง- แต่จะเกิดอะไรขึ้นหากคุณต้องการใส่เพลงลงในวิดีโอของคุณ? รันอันนี้แทน เพลง.mp3 ด้วยไฟล์เสียงที่คุณต้องการ:
ffmpeg -framerate 1 -i imagen_%04d.jpg -i music.mp3 -c:v libx264 -r30 -shortest slideshow.mp4
ที่นี่ตัวเลือก -สั้นที่สุด ทำให้วิดีโอมีความยาวเท่ากับรายการที่สั้นที่สุด ดังนั้นหากเสียงยาวกว่าการนำเสนอ วิดีโอก็จะมีความยาวเท่ากับสไลด์โชว์

ImageMagick คือชุดยูทิลิตี้บรรทัดคำสั่งสำหรับการแก้ไขและการทำงานกับรูปภาพ
6 . แปลงวิดีโอเป็น MP3 หรือ GIF
คุณลักษณะอันทรงพลังที่สุดประการหนึ่งของ FFmpeg คือการแปลงวิดีโอเป็นรูปแบบต่างๆ เช่น การแปลงวิดีโอเป็น MP3 หรือการสร้างแอนิเมชั่น GIF จากวิดีโอ
หากต้องการแยกเสียงจากวิดีโอ ให้ใช้ตัวเลือก -วเอ็นซึ่งบังคับให้ FFmpeg ละทิ้งสตรีมวิดีโอและแปลงเฉพาะเสียงเป็น MP3:
ffmpeg -i อินพุต.mp4 -vn -acodec libmp3lame เอาต์พุต.mp3
คุณยังสามารถเปลี่ยนแปลงได้ เอาท์พุต.mp3 ถึง เอาท์พุต.wav หรือรูปแบบเสียงอื่น ๆ หากคุณต้องการ
หากต้องการแปลงวิดีโอเป็น GIF ให้ใช้:
ffmpeg -i ตัวอย่างวิดีโอ.mp4 เอาต์พุต.gif
คุณสามารถแยกส่วนเฉพาะของวิดีโอและแปลงเป็น GIF ได้ด้วยวิธีนี้:
ffmpeg -ss 30.0 -t 2.1 -i ตัวอย่าง_วิดีโอ.mp4 เอาต์พุต.gif
คำสั่งนี้จะตัดวิดีโอความยาว 2.1 วินาทีจากจุดเริ่มต้นของเวลา 00:30 นาที และแปลงให้เป็น GIF
7 . เพิ่มคำบรรยายให้กับภาพยนตร์
การเพิ่มคำบรรยายในภาพยนตร์อาจมีประโยชน์มาก โดยเฉพาะเมื่อรับชมเนื้อหาในภาษาอื่น FFmpeg ทำให้กระบวนการเพิ่มคำบรรยายลงในวิดีโอของคุณง่ายขึ้น
ขั้นแรก ให้รับไฟล์คำบรรยาย ซึ่งโดยทั่วไปจะมีนามสกุลไฟล์ SRT ตัวอย่างเช่น หากคุณมีไฟล์คำบรรยาย (เช่น คำบรรยาย srt) และวีดีโอ (อินพุต.mp4) คุณสามารถฝังคำบรรยายลงในวิดีโอของคุณอย่างถาวรได้โดยใช้:
ffmpeg -i อินพุต.mp4 -vf "คำบรรยาย=คำบรรยาย.srt" เอาต์พุต.mp4
คำสั่งนี้จะฝังคำบรรยายอย่างถาวรเพื่อให้แน่ใจว่าคำบรรยายจะยังคงมองเห็นได้และไม่สามารถปิดได้
หากคุณต้องการคำบรรยายเสริมที่ผู้ชมสามารถเปิดหรือปิดได้ ให้ใช้สิ่งนี้:
ffmpeg -i อินพุต.mp4 -i คำบรรยาย.srt -c คัดลอก -c:s mov_text เอาต์พุต.mp4
คำสั่งนี้จะเก็บคำบรรยายไว้เป็นแทร็กแยก โดยยังคงคุณภาพดั้งเดิมของวิดีโอเอาไว้
8 . การสร้างดัชนีวิดีโอใหม่โดยไม่ต้องแปลงรหัส
บางครั้งวิดีโออาจดูมีปัญหา เช่น อาจข้าม ค้าง หรือไม่สามารถกรอไปข้างหน้าหรือกรอกลับได้ ปัญหานี้มักเกิดขึ้นจากดัชนีวิดีโอเสียหาย ในการแก้ไขปัญหานี้ คุณอาจต้องสร้างดัชนีใหม่โดยไม่ต้องเข้ารหัสวิดีโอใหม่
โชคดีที่ FFmpeg สามารถซ่อมแซมดัชนีได้โดยไม่ต้องเปลี่ยนแปลงวิดีโอด้วยซ้ำ กระบวนการนี้เรียกว่าการรีมักซ์ ซึ่งรวดเร็วเพราะรักษาคุณภาพวิดีโอและเสียงต้นฉบับไว้พร้อมทั้งแก้ไขโครงสร้างไฟล์ด้วย
ในการสร้างดัชนีวิดีโอใหม่ ให้เรียกใช้:
ffmpeg -i input.mp4 -c copy -copyts output.mp4
ที่นี่ตัวเลือก -c คัดลอก แจ้งให้ FFmpeg คัดลอกสตรีมวิดีโอและเสียงตามที่เป็นอยู่ โดยรักษาคุณภาพและเพิ่มความเร็วของกระบวนการ ตัวเลือก -สำเนา ช่วยให้แน่ใจว่าข้อมูลเวลาจะถูกคัดลอกอย่างถูกต้องซึ่งเป็นสิ่งสำคัญสำหรับการเล่นที่ราบรื่น
แนวทางนี้คือ มีประโยชน์ในการตรวจสอบและซ่อมแซมไฟล์ของคุณอย่างรวดเร็ว ของวีดีโอ อย่างไรก็ตาม หากปัญหายังคงอยู่ วิดีโออาจได้รับความเสียหายอย่างรุนแรง
9 . ปรับขนาดวิดีโอ
การปรับขนาดวิดีโอเป็นหนึ่งในฟีเจอร์ที่เป็นประโยชน์ที่สุดของ FFmpeg คุณสามารถปรับขนาดวิดีโอได้อย่างง่ายดาย เครือข่ายสังคมออนไลน์หน้าจอมือถือหรือเพื่อเพิ่มประสิทธิภาพการเก็บข้อมูล วิดีโอขนาดเล็กใช้พื้นที่น้อยกว่า อัปโหลดได้มากขึ้น รวดเร็วและทำงานได้ดีที่สุดในการเชื่อมต่อ ช้า.
หากต้องการปรับขนาดวิดีโอให้เป็นขนาดที่ต้องการ (เช่น 1280×720) ให้ใช้:
ffmpeg -i อินพุต.mp4 -vf สเกล=1280:720 เอาต์พุต.mp4
หากต้องการให้ FFmpeg รักษาอัตราส่วนภาพโดยอัตโนมัติ ให้ระบุเพียงมิติเดียวหรือใช้นิพจน์:
ffmpeg -i อินพุต.mp4 -vf สเกล=640:-1 เอาต์พุต.mp4
การดำเนินการนี้จะกำหนดความกว้างเป็น 640 พิกเซล และ FFmpeg จะคำนวณความสูงที่เหมาะสมเพื่อรักษาอัตราส่วนภาพ อย่างไรก็ตาม โปรดทราบว่าการลดขนาดอาจทำให้คุณภาพลดลง ดังนั้นควรเลือกความละเอียดอย่างระมัดระวัง
10 . ตัดแต่งและตัดวิดีโอ
การตัดแต่งวิดีโอช่วยให้คุณแยกเฉพาะส่วนที่จำเป็นออกมาได้โดยไม่กระทบต่อคุณภาพ เหมาะอย่างยิ่งสำหรับการลบส่วนนำ ส่วนจบ หรือข้อผิดพลาดที่ไม่ต้องการใดๆ
ตัวอย่างเช่น หากต้องการแยกส่วน 20 วินาทีที่เริ่มจาก 10 วินาทีในวิดีโอ ให้รัน:
ffmpeg -i input.mp4 -ss 00:00:10 -ถึง 00:00:30 -c คัดลอก output_trimmed.mp4
ที่นี่, -สส 00:00:10 บอกให้ FFmpeg เริ่มต้นที่วินาทีที่ 10 ในขณะที่ -ถึง 00:00:30 หยุดวิดีโอที่วินาทีที่ 30 นอกจากนี้ตัวเลือก -c คัดลอก ช่วยให้แน่ใจว่าวิดีโอและเสียงจะถูกคัดลอกโดยไม่ต้องเข้ารหัสใหม่ ทำให้กระบวนการเร็วขึ้นมากในขณะที่ยังคงคุณภาพต้นฉบับไว้
การครอบตัดจะลบขอบที่ไม่จำเป็นออกหรือซูมเข้าไปในส่วนที่สำคัญที่สุดของวิดีโอ หากต้องการครอบตัดวิดีโอเป็นขนาด 640x480 พิกเซล ให้เริ่มจากมุมซ้ายบน ให้รันสิ่งนี้:
ffmpeg -i input.mp4 -vf "ครอบตัด=640:480:0:0" output_cropped.mp4
ฟิลเตอร์ตัดจะใช้ค่าสี่ค่า: ความกว้าง ความสูง และพิกัด x และ y ของตำแหน่งที่ควรเริ่มต้นการตัด ในกรณีนี้ ความกว้างและความสูงจะถูกตั้งเป็น 640×480 และ 0:0 ช่วยให้แน่ใจว่าการครอบตัดเริ่มต้นจากมุมซ้ายบนของวิดีโอต้นฉบับ

การฝึกฝนและเรียนรู้เคล็ดลับ FFmpeg เหล่านี้จะช่วยให้คุณเพิ่มประสิทธิภาพการทำงานและปรับให้เหมาะสมที่สุด ปริมาณงาน อย่างง่ายดาย. และจำไว้ว่านี่เป็นเพียงจุดเริ่มต้นเท่านั้น มีหลายสิ่งหลายอย่างใน FFmpeg ที่รอการสำรวจ ดังนั้นลองดำดิ่งและทดลองต่อไป!



















