اگه براتون سوال شده چطوری توی فیلم ها و آهنگ ها صدارو نه فقط از روبرو، بلکه از سمت چپ و راست میتونیم بشنویم، جوابش توی stereo sound و تفاوتش با mono sound هست.
این ویدیو راجع به این موضوع صحبت میکنه
آخرش هم یه مثال باحال گیتار از این دو مدل صدا داره
https://youtu.be/4ryacPfyq4k?si=Zaip1D9dDxbvyMqE
این ویدیو راجع به این موضوع صحبت میکنه
آخرش هم یه مثال باحال گیتار از این دو مدل صدا داره
https://youtu.be/4ryacPfyq4k?si=Zaip1D9dDxbvyMqE
YouTube
Mono vs. Stereo Sound: The Difference Explained (With Audio Examples)
►►Get my music production course for beginners: https://bit.ly/3Dwmv83
A comparison of mono vs stereo sound. Learn about the technical differences between mono and stereo audio files, playback, and recording. Listen to mono vs stereo audio examples.
Read…
A comparison of mono vs stereo sound. Learn about the technical differences between mono and stereo audio files, playback, and recording. Listen to mono vs stereo audio examples.
Read…
شاید وقتی دارید فیلم و سریال دانلود میکنید دیده باشید که یه نسخه ای ازون فیلم و سریال هست که توی اسم x265 داره و نسبت به اونایی که این رو ندارن، حجم خیلی کمتری داره و زودتر دانلود میشه
برای اینکه بدونید این x265 چیه و چرا حجم فایلش خیلی کمتره، این ویدیو بسیار کمک کننده هست
https://www.youtube.com/watch?v=SUvlWYD67QQ
برای اینکه بدونید این x265 چیه و چرا حجم فایلش خیلی کمتره، این ویدیو بسیار کمک کننده هست
https://www.youtube.com/watch?v=SUvlWYD67QQ
YouTube
H264 vs H265 | Explained
Video standards are changing and understanding them can be important. For video calls, live streams or even recording videos, understanding H264 and H265 can help make sure your video quality is optimised for your setup!
Update: typo 30 seconds in, meant…
Update: typo 30 seconds in, meant…
شاید براتون جالب باشه که پلتفرم های بزرگی مثل youtube و twitch چطوری پروسه streaming رو هندل میکنن
این ویدیو یه دید کلی راجع به این موضوع میده
https://www.youtube.com/watch?v=7AMRfNKwuYo
این ویدیو یه دید کلی راجع به این موضوع میده
https://www.youtube.com/watch?v=7AMRfNKwuYo
YouTube
How Does Live Streaming Platform Work? (YouTube live, Twitch, TikTok Live)
Weekly system design newsletter: https://bit.ly/3tfAlYD
Checkout our bestselling System Design Interview books:
Volume 1: https://amzn.to/3Ou7gkd
Volume 2: https://amzn.to/3HqGozy
ABOUT US:
Covering topics and trends in large-scale system design, from…
Checkout our bestselling System Design Interview books:
Volume 1: https://amzn.to/3Ou7gkd
Volume 2: https://amzn.to/3HqGozy
ABOUT US:
Covering topics and trends in large-scale system design, from…
🔥1
چیزی که خیلی توی این پروسه مهمه، adaptive bitrare streaming هست
همون چیزی که باعث میشه وقتی اینترنتتون کند و یا بهتر میشه، کیفیت ویدیو توی یوتیوب تغییر کنه
این شکلی عمل میکنه که میاد بر اساس پهنای باند و یه سری فاکتور های دیگه، کیفیت مناسب رو انتخاب و استفاده میکنه
دو تا پروتکل خوب برای اینکار HLS و MGEP DASH هستن که جفتشون روی HTTP کار میکنن
از نظر عملکردی خیلی شبیه به همن. یه تفاوت اصلیشون اینه که DASH روی اکوسیستم اپل ساپورت نمیشه
ولی HLS توسط خود اپل دولوپ شده و الان تقریبا ساپورت خوبی روی همه پلتفرم ها داره
این ویدیو راجع به همین دوتا پروتکل صحبت میکنه
https://www.youtube.com/watch?v=lkqp3cQcFLo&t=454s
همون چیزی که باعث میشه وقتی اینترنتتون کند و یا بهتر میشه، کیفیت ویدیو توی یوتیوب تغییر کنه
این شکلی عمل میکنه که میاد بر اساس پهنای باند و یه سری فاکتور های دیگه، کیفیت مناسب رو انتخاب و استفاده میکنه
دو تا پروتکل خوب برای اینکار HLS و MGEP DASH هستن که جفتشون روی HTTP کار میکنن
از نظر عملکردی خیلی شبیه به همن. یه تفاوت اصلیشون اینه که DASH روی اکوسیستم اپل ساپورت نمیشه
ولی HLS توسط خود اپل دولوپ شده و الان تقریبا ساپورت خوبی روی همه پلتفرم ها داره
این ویدیو راجع به همین دوتا پروتکل صحبت میکنه
https://www.youtube.com/watch?v=lkqp3cQcFLo&t=454s
YouTube
HTTP Live Streaming vs MPEG DASH
🙌 Helped with my video? Consider supporting my work! Buy me a coffee ☕ and help fuel more educational content on video compression, FFmpeg, Java, Spring Boot, and much more. Your support means the world to me!
💖 Support Me on Buy Me a Coffee: https://ww…
💖 Support Me on Buy Me a Coffee: https://ww…
Tech Den
چیزی که خیلی توی این پروسه مهمه، adaptive bitrare streaming هست همون چیزی که باعث میشه وقتی اینترنتتون کند و یا بهتر میشه، کیفیت ویدیو توی یوتیوب تغییر کنه این شکلی عمل میکنه که میاد بر اساس پهنای باند و یه سری فاکتور های دیگه، کیفیت مناسب رو انتخاب و استفاده…
این مقاله کوتاه از cloudflare هم راجع به این دوتا پروتکل صحبت میکنه و مقایسشون میکنه
https://www.cloudflare.com/learning/video/what-is-mpeg-dash/
https://www.cloudflare.com/learning/video/what-is-mpeg-dash/
Cloudflare
What is MPEG-DASH? | HLS vs. DASH | Cloudflare
MPEG-DASH is a technique for streaming video over the Internet. Learn how DASH streaming works, and compare and contrast HLS vs. DASH.
Tech Den
شاید وقتی دارید فیلم و سریال دانلود میکنید دیده باشید که یه نسخه ای ازون فیلم و سریال هست که توی اسم x265 داره و نسبت به اونایی که این رو ندارن، حجم خیلی کمتری داره و زودتر دانلود میشه برای اینکه بدونید این x265 چیه و چرا حجم فایلش خیلی کمتره، این ویدیو بسیار…
درسته کدک h265 یا HEVE خیلی بهمون کمک میکنه حجم ویدیوهای با کیفیت کمتر بشه، اما یه کدک دیگه هم هست که نسبتا جدید تره و compression بسیار بهتری داره. اونم av1 هست که پارسال شرکت متا برای استوری های اینستاگرام ازش استفاده کرد.
یه نکته خیلی جالب اینه که چون encode کردن ویدیو ها با این کدک منابع بیشتری نیاز داره و زمانبر تر هست، یوتیوب فقط برای ویدیو هایی که در مدت زمان کم وایرال میشن ازین کدک استفاده میکنه.
جزییات بیشتر این کدک رو اینجا میتونید ببینید
https://www.youtube.com/watch?v=BMAccTJBDjE
یه نکته خیلی جالب اینه که چون encode کردن ویدیو ها با این کدک منابع بیشتری نیاز داره و زمانبر تر هست، یوتیوب فقط برای ویدیو هایی که در مدت زمان کم وایرال میشن ازین کدک استفاده میکنه.
جزییات بیشتر این کدک رو اینجا میتونید ببینید
https://www.youtube.com/watch?v=BMAccTJBDjE
YouTube
What You Need To Know About AV1 | The Video Codec For The Internet?
AV1 is fast taking over the internet, but why is that and should you take notice of it too? In this video we breakdown the basics of what AV1 is and why companies big and small are adopting it fast!
Check out the SABRENT Today's Deals & promotions 👇👇👇👇
…
Check out the SABRENT Today's Deals & promotions 👇👇👇👇
…
❤2
این مقاله خیلی کلی راجع به اینکه headless CMS ها چی هستن و strapi چطور کار میکنه توضیح میده
https://strapi.io/blog/strapi-architecture
https://strapi.io/blog/strapi-architecture
strapi.io
Exploring Strapi's Architecture: A Technical Analysis of the Headless CMS Model
Delve into Strapi's headless CMS architecture with our technical analysis, exploring its flexible, modular design and developer-centric approach.
❤2
Tech Den
شاید براتون جالب باشه که پلتفرم های بزرگی مثل youtube و twitch چطوری پروسه streaming رو هندل میکنن این ویدیو یه دید کلی راجع به این موضوع میده https://www.youtube.com/watch?v=7AMRfNKwuYo
همونطور که اینجا دیدیم، ویدیو ها میتونن با bitrate های مختلفی encode بشن.
حالا سوالی که پیش میاد اینه که ما ویدیو رو با چه bitrate هایی باید encode کنیم؟
یکی از کارای جالبی که توی این زمینه انجام میشه، two pass encoding هست
توی این سلوشن پروسه encoding توی دوتا فاز انجام میشه.
توی فاز اول ویدیو پردازش میشه و یه سری دیتا راجع به هر frame جمع آوری میشه. مثلا اینکه یه frame خاص چقدر پیچیدگی داره
بعد توی فاز دوم پردازش اصلی و encoding انجام میشه
به صورت کلی مزیتش اینه که برای frame هایی که پیچیدگی پایین تری دارن میتونیم از bitrate پایین تری استفاده کنیم و حجم فایل نهایی رو بیاریم پایین تر
اما یکی از مشکلاتش اینه که پردازشمون روی ویدیو دو برابر میشه و ریسورس بیشتری نیاز خواهیم داشت. همچنین بخاطر ماهیت real-time بودن live stream ها شاید نتونیم ازین سلوشن استفاده کنیم
جزییات بیشترش رو میتونید توی این دوتا لینک بخونید
https://castr.com/blog/what-is-two-pass-encoding/
https://cloudinary.com/glossary/two-pass-encoding#:~:text=Two%2Dpass%20encoding%20is%20a%20crucial%20video%20encoding%20technique%20that,bitrate%20in%20the%20second%20pass.
حالا سوالی که پیش میاد اینه که ما ویدیو رو با چه bitrate هایی باید encode کنیم؟
یکی از کارای جالبی که توی این زمینه انجام میشه، two pass encoding هست
توی این سلوشن پروسه encoding توی دوتا فاز انجام میشه.
توی فاز اول ویدیو پردازش میشه و یه سری دیتا راجع به هر frame جمع آوری میشه. مثلا اینکه یه frame خاص چقدر پیچیدگی داره
بعد توی فاز دوم پردازش اصلی و encoding انجام میشه
به صورت کلی مزیتش اینه که برای frame هایی که پیچیدگی پایین تری دارن میتونیم از bitrate پایین تری استفاده کنیم و حجم فایل نهایی رو بیاریم پایین تر
اما یکی از مشکلاتش اینه که پردازشمون روی ویدیو دو برابر میشه و ریسورس بیشتری نیاز خواهیم داشت. همچنین بخاطر ماهیت real-time بودن live stream ها شاید نتونیم ازین سلوشن استفاده کنیم
جزییات بیشترش رو میتونید توی این دوتا لینک بخونید
https://castr.com/blog/what-is-two-pass-encoding/
https://cloudinary.com/glossary/two-pass-encoding#:~:text=Two%2Dpass%20encoding%20is%20a%20crucial%20video%20encoding%20technique%20that,bitrate%20in%20the%20second%20pass.
Castr's Blog
Two-Pass Encoding: What Is It & How Worth It?
Two-pass encoding is a video encoding process in which the video is compressed twice. In this multi-pass encoding process, video data is processed in two phases.
👍2
توی بحث encoding همیشه یه tradeoff ای هست بین مدت زمان encode کردن و میزان compression ای که انجام میشه
طبیعتا اگر ما بخوایم حجم ویدیویی که داریم پایین تر بیاد و به compression بالاتری دست پیدا کنیم، نیازه به محاسبات بیشتر داریم که باعث میشه این پروسه زمان بیشتری ببره
در رابطه به همین tradeoff یه چیزی داریم به اسم encoding preset
که شما میتونید مشخص کنید چقدر میخواید پروسه encoding تون سریع باشه و یا چقدر میخواید compression بیشتری داشته باشید
لیست کامل preset هایی که توی HEVC یا همون h265 داریم رو اینجا میتونید ببینید
https://x265.readthedocs.io/en/stable/presets.html
طبیعتا اگر ما بخوایم حجم ویدیویی که داریم پایین تر بیاد و به compression بالاتری دست پیدا کنیم، نیازه به محاسبات بیشتر داریم که باعث میشه این پروسه زمان بیشتری ببره
در رابطه به همین tradeoff یه چیزی داریم به اسم encoding preset
که شما میتونید مشخص کنید چقدر میخواید پروسه encoding تون سریع باشه و یا چقدر میخواید compression بیشتری داشته باشید
لیست کامل preset هایی که توی HEVC یا همون h265 داریم رو اینجا میتونید ببینید
https://x265.readthedocs.io/en/stable/presets.html
❤4
بعضی از پلتفرم ها وقتی توی پروسه sign up لینک یا OTP code ای براتون میفرستن، توی ایمیل یه دکمه یا لینک هم میزارن که با استفاده ازش میتونید برگردید به فلویی که داشتید توش جلو میرفتید
حالا اگه اون پلتفرم یه native application هم داشته باشه، یه کار جالبلی که میشه برای بهبود تجربه کاربری انجام داد، اضافه کردن universal link هست
کاربری که native application رو داره، به جای اینکه برگرده توی web application، میره توی native application و ادامه فلو رو اونجا جلو میبره
اگر هم اپلیکیشن رو نصب نداشته باشه، به صورت fallback فلو توی web جلو میره
این مقاله یاد میده که چطوری میتونیم این کار رو برای IOS انجام بدیم
مشابه به همین روش رو میتونیم برای Android هم پیاده سازی کنیم
یه چیز جالب دیگه ای هم که بهش اشاره میکنه تفاوت universal link و deep link هست
https://adapty.io/blog/ios-universal-links/
حالا اگه اون پلتفرم یه native application هم داشته باشه، یه کار جالبلی که میشه برای بهبود تجربه کاربری انجام داد، اضافه کردن universal link هست
کاربری که native application رو داره، به جای اینکه برگرده توی web application، میره توی native application و ادامه فلو رو اونجا جلو میبره
اگر هم اپلیکیشن رو نصب نداشته باشه، به صورت fallback فلو توی web جلو میره
این مقاله یاد میده که چطوری میتونیم این کار رو برای IOS انجام بدیم
مشابه به همین روش رو میتونیم برای Android هم پیاده سازی کنیم
یه چیز جالب دیگه ای هم که بهش اشاره میکنه تفاوت universal link و deep link هست
https://adapty.io/blog/ios-universal-links/
❤1
این ویدیو یه اراعه از kubecon هست که توضیح میده که توی دنیای کوبرنتیز چه volume های مختلفی داریم و برای اینکه یه persisted volume داشته باشیم، چه primitive هایی توی کوبرنتیز دخیل هستن
https://youtu.be/UgtYlvIv36Q?si=ke_stY7tKBEPoJ9w
https://youtu.be/UgtYlvIv36Q?si=ke_stY7tKBEPoJ9w
YouTube
How to put a Database in Kubernetes - Jeffrey Carpenter, DataStax
Don’t miss out! Join us at our next event: KubeCon + CloudNativeCon Europe 2022 in Valencia, Spain from May 17-20. Learn more at https://kubecon.io The conference features presentations from developers and end users of Kubernetes, Prometheus, Envoy, and all…
Forwarded from نوشتههای ترمینالی
یه مطلب خوب در مورد معرفی وب اسمبلی
https://vrgl.ir/g268k
https://vrgl.ir/g268k
ویرگول
کنجکاوی در مورد Web Assembly - ویرگول
چیزایی که این مدت از WASM خونده بودم رو توی این پست جمع کردم.
❤2
نوشتههای ترمینالی
یه مطلب خوب در مورد معرفی وب اسمبلی https://vrgl.ir/g268k
توضیح بسیار خوب و روونی داره و مدل ذهنی خوبی ایجاد میکنه
یکی هم مقاله فیگما راجع به همین موضوع رو کامنت کرده بود که به نظر جالب میاد
https://www.figma.com/blog/webassembly-cut-figmas-load-time-by-3x/
یکی هم مقاله فیگما راجع به همین موضوع رو کامنت کرده بود که به نظر جالب میاد
https://www.figma.com/blog/webassembly-cut-figmas-load-time-by-3x/
Figma
Figma is powered by WebAssembly | Figma Blog
Because our product is written in C++, which can easily be compiled into WebAssembly, Figma is a perfect demonstration of this new format’s power.
❤3
از کجا بدونم زیاد حرف میزنم؟
بیست ثانیه اول چراغ سبز بیست ثانیه دوم چراغ زرد
https://hbr.org/2015/06/how-to-know-if-you-talk-too-much?tpcc=orgsocial_edit&utm_campaign=hbr&utm_medium=social&utm_source=linkedin
بیست ثانیه اول چراغ سبز بیست ثانیه دوم چراغ زرد
https://hbr.org/2015/06/how-to-know-if-you-talk-too-much?tpcc=orgsocial_edit&utm_campaign=hbr&utm_medium=social&utm_source=linkedin
Harvard Business Review
How to Know If You Talk Too Much
Try not to go on for more than 40 seconds at a time.
👍1
Forwarded from مکشوفات علیز
کلا به نظرم درست کردن convention و رعایت کردن اون اتفاق مهمیه توی زندگی. حالا چه مهندسی نرم افزار باشه، چه کارهای ساده و روزمره.
درست کردن زبون مشترک اورهد ارتباط گرفتن، حل کردن مشکل و بهبود رو کم میکنه.
پس حالا این chart best practice رو شما هم بخونید چون خودمم تازه دیدمش و خب خیلی زشته که تازه دیدمش.
درست کردن زبون مشترک اورهد ارتباط گرفتن، حل کردن مشکل و بهبود رو کم میکنه.
پس حالا این chart best practice رو شما هم بخونید چون خودمم تازه دیدمش و خب خیلی زشته که تازه دیدمش.
helm.sh
Helm | Best Practices
Helm - The Kubernetes Package Manager.
❤1👍1
احتمالا با مفهموم server side rendering آشنا باشید. یه روش رسوندن محتوای وبسایت/وب اپلیکیشن به دست کاربر هست و به این صورت عمل میکنه که محتوای مورد نیاز در سمت سرور render میشه و تا جای ممکن سعی میشه تا HTML کامل به دست کاربر رسونده بشه
در برابرش client side rendering رو داریم. ابتدا یه HTML تقریبا خالی برای کاربر فرستاده میشه. در کنارش تمام asset های مورد نیاز برای نمایش اون صفحه توسط مرورگر کاربر دانلود میشه و همونجا عمل rendering اتفاق می افته
حالا دیروز با یه مفهومی آشنا شدم به اسم dynamic rendering
اینشکلیه که ترکیبی از دوتا روش بالا هست.
زمانی که بدونیم درخواست دهنده وبسایت/وب اپلیکیشنمون bot های گوگل هستن که میخوان وبسایتمون رو index کنن (توی سرچ های گوگل بیاد بالا)، میایم به صورت server side عمل rendering رو انجام میدیم
اما زمانی که درخواست دهنده کاربر عادی هست، میتونیم به صورت client side عمل rendering رو انجام میدیم
در مورد این روش میتونید اینجا بیشتر بخونید
https://developers.google.com/search/docs/crawling-indexing/javascript/dynamic-rendering
در برابرش client side rendering رو داریم. ابتدا یه HTML تقریبا خالی برای کاربر فرستاده میشه. در کنارش تمام asset های مورد نیاز برای نمایش اون صفحه توسط مرورگر کاربر دانلود میشه و همونجا عمل rendering اتفاق می افته
حالا دیروز با یه مفهومی آشنا شدم به اسم dynamic rendering
اینشکلیه که ترکیبی از دوتا روش بالا هست.
زمانی که بدونیم درخواست دهنده وبسایت/وب اپلیکیشنمون bot های گوگل هستن که میخوان وبسایتمون رو index کنن (توی سرچ های گوگل بیاد بالا)، میایم به صورت server side عمل rendering رو انجام میدیم
اما زمانی که درخواست دهنده کاربر عادی هست، میتونیم به صورت client side عمل rendering رو انجام میدیم
در مورد این روش میتونید اینجا بیشتر بخونید
https://developers.google.com/search/docs/crawling-indexing/javascript/dynamic-rendering
Google for Developers
Dynamic Rendering as a workaround | Google Search Central | Documentation | Google for Developers
Dynamic rendering was a workaround for websites experiencing issues with JavaScript-powered content.
👍2