โปรแกรมนี้อนุญาตให้ "บันทึก" เดสก์ท็อปของคุณหรือแม้แต่สตรีมได้!
ประกอบด้วยตัวช่วย "บันทึกการจับภาพหน้าจอ/สตรีม" และยูทิลิตี้การตั้งค่า นอกจากนี้ยังมีตัวช่วย (ตัวจับภาพเสียงเสมือน) เพื่อบันทึก "สิ่งที่คุณได้ยิน/เห็นบนเดสก์ท็อปของคุณ" สำหรับระบบ vista+
ในการใช้งานสิ่งเหล่านั้นคุณจะต้องการ/จำเป็นต้องติดตั้ง java JRE บนระบบของคุณก่อน ติดตั้งจาก java.com หากคุณยังไม่ได้ติดตั้ง
นอกจากนี้ยังมีตัวกรองการจับภาพเดสก์ท็อป/หน้าจอโอเพ่นซอร์สสำหรับวัตถุประสงค์ทั่วไปฟรีอีกด้วย
คุณสามารถใช้สิ่งนี้กับโปรแกรมใดก็ได้ (เข้ากันได้กับไดเร็กโชว์) เพื่อจับภาพหรือสตรีม เช่น VLC เป็นต้น
ดูเพิ่มเติมที่ไฟล์ ChangeLog.txt สำหรับรายการการเปลี่ยนแปลงในเวอร์ชันล่าสุด
ดาวน์โหลดตัวติดตั้งและเรียกใช้จาก
https://github.com/rdp/screen-capture-recorder-to-video-windows-free/releases
นอกจากนี้ยังมีอุปกรณ์ตัวกรองการจับภาพแหล่งที่มาโดยตรงสำหรับการบันทึก "สิ่งที่คุณได้ยิน" ใน windows 7/vista—การ์ดเสียงใดก็ได้! ดูhttps://github.com/rdp/virtual-audio-capture-grabber-deviceสำหรับข้อมูล/การแก้ไขปัญหาของอุปกรณ์จับเสียงนั้น
ใช้โปรแกรมช่วยเหลือบางโปรแกรมที่มีให้ในเมนู Start → โปรแกรม → Screen Capture Recorder → บันทึก desktopp[/broadcast/XXX
หรือใช้โปรแกรมของบริษัทอื่นที่สามารถอ่านจากอุปกรณ์จับภาพ Directshow (เช่น VLC/FFmpeg)
ตัวอย่าง VLC: http://betterlogic.com/roger/2010/07/how-to-use-vlc-as-a-free-open-source-alternative-to-playon-tv
ตัวอย่าง ffmpeg:
$ ffplay -f dshow -i วิดีโอ = "จับภาพหน้าจอบันทึก"
หรือ
$ ffmpeg -f dshow -i video="screen-capture-recorder" -r 20 -t 10 screen-capture.mp4 # -t 10 สำหรับการบันทึก 10 วินาที
หรือรวมเข้ากับการบันทึกเสียง "สิ่งที่คุณได้ยิน" [vista/windows 7] (ใช้ ffmpeg ในตัวอย่างนี้):
$ ffmpeg -f dshow -i audio="virtual-audio-capturer":video="screen-capture-recorder" yo.mp4
โปรดทราบว่า ffmpeg มีตัวเลือกอินพุต "gdigrab" ในตัวที่คุณสามารถใช้แทนเครื่องบันทึกการจับภาพหน้าจอได้เช่นกัน
ชื่ออุปกรณ์เสียงอาจเป็นอุปกรณ์เสียง dshow อื่นๆ ได้เช่นกัน
Avisynth ก็ใช้งานได้เช่นกัน เพิ่มลงในกราฟตัวกรองโดยใช้ Graphedit จากนั้นใช้ DirectShowSource เป็นแหล่งอินพุตของคุณโดยระบุชื่อไฟล์ Graphedit ดังกล่าว
gstreamer ก็ใช้งานได้เช่นกัน เช่น:
$ gst-launch.exe dshowvideosrc ชื่ออุปกรณ์=จับภาพหน้าจอ-บันทึก ! ffmpegcolorspace ! directdrawsink
ฉันเคยโดน Skype ใช้มันโดยไม่ได้ตั้งใจ คิดว่าเป็นเว็บแคมของฉัน แจ้งให้เราทราบหากคุณต้องการวิธีที่ง่ายกว่านี้เพื่อสิ่งใด
ตามค่าเริ่มต้น ระบบจะจับภาพ "เต็มหน้าจอ" ของจอภาพเดสก์ท็อปหลัก (หน้าต่างทั้งหมดซ้อนทับกัน จากตรงนั้น มีอากาศหากเป็น vista+ โดยไม่มีหน้าต่างโปร่งใสหากไม่ใช่อากาศ)
หากต้องการกำหนดค่าให้แตกต่างออกไป ให้เรียกใช้ "ยูทิลิตี/ทางลัดการตั้งค่าการกำหนดค่า" ที่ให้มา หรือปรับการตั้งค่ารีจิสทรีก่อนที่จะเริ่มดำเนินการ (ผู้ใช้ขั้นสูงเท่านั้น):
HKEY_CURRENT_USERSoftwarescreen-capture-recorder
ด้วยคีย์ DWORD ที่ยึดตาม start_XXX ฯลฯ … (ดูไฟล์รวม {installdir}configuration_setup_utilitysetup_screen_tracker_params.rb เพื่อดูรายการค่าคีย์รีจิสทรีทั้งหมดที่มีอยู่ หรือดู https://github.com/rdp/screen-capture-recorder-to-video-windows-free/blob/master/configuration_setup_utility/setup_screen_tracker_params.rb#L9 )
เช่น: ดูไฟล์ configuration_setup_utilityincoming.reg (แม้ว่า NB ว่าค่าเหล่านั้นอยู่ในรูปแบบ hex ดังนั้นการแก้ไขไฟล์นั้นจึงค่อนข้างน่าเบื่อ - ฉันมักจะใช้ regedit หรือยูทิลิตี้สคริปต์ที่ให้มาด้วยและไม่แก้ไขด้วยมือ)
หากต้องการ "รีเซ็ต" ค่าให้ลบคีย์ของมัน
หรือ
สร้างไฟล์ชื่อนี้: %APPDATA%ScreenCaptureRecorder.ini
โดยมีเนื้อหาแบบนี้ทั้งหมดจะอยู่ภายใต้หัวข้อ "all_settings"
your_first_setting=1 your_second_setting=100 …
ตามค่าเริ่มต้น มันจะอ่านรีจิสทรีก่อน หากไม่พบสิ่งที่ตั้งค่าไว้ มันจะดูในไฟล์ .ini
เรียกใช้โปรแกรมอรรถประโยชน์ "benchmark your capture speed" เพื่อดูว่าระบบของคุณสามารถจับภาพได้ช้าแค่ไหน
หากคุณใช้ vista+ ให้ปิด aero display manager (โดยเฉพาะ หากคุณมีจอภาพคู่ สิ่งนี้สามารถช่วยได้) http://www.howtogeek.com/howto/windows-vista/disable-aero-on-windows-vista
โดยจะจับภาพได้เร็วกว่ามากหากปิด aero (เช่นเดียวกับใน aero การจับภาพหน้าต่างขนาด 650x976 จะใช้เวลา 50ms โดยไม่มี aero, 3ms
การจับภาพหน้าจอที่เหลือจะใช้เวลาประมาณ 7 มิลลิวินาที (รวม 10 มิลลิวินาทีโดยไม่ใช้ aero) ดังนั้นคุณจึงเห็นต้นทุนสัมพัทธ์ที่เพิ่ม [!]
นอกจากนี้ยังมีการตั้งค่ารีจิสทรีให้ปิด "อัตโนมัติ"
ฉันทำได้เพียง 15 fps เมื่อถ่ายภาพทางอากาศ [ส่งหาฉันถ้าคุณต้องการให้ฉันปรับปรุงสิ่งนี้บ้าง ฉันมีไอเดียบางอย่าง…]
การปิดใช้งานหรือเปิดใช้งาน "การเร่งด้วยฮาร์ดแวร์" สำหรับเดสก์ท็อปอาจช่วยได้เช่นกัน หรือตั้งค่าให้เหนือกว่าไม่มีเลย
ลองเปลี่ยนจากอินพุต 32 บิตเป็น 24 บิตหรือ 16 บิต (จากนี้) และ/หรือเปลี่ยนความลึกของเดสก์ท็อปเอง—หรือทั้งสองอย่าง! เร็วที่สุดคือการแสดงผล 16 บิตพร้อมการจับภาพในโหมด 16 บิต—400 fps โอ้โห!)
ตรวจสอบให้แน่ใจว่าคุณมี RAM เพียงพอ (เป็นที่ทราบกันดีว่า virtualbox สามารถใช้งาน RAM ได้โดยไม่ต้องบอกคุณ) ปิดการใช้งาน aero ด้วยถ้าเป็นไปได้
โปรดทราบว่าหากผลลัพธ์ของคุณคือ 10 fps "ใช้งานจริง" ในตอนท้าย เช่น: $ ffmpeg -f dshow -i video=video-capture-recorder -r 10 yo.mp4 -r 10 # output file อยู่ที่ 10 fps เท่านั้น
จากนั้นเพื่อประหยัด cpu แอปพลิเคชัน "ดี" จะสั่งให้ "source fps" เป็น 10 fps $ ffmpeg -framerate 10 -f dshow -i video=video-capture-recorder -r 10 yo.mp4 # input และ output are ตั้งเป็น 10
สำหรับคำอธิบายว่าทำไม "framerate" และไม่ใช่ "-r" ที่นี่ ดูhttps://trac.ffmpeg.org/wiki/DirectShow#Specifyinginputframerate
ที่พวกเขาส่งต่อไปยังตัวกรองนี้ และทุกคนจะได้ความเร็ว 10 fps และหวังว่าจะมีความสุข และ cpu ก็จะถูกบันทึกไว้ เช่น vlc.exe dshow:// … :dshow-fps=10 vlc จากนั้นส่งต่อไปยัง SetFormat หลังจากการเจรจา และอุปกรณ์จะยอมรับ และฟีดคุณที่ 10 fps
แอปพลิเคชันไดเร็กต์โชว์ที่ "ไม่ดี" บางตัวไม่ผ่านพารามิเตอร์นี้ ส่วนใหญ่สามารถทำได้ ดังนั้นอาจมีกรณีที่ทำให้ CPU สิ้นเปลืองโดยการจับมากเกินไปหรือคล้ายกัน ดังนั้นสำหรับโปรแกรมเหล่านั้น คุณจะต้องตั้งค่าพารามิเตอร์ max fps ซึ่งจะจำกัดความถี่ในการจับภาพ
การตั้งค่า fps สูงสุดให้มากกว่า 30 ยังช่วยให้คุณได้รับ fps ที่มากกว่า 30 (ค่าสูงสุดเริ่มต้น) มัน "เปิดใช้งาน" พวกเขาโดยให้ค่าเริ่มต้นสูงสุดที่สูงกว่า ฉันไม่คิดว่าปกติผู้คนจะสนใจ/ต้องการพวกเขา ดังนั้นคุณจึงมี
โปรดทราบว่าหากต้องการใช้เป็นกล้องอินพุต skype คุณต้องระบุว่าเป็นการจับภาพขนาดเล็กพอสมควรดูhttp://betterlogic.com/roger/2012/04/skype-directshow-device-just-shows-circles- สำหรับ-ดูตัวอย่าง-จับภาพ/
ข้อจำกัดที่ทราบแล้ว ลองใช้กระทู้นี้: https://groups.google.com/forum/#!topic/roger-projects/uxmGV_vW4iY [หรือจ่ายเงินให้ฉันสักหน่อย แล้วฉันจะสร้างส่วนหน้าของโครงการ OBS ที่ยอดเยี่ยมเพื่อ ให้ฟังก์ชันนี้]
ข้อเสนอแนะ/ปัญหา/คำถามอื่นๆ ส่งข้อความถึงฉัน [email protected] หรือเรียกดูรายชื่ออีเมล: http://groups.google.com/group/roger-projects หรือส่งไปยัง uservoice ของเรา: http://rdp.uservoice ดอทคอม
คุณสามารถแจกจ่ายสิ่งนี้อีกครั้ง ดูไฟล์ LICENSE.TXT หากคุณทำเช่นนั้น คุณอาจต้องแจกจ่าย เช่น ไฟล์ PushDesktop.dll หากคุณทำเช่นนั้น คุณต้องลงทะเบียนอุปกรณ์นี้โดยลงทะเบียน dll ของอุปกรณ์ (เช่น $ regsvr32 PushDesktop.dll—อาจต้องใช้สิทธิ์ของผู้ดูแลระบบ) โดยเป็นส่วนหนึ่งของ ติดตั้ง. โปรดทราบว่าผู้ใช้ปลายทางยังจำเป็นต้องติดตั้ง MSVC 2010 แบบแจกจ่ายต่อได้ก่อนหน้านี้ (หรือคุณต้องทำให้พร้อมใช้งานใน dir เดียวกันกับ exe ของคุณ) เพื่อให้ dll ทำงาน/ติดตั้ง ในกรณีที่ผู้ใช้ปลายทางไม่ได้ติดตั้งไว้) หากคุณเปลี่ยนและแจกจ่ายซ้ำ คุณอาจต้องการเปลี่ยน GUID เพื่อไม่ให้เกิดความขัดแย้งหากมีคนติดตั้งซอฟต์แวร์นี้ด้วย ดูเพิ่มเติม #17
รหัสนี้อิงตาม/ยกมาจาก ("ได้รับแรงบันดาลใจจาก") สิ่งนี้จาก Windows 7.1 SDK ….Microsoft SDKsWindowsv7.1Samplesmultimediadirectshowfilterspushsource รวมถึงการสาธิต dshow อื่นๆ รอบ ๆ 'net (การจับภาพเสมือน tmhare) ดังนั้นคุณอาจต้องการติดตั้ง Windows SDK ก่อนที่จะยุ่งกับซอร์สโค้ด หากต้องการแฮ็กโค้ด ให้สร้างคลาสฐาน directshow ของ windows SDK จากนั้นเปิด source_code/*.vcxproj ใน Visual Studio 2010 Express ข้อมูลนี้มีไว้เพื่อให้ "ตัวกรองไดเร็กต์โชว์" ที่คุณสามารถใช้ในกราฟ ไม่ใช่การสาธิตวิธีการสร้างกราฟ มันส่งออกไฟล์ .dll ที่คุณ "ลงทะเบียน" ผ่าน (ในคอนโซลผู้ดูแลระบบ) $ regsvr32 XXX.dll (และยกเลิกการลงทะเบียนเมื่อคุณทำกับ regsvr32 /u XXX.dll เสร็จแล้ว) นอกจากนี้ยังมีสคริปต์บางตัวในการตั้งค่ารีจิสทรี (เขียน ใน ruby/jruby ปัจจุบันสำหรับ GUI) แต่คุณไม่จำเป็นต้องปรับสิ่งเหล่านั้นให้ยุ่งกับตัวกรองเอง
ฉันสามารถเพิ่มคุณสมบัติได้ตามความต้องการที่สมเหตุสมผล
โดยพื้นฐานแล้วคุณต้องการฟีเจอร์ ping มาให้ฉัน คุณได้รับมัน
หากต้องการสร้างในเครื่อง ให้ติดตั้ง VS Express 2010 ติดตั้ง Microsoft SDK เปิด Program FilesMicrosoft SDKsWindowsv7.1Samplesmultimediadirectshowbaseclassesbaseclasses.sln ที่เทียบเท่ากับของคุณ สร้างมัน (debug) ตอนนี้เพิ่ม ไปยังบิลด์ในเครื่องของคุณ (คุณสมบัติของโปรเจ็กต์จาก source_codepushdesktop.sln) ปรับไดเร็กทอรี VC++ (รวม/ไลบรารี) ให้ชี้ไปที่คลาสเบสต่างๆ ของคุณ ไดเรกทอรี
ยูทิลิตี้ทดสอบความเร็วที่ให้มานั้นมีพื้นเพมาจาก http://stereopsis.com/blttest (bitblt ค่อนข้างขึ้นอยู่กับฮาร์ดแวร์ ดังนั้นฉันจึงบอกไปแล้ว ดังนั้นจึงเป็นการดีที่จะทดสอบความเร็วได้)
รวมไบนารี FFmpeg ไว้ด้วย โปรดดูเว็บไซต์เพื่อดูรายละเอียดใบอนุญาต/แหล่งที่มา: http://ffmpeg.org
http://obsproject.com เป็นโอเพ่นซอร์ส ไม่ได้ใช้ FFmpeg แต่อาจใช้ได้ผลสำหรับคุณ อาจจะจับ DirectX woot ได้ด้วย http://www.ffsplit.com ไม่ใช่โอเพ่นซอร์ส แต่จับภาพ / สตรีมเดสก์ท็อปโดยใช้ FFmpeg http://camstudio.org เป็นโอเพ่นซอร์สและฟรี แต่คุณต้องใช้ตัวแปลงสัญญาณในเครื่องที่ติดตั้งในระบบ Windows ของคุณและมีปัญหาในการใช้งานบางประการ ซึ่งเป็นเหตุผลว่าทำไมฉันถึงเริ่มโปรเจ็กต์นี้ตั้งแต่แรก :)