บันทึกเดสก์ท็อปของคุณจากเทอร์มินัลด้วย FFmpeg

บันทึกหน้าจอด้วยเทอร์มินัลและ FFmpeg

ไม่กี่ชั่วโมงที่ผ่านมา เราได้เผยแพร่ บทความที่เราอธิบายวิธีการแปลงไฟล์เสียงเป็นรูปแบบอื่น (รวมถึงเสียง) ด้วย FFmpeg ในบทความนั้นเรายังอธิบายด้วยว่าเฟรมเวิร์กที่เป็นปัญหาเป็นเครื่องมือที่มีประสิทธิภาพมากซึ่งเราสามารถทำงานหลายอย่างที่เกี่ยวข้องกับวิดีโอและเสียงและในเวลาอื่นเราจะสอนคุณ วิธีบันทึกหน้าจอพีซีของเราด้วย FFmpeg จากเทอร์มินัล. ช่วงเวลานั้นมาถึงและบทความจะเป็นนี้

บันทึกหน้าจอด้วยสิ่งนี้ กรอบ มันจะซับซ้อนกว่าการแปลงเสียงเล็กน้อย พบความยากในขณะเขียนคำสั่งเนื่องจากสิ่งที่เราต้องจำมีมากกว่าการใส่คำสั่ง "-i" และไฟล์สองไฟล์อินพุตและเอาต์พุต นอกจากนี้วิธีการทำได้รับการอัปเดตเนื่องจากมีการแก้ไขคำสั่ง / เครื่องมือที่เราจะบันทึกหน้าจอ โดยไม่ต้องกังวลใจอีกต่อไปตอนนี้เราจะอธิบายขั้นตอนในการปฏิบัติตามซึ่งไม่มีใครอื่นนอกจากที่พบในไฟล์ เว็บไซต์อย่างเป็นทางการ ของโครงการ

FFmpeg ช่วยให้เราสามารถบันทึกหน้าจอเดสก์ท็อปของเราทั้งที่มีและไม่มีเสียง

เช่นเดียวกับโปรแกรมอื่น ๆ เช่น VLC หรือ SimpleScreenRecorder FFmpeg ช่วยให้เราสามารถบันทึกหน้าจอเดสก์ท็อปของเราได้ มีและไม่มีเสียง. นอกจากนี้ยังช่วยให้เราสามารถบันทึกเฉพาะบางส่วนของเดสก์ท็อปของเราซึ่งเป็นสิ่งที่ง่ายกว่าเมื่อใช้แอปพลิเคชันที่มีอินเทอร์เฟซผู้ใช้ซึ่งจะช่วยให้เราสามารถเลือกภูมิภาคที่จะบันทึกด้วยตัวชี้ได้ ไม่ว่าในกรณีใดคำสั่งหรือขั้นตอนในการบันทึกหน้าจอเดสก์ท็อปของเราจะมีดังต่อไปนี้:

  1. เมื่อทำการแปลงไฟล์เราต้องแน่ใจว่าเราได้ติดตั้งซอฟต์แวร์ที่จำเป็นแล้ว ในการดำเนินการนี้เพียงพิมพ์ "ffmpeg" (โดยไม่มีเครื่องหมายอัญประกาศ) ในเทอร์มินัล เราจะเห็นสิ่งต่อไปนี้: ffmpeg ในเทอร์มินัล
  2. หากสิ่งที่ต้องการข้างต้นปรากฏขึ้นให้ไปที่ขั้นตอนที่ 3 หากไม่ใช่ให้เขียนสิ่งต่อไปนี้ในเทอร์มินัล
sudo apt install ffmpeg
  1. เมื่อติดตั้งซอฟต์แวร์แล้วจะเหลืออีกเพียงสองขั้นตอนเท่านั้น: เริ่มการบันทึกและหยุด ในการเริ่มต้นเราจะเขียนคำสั่งต่อไปนี้
