PDA

View Full Version : پروژه ضبط کننده تصویر صفحه نمایش ویندوز - open source



plus
دوشنبه 27 بهمن 1393, 22:30 عصر
مقدمه

Screen Recorder نام پروژه‌ open source ی هست که برای ضبط تصویر از صفحه نمایش در محیط ویندوز منتشر کردم. در حال حاضر، ویراست 1.3 به صورت فایل نصبی آماده دانلود هست. سورس کد اون هم تحت لیسانس MIT در Github منتشر شده. این پروژه با زبان #C و C++‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎ ‎‎‎‎ نوشته شده و در ویندوزهای XP به بعد قابل نصب هست.

129604

امکانات

نسخه فعلی پروژه، نیاز اصلی یعنی ضبط تصویر رو به صورت مناسبی پوشش میده. برای دریافت تصویر با سرعت بالا که نتیجه اون FPS (تعداد فریم در ثانیه) بالا هست، از C++‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎ ‎‎‎‎‎‎ و DirectDraw استفاده شده. با این وجود امکانات زیادی هست که میشه در آینده بهش اضافه کرد. بعضی از امکانات فعلی:

* تعیین ناحیه مورد نظر برای ضبط به چهار صورت: کل صفحه نمایش، یک بخش مشخص از صفحه نمایش، ناحیه مربوط به یک پنجره و یا ناحیه‌ی اطراف نشانگر موس
* ضبط صدای پخش شده از سیستم و یا صدای دستگاه های ورودی مثل میکروفون
* انتخاب نمایش و یا عدم نمایش اشاره گر موس در ویدئوی ضبط شده
* امکان افزودن سایه به نشانگر موس
* افزودن متن دلخواه (Watarmark) بر روی ویدئوی ضبط شده
* تعریف Hot Key های دلخوای برای عملیات ضبط، توقف و… و فعال کردن اون‌ها در هر لحظه در هر جا از محیط ویندوز
* انتخاب Compressor و FPS دلخواه؛ باVideo Compressor پیشفرض (Xvid) روی یک سیستم معمولی حداقل 30fps رو برای ضبط Full Screen در اندازه 1480×900 بدون Lag ارائه میده
* Minimize شدن برنامه موقع ضبط و امکان کار با اون از طریق System Tray Icon

129606

مباحثی که میتونید با مطالعه سورس کد باش آشنا بشین:

* ایجاد یک DLL در ++C و استفاده از اون در C#‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎ ‎‎‎
* نحوه ارتباط با Windows API در C#‎‎‎‎‎‎
* کار با AVI32 API برای تولید یک فایل ویدئویی AVI از تصاویر ثابت؛ کار با Video Compressor های مثل Xvid.
* کار با DirectDraw در ++C برای دریافت سریع تصویر صفحه نمایش
* کار WinMM Library برای دریافت صدا از دستگاه های ورودی مثل میکروفون در ویندوز XP
* کار با WASAPI Library برای دریافت صدا از دستگاه های ورودی مثل میکروفون در ویندوز Vista‌به بعد
* کار با Windows ACM برای فشرده سازی فایل و یا داده های صوتی
* کار با User32 API‌برای ارتباط با Window ها در Windows
* کار با HotKey ها در Windows (دریافت کلیدهای میانبر در محیط ویندوز و خارج از محیط برنامه)
* کنترل دریافت کلید‌های میانبر
* کار با کنترل TrayIcon در C#‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎ ‎‎‎ برای نمایش و کنترل Icon برنامه در Notification Area ویندوز
* کار با کلاس Graphics‌ برای رسم Watermark‌ و...
* نحوه ذخیره تنظیمات برنامه در Settings
* یک نمونه ساده از پیاده سازی الگوی Model-View-Presenter در محیط ویندوز
* یک نمونه پروژه نصب در InstallSheild 2010
* و...

دریافت

در حال حاضر، ویراست 1.3 این پروژه در Github قرار گرفته که برای بررسی می‌تونید از این لینک ها استفاده کنید:
دانلود فایل نصبی (https://sourceforge.net/projects/screenrecorder-x/files/screenrecorder1.3-setup.exe/download)
صفحه اصلی پروژه در Github (https://github.com/mchehraz/screenrecorder)
مطلب کاملتر در وبلاگ من (http://blog.chehraz.ir/?p=71)