ایجاد: ۱۰:۴۲ ۱۳۹۲/۹/۲۵
ویرایش: ۱۱:۱۶ ۱۳۹۵/۶/۲

یادداشت‌ها

»

آشنایی با دو قابلیت جدید مرورگرها: WebRTC و ضبط صدا و تصویر!

ضبط صدا و تصویر

همانطور که می‌دانید، صفحات وب به منابع سخت‌افزاری و نرم‌افزاری سیستم‌عامل کاربر دسترسی بسیار محدودی دارند تا امنیت کاربر به مخاطره نیفتد. قبلا از طریق Flash Player امکان دسترسی به میکروفون و دوربین (وبکم) سیستم‌عامل‌ها میسر بود اما که به دلیل مشکلات امنیتی فلش پلیر، این امر به فراموشی سپرده شد و حتی بسیاری از کاربران برای امنیت بیشتر خود فلش پلیر را حذف/غیرفعال کردند.
با تمایل کاربران و برنامه‌نویسان به گسترش برنامه‌های تحت وب، احساس نیاز برای ضبط صدا و تصویر توسط مرورگر(Browser) ها احساس می‌شد و در حال حاضر تقریبا همه کاربران اینترنت (کاربران فایرفاکس و کروم) بدون نیاز به نصب هیچ پلاگین و برنامه اضافه‌ای، می‌توانند از امکان ضبط صدا و تصویر (عکس یا فیلم) توسط مرورگر خود استفاده کنند. کاربران ناچیز Internet Explorer نیز با نصب Silverlight می‌توانند این امکان را به IE خود اضافه کنند.

پروژه منبع باز (Open Source) وب آر تی سی (WebRTC)

همواره یکی از مشکلات ارتباط (متنی، صوتی، تصویری، فایلی و ...) بین افراد، این بود که باید یک سرور به عنوان واسط عمل می‌کرد. یعنی صدای من ابتدا به سرور ارسال می‌شد و سپس از سرور به دستگاه گیرنده.
این امر از سویی موجب کاهش امنیت می‌شود (چون صاحب سرور بر کل داده‌های ردوبدل شده اشراف دارد) و از سویی نیز پهنای باند زیادی را بر سرور تحمیل می‌کند که موجب می‌شود اغلب صاحبان اینگونه سرویس‌ها، برای حفظ مشتریان رایگان خود، علاوه بر نمایش تبلیغات، دست به فروش اطلاعات آنها به دیگران بزنند تا بتوانند هزینه‌های سرور خود را تامین کنند.
WebRTC یک تکنولوژی اپن سورس است که برای ارتباط مرورگرهای وب با یکدیگر (بدون دخالت یک سرور واسط) است. با این فناوری مرورگرها می‌توانند به صورت مستقیم مبادله اطلاعات کنند. وب‌آرتی‌سی شامل API است که با کمک آن‌ها می‌توان بین مرورگرها ارتباط زنده برقرار کرد. یکی از کاربردهای مهم وب‌آرتی‌سی در صحبت‌های صوتی و تصویری است.
وب آر تی سی هم اکنون در اکثر براوزرها (فایرفاکس، کروم، اپرا) پشتیبانی می‌شود و لذا کاربر برای استفاده از آن نیاز به نصب هیچ پلاگین و افزونه‌ای ندارد (توضیح بیشتر).

نمونه‌های اجرا شده قابل مشاهده

  • یک نمونه پروژه ضبط صدا به همراه سورس کد را می‌توانید ببینید که در فایرفاکس و کروم تست شده و به خوبی کار می‌کند. خود سایت webrtc-experiment نیز شامل پروژه‌های دیگری برای ضبط صدا و تصویر و ایجاد کنفرانس صوتی و تصویری و ... است به همراه سورس کد.
  • appear.in و Talky و rabbit سه نمونه از سایت‌هایی هستند که امکان چت صوتی و تصویری را بدون نیاز به ثبت نام، بدون پلاگین، بدون هزینه و ... برای شما فراهم آورده است. همچنین شما میتوانید چندین دوست خود را دعوت کنید و همگی در یک محیط همدیگر را ببینید و صحبت کنید. صرفا کافیست فایرفاکس یا کروم داشته باشید. سیستم‌عاملش مهم نیست. ویندوز باشد یا لینوکس یا اندروید یا مک یا ...
  • با کمک webRTC نه فقط صوت و تصویر بلکه هر نوع دیتا و فایلی را می‌توان تبادل کرد. پروژه ShareDrop و ShareFest و FilePizza سه نمونه پروژه اپن سورس مبتنی بر WebRTC است که هدف‌شان اشتراک‌گذاری فایل است. اولی برای اشتراک‌گذاری فایل در یک شبکه LAN و دومی و سومی در شبکه اینترنت. (نمونه اجرایی ShareDrop، نمونه اجرایی ShareFest، نمونه اجرایی FilePizza)
    pyget نیز یک نمونه سرویس غیر اپن سورس در این خصوص است.
  • TogetherJS نام پروژه‌ای است که شرکت معظم موزیلا تهیه کرده است تا کاربران بتوانند در یک صفحه خاص، به همراه دوستانشان مشارکت داشته باشند.
    کافی‌ست به صفحه موردنظر کد جاوا اسکریپت TogetherJS را بیفزایید. در اینصورت یک منو شامل چند آیکون به کنار صفحه شما اضافه می‌شود که یکی از آن منوها مربوط به دعوت دوستان است. بر روی آن کلیک کنید تا لینک یکتای مختص صفحه شما به شما نمایش داده شود. این لینک را با ایمیل/مسنجر/... به دست دوستان‌تان برسانید. دوستان‌تان پس از کلیک بر روی این لینک، به همان صفحه‌ای که شما در آن هستید وارد می‌شوند و سپس هر یک از شما می‌توانید موس دیگر دوستان‌تان و تغییراتی که در صفحه انجام می‌دهند را ببینید.
    اما TogetherJS به این بسنده نکرده است. شما می‌توانید با دوستان‌تان ارتباط متقابل (چت) صوتی و متنی هم داشته باشید که از طریق webTRC انجام می‌شود...
  • OTR یا Off the Record Messaging
    این سایت با کمک تکنولوژی webrtc امکان چت امن و مستقیم (بدون واسطه سرور) را فراهم آورده است. خوبی این سایت این است که کدهای خود را بر روی گیت‌هاب نیز قرار داده که می‌تواند نمونه آموزشی خوبی برای علاقمندان به این موضوع باشد.
  • Voice Memos
    این پروژه جدید و عالی که توسط یکی از کارمندان گوگل ایجاد شده، یک دفترپه یادداشت صوتی است که کدهای آن می‌تواند راهنمای خوبی برای علاقمندان به ضبط آنلاین صدا باشد.
  • پروژه Peer5 یک پروژه واقعا ابتکاری است که با کمک webRTC یک CDN راه انداخته است :)
    این CDN که بیشتر برای سایت‌های دارای فایل (ویدئویی یا دانلودی) کاربرد دارد، هم سرعت دانلود کاربر را زیاد می‌کند و پهنای باند مصرفی سرور را به شدت کاهش می‌دهد. (البته اشکالی که می‌توان به آن وارد کرد این است که مانند سایر شبکه‌های p2p کاربر پهنای باند بیشتری مصرف می‌کند که دلیل آن واضح است...)
■ جهت تسهیل کار با webRTC پلاگین‌ها و کدهایی آماده شده که از بین آنها می‌توان به PeerJS و EasyRTC و webRTC.io و simpleWebRTC اشاره کرد.
■ خبر جدید و مهم: وب آر تی سی موجب نشت IP واقعی فرد در هنگام استفاده از VPN می‌شود.
■ کسانی که دنبال یک پروژه آموزشی مینیمال برای آشنایی با web rtc هستند، می‌توانند این پروژه را ببینند.
دایرةالمعارف WebRTC! که به تازگی ایجاد شده نیز سایتی جدید برای توضیح واژه‌های مورداستفاده در WebRTC است که توسط کاربران قابل ویرایش و تکمیل است. (شبیه ویکی پدیا)
یادداشت‌های مرتبط
  1. موثرترین روش برنامه‌نویسان برای مقابله با کی‌لاگر ها
  2. ارتقاء امنیت وردپرس
  3. API چیست؟
  4. لیست مواردی که برای امنیت برنامه PHP لازم است چک شود
  5. امنیت در انگولر جی‌اس
  6. تشخیص و کشف نوع، نام و مشخصات مرورگر کاربران سایت
  7. انواع روش‌های شناسایی و احراز هویت کاربران یک صفحه وب
  8. پیشگیری از حملات جعل درخواست بین سایتی
  9. حملات ضدامنیتی XSS یا تزریق کد
  10. تنظیم اچ‌تی‌ام‌ال پیوریفایر

مدیریت

نام وسیله

اعتبار ورود

نام کاربری

رمز عبور

رمز یکبارمصرف

... لیست تمام یادداشت‌ها

تبلیغات

ربات‌های تلگرامی:
مجموعه ربات‌های تلگرامی ما برای ساده‌تر کردن کار با تلگرام و مدیریت کانال و ...
خرید هاست (فضا):
دنبال یک هاست به صرفه برای شروع کار می‌گردید؟
مشخصات و قیمت‌های این مورد رو ببینید. من سال‌ها مشتری‌شون بودم و پشتیبانی‌شون هم خوب بود.
دامنه‌های فروشی:
دامنه‌های زیر مربوط به ما یا مشتریان ماست که قابل فروش هستند. در صورت تمایل به خرید یکی از آنها، مبلغ پیشنهادی را از طریق فرم ارتباطی برای ما ارسال نمایید.

دامنه‌هایی که می‌تواند مصرف مذهبی داشته باشد:
دامنه‌هایی که می‌تواند مصرف تخصصی داشته باشد:
دامنه‌هایی که می‌تواند مصرف شخصی/عمومی داشته باشد: