প্রকল্প সম্পর্কে
swyh-rs হলো মূল Stream-What-You-Hear (SWYH) ধারণার একটি MIT-লাইসেন্সড Rust পুনর্বাস্তবায়ন: এটি Windows বা Linux পিসিতে বর্তমানে চলমান অডিও ক্যাপচার করে নেটওয়ার্ক মিউজিক প্লেয়ারে স্ট্রিম করে। লেখক এটি আংশিকভাবে Rust শেখার জন্য লিখেছেন, এবং কারণ মূল সংস্করণটি শুধু Windows-এ চলত, কিছু রেন্ডারারের সাথে সমস্যা ছিল, এবং একটি পুরনো .NET UPnP লাইব্রেরি থেকে মেমরি লিক বহন করত।
এটি কীভাবে কাজ করে: চালু হলে এটি নির্বাচিত সোর্স থেকে অডিও ক্যাপচার করে (Windows-এ WasApi, Linux-এ ALSA) cpal লাইব্রেরির মাধ্যমে, একটি কনফিগারযোগ্য পোর্টে (ডিফল্ট 5901) বিল্ট-ইন HTTP স্ট্রিমিং সার্ভার চালু করে, LAN-এ UPnP/DLNA/OpenHome রেন্ডারার খুঁজতে SSDP ডিসকভারি চালায়, এবং প্রতিটি আবিষ্কৃত রেন্ডারারের জন্য একটি বোতাম দেখায়। বোতামে ক্লিক করলে রেন্ডারারকে (OpenHome বা AVTransport) স্ট্রিম চালানোর নির্দেশ দেয়। ডিসকভারি ব্যাকগ্রাউন্ডে পর্যায়ক্রমে পুনরায় চলে। 1.21.0 থেকে এটি সরাসরি SlimProto প্রোটোকলও সমর্থন করে, তাই Logitech Media Server/Lyrion ছাড়াই squeezelite ক্লায়েন্ট আবিষ্কার ও নিয়ন্ত্রণ করা যায়।
স্ট্রিমিং ফরম্যাট শুধু লসলেস: 16/24-বিট FLAC (পছন্দনীয়), WAV, RF64 এবং LPCM (audio/l16)। কোনো লসি MP3/AAC পুনঃএনকোডিং নেই। অডিও সোর্স স্যাম্পল রেটে স্ট্রিম হয়। স্ট্রিমটি স্থানীয় ইন্টারনেট রেডিও URL হিসেবেও পাওয়া যায়, যেমন http://{ip}:5901/stream/swyh.flac, সাথে বিট ডেপথ ও স্ট্রিম সাইজ মোডের কোয়েরি প্যারামিটার।
GUI-তে (fltk-rs) Audio, Network, App ও Status ট্যাব আছে। অপশনগুলোর মধ্যে রয়েছে অডিও সোর্স ও স্যাম্পল রেট, স্ট্রিমিং ফরম্যাট, 24-বিট মোড, পাঁচটি HTTP চাঙ্কিং/Content-Length মোড, প্রাথমিক বাফারিং, 16-বিটের জন্য TPDF ডিদারিং, রেন্ডারার সংযুক্ত রাখতে inject-silence, নেটওয়ার্ক ইন্টারফেস নির্বাচন, HTTP পোর্ট, SSDP ইন্টারভাল (0 দিলে শুধু সার্ভ মোডের জন্য ডিসকভারি বন্ধ), ম্যানুয়াল ডিসকভারি ট্রিগার, UI ভাষা ও থিম, লগ লেভেল, অটো-রিজিউম, অটো-রিকানেক্ট, RMS লেভেল মনিটর, এবং SlimProto চালু/বন্ধ। রেন্ডারার বোতাম ডান-ক্লিকে লুকানো যায়; সমর্থিত হলে ভলিউম স্লাইডার দেখা যায়, এবং Shift-ড্র্যাগ করলে ভলিউম সব সক্রিয় রেন্ডারারে কপি হয়। আলাদা কনফিগ ফাইল দিয়ে একাধিক ইনস্ট্যান্স চালিয়ে একইসাথে বিভিন্ন সোর্স থেকে বিভিন্ন রিসিভারে স্ট্রিম করা যায়।
README-তে সামঞ্জস্য নোটে MoOde, Volumio, Denon Heos, Sonos, Roon, Yamaha, Kef, Bubble UPnP-এর মাধ্যমে Chromecast, Squeezebox/squeezelite ও অন্যদের সাথে পরীক্ষার কথা বলা হয়েছে, সাথে ডিভাইস-নির্দিষ্ট ফরম্যাট ও স্ট্রিম-সাইজ সতর্কতা। পরিচিত সমস্যাগুলোর মধ্যে রয়েছে ফায়ারওয়াল/পোর্ট প্রয়োজনীয়তা (HTTP-এর জন্য 5901, SlimProto-এর জন্য 3483), Linux অডিও মনিটরিং সেটআপ, MPD-ভিত্তিক প্লেয়ারে WAV/RF64/LPCM-এর সাথে 5-সেকেন্ড FFMPEG বিশ্লেষণ বিলম্ব, এবং নতুন Windows ইনস্টলে VCRUNTIME140.dll প্রয়োজন। Windows x86/64 ও Linux appimage-এর জন্য বাইনারি দেওয়া আছে; ARM বিল্ড তৃতীয় পক্ষ থেকে লিংক করা। প্রকল্পটি রিসোর্স ব্যবহারে ছোট (প্রায় 8 MB-এর কম RAM) এবং এতে একটি CLI বাইনারি ও একটি কমিউনিটি Python ট্রে আইকন আছে।
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.