ffmpeg -video_size 1920x1080 -framerate 25 -f x11grab -i :0.0 salida.mp4
  • จากข้างต้นจำเป็นต้องคำนึงถึง:
    • 1920 × 1080 ขนาดของการบันทึก
    • เฟรม คือจำนวนเฟรมต่อนาที
    • 0.0 คือภูมิภาคที่คุณจะบันทึก คุณสามารถให้จุด X และ Y เริ่มต้นเพื่อบันทึกส่วนหนึ่งของหน้าจอหลังสัญลักษณ์บวกซึ่งอาจมีลักษณะดังนี้ 0.0 + 100,200 สำหรับหน้าต่างเริ่มต้นที่จุด X = 100 และจุด Y = 200
    • output.mp4 คือไฟล์ที่ส่งออก ถ้าเราใส่ไว้ในคำสั่งก่อนหน้านี้ไฟล์จะถูกบันทึกไว้ในโฟลเดอร์ส่วนตัวของเราด้วยชื่อ "output.mp4"
  1. สุดท้ายเพื่อหยุดการบันทึกเรากด Ctrl + C

บันทึกหน้าจอพร้อมเสียง

หากสิ่งที่เราต้องการคือการบันทึกเสียงคำสั่งจะมีลักษณะดังนี้:

  • เพื่อ Pulse Audio:
ffmpeg -video_size 1920x1080 -framerate 25 -f x11grab -i :0.0 -f pulse -ac 2 -i default salida.mkv
  • สำหรับ ALSA:
ffmpeg -video_size 1920x1080 -framerate 25 -f x11grab -i :0.0 -f alsa -ac 2 -i hw:0 salida.mkv

ในการปรับปรุงคุณภาพเสียงควรปิดโปรแกรมที่ไม่จำเป็นทั้งหมด ในทั้งสองกรณีสำหรับ หยุดบันทึกกด Ctrl + C. เมื่อเราทำเช่นนี้วิดีโอจะรอเราอยู่ในโฟลเดอร์ส่วนตัวของเราพร้อมชื่อที่เรากำหนดค่าไว้ในกรณีเหล่านี้คือ "output.mp4" หรือ "output.mkv"

ต้อง คำนึงถึงขนาดของวิดีโอ. ในคำสั่งฉันได้ใส่ "1920 × 1080" เพราะเป็นขนาดและความละเอียดของหน้าจอของฉัน สิ่งที่ดีที่สุดคือแต่ละคนเพิ่มขนาด / ความละเอียดของตัวเองที่นั่น เราต้องจำไว้ด้วยว่าการสร้างสคริปต์เพื่อเปิดคำสั่งนั้นไม่คุ้มค่าเนื่องจากอาจล้มเหลวหรือในกรณีที่ดีที่สุดเราจะทำให้ชีวิตของเราซับซ้อนขึ้นในขณะที่เราต้องการหยุดการบันทึก หากคุณตัดสินใจที่จะทดสอบว่าสคริปต์ทำงานได้ดีสำหรับคุณหรือไม่คุณสามารถลองหยุดกระบวนการได้ตลอดเวลาโดยใช้คำสั่ง "งาน" ตามที่เราอธิบายไว้ใน บทความนี้ เมื่อเดือนมิถุนายนที่ผ่านมา

คุณคิดอย่างไรกับวิธีนี้ในการบันทึกหน้าจอจากเทอร์มินัลด้วย FFmpeg?


แสดงความคิดเห็นของคุณ

อีเมล์ของคุณจะไม่ถูกเผยแพร่ ช่องที่ต้องการถูกทำเครื่องหมายด้วย *

*

*

  1. ผู้รับผิดชอบข้อมูล: Miguel ÁngelGatón
  2. วัตถุประสงค์ของข้อมูล: ควบคุมสแปมการจัดการความคิดเห็น
  3. ถูกต้องตามกฎหมาย: ความยินยอมของคุณ
  4. การสื่อสารข้อมูล: ข้อมูลจะไม่ถูกสื่อสารไปยังบุคคลที่สามยกเว้นตามข้อผูกพันทางกฎหมาย
  5. การจัดเก็บข้อมูล: ฐานข้อมูลที่โฮสต์โดย Occentus Networks (EU)
  6. สิทธิ์: คุณสามารถ จำกัด กู้คืนและลบข้อมูลของคุณได้ตลอดเวลา

  1.   ซอฟต์แวร์ครีโอล dijo

    บล็อกใหม่เกี่ยวกับซอฟต์แวร์เสรีจากอาร์เจนตินา!

    เยี่ยมชมเรา:

    http://softwarecriollo.blogspot.com

    บน Facebook: SoftwareCriollo Argentina

    บน Twitter: @softwarecriollo

    เราต้องเผยแพร่ความรู้ให้เป็นอิสระ!

    ทักทาย!

  2.   กาสปาร์เฟอร์นันเดซ dijo

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

    ฉันแก้ไขด้วยวิธีพื้นฐานมาก ... บันทึกเสียงด้วย arecord แยกต่างหากจากนั้นเข้าร่วมสตรีม: S: S

  3.   แม่ 21 แม่ dijo

    สวัสดี
    ใช่เพื่อนที่มีประโยชน์มาก
    ฉันได้รับแรงบันดาลใจจาก bash และรวบรวมสคริปต์ชื่อ "xrec" และรวมไว้ใน deb

    ถ้าอยากลองก็เชิญเลย http://cut07.tk/e6

  4.   เซอร์จิโอ dijo

    ฉันใช้คำสั่งต่อไปนี้:
    $ ffmpeg -f oss -i / dev / dsp1 -f x11grab -s sxga -r 24 -i: 0.0 /home/seunome/Videos/teste.mpg

    หรือ "-f oss" คือระบุว่าต้องการบันทึกเสียงด้วย
    "-I / dev / dsp" บอกอุปกรณ์อินพุตเสียงว่าจะใช้อะไร
    ใช้“ -i / dev / dsp0” หรือ“ -i / dev / dsp1” (สำหรับฉันมันใช้ได้กับ DSP1)
    "-f x11grab" รายงานว่าคุณต้องการบันทึกหน้าจอวิดีโอเซิร์ฟเวอร์ Grafix X11
    หรือ "-s sxga" เท่ากับ "-s 1280 × 1024" ซึ่งเป็นความละเอียดของจอแสดงผลของฉัน (LCD) อีกทางเลือกหนึ่งคือ xga ซึ่งสอดคล้องกับ 1024 × 768 หากต้องการทราบข้อมูลเพิ่มเติมโปรดอ่านเอกสาร ffmpeg
    หรือ "-r 24" แจ้งว่าเราต้องการบันทึก 24 เฟรม (ภาพ) ต่อวินาทีซึ่งเป็นจำนวนขั้นต่ำที่จะได้รับความรู้สึกของภาพยนตร์
    เครื่องหมาย "-i: 0.0" แสดงว่าเราต้องการจับภาพหน้าจอแสดงผล "0.0" ของ X11
    สุดท้ายเพียงกำหนดค่าไดเร็กทอรีและสิ้นสุดชื่อไฟล์ที่จะสร้าง
    เพียงเท่านี้คุณก็สามารถอ่านเอกสาร ffmpeg เพื่อปรับปรุงและรับคุณภาพที่ดีขึ้นได้
    ขอบคุณทุกคน.

  5.   ทาร์ริบาลิส dijo

    ขอบคุณ. ในความละเอียดเช่น 1024X600 X ต้องเป็นตัวพิมพ์ใหญ่เพื่อให้คำสั่งทำงาน

  6.   ซานติอาโก้ ยอร์เน็ต dijo

    ฉันลองคำสั่งทั้งหมดที่คุณพูดแล้วและพวกมันก็บันทึกวิดีโอให้ฉันโดยไม่มีเสียง ฉันมี Ubuntu 20.04 ข้อเสนอแนะใด ๆ

    1.    ดิเอโก dijo

      Ubuntu เปลี่ยนไดรเวอร์พื้นฐานเช่น Debian และอื่น ๆ ฉันไม่รู้ว่าจะใช้ตัวไหนในตอนนี้เพราะฉันยังมีชีวิตอยู่ในอดีต
      ค้นหาว่าอันไหนใช้และแทนที่อันจาก Alsa หรือ Pulse