پخش رادیو در FreeBSD 10 با IceCast و Ices

آموزش زیر نحوه تنظیم سرور پخش جریان رادیویی IceCast و پخش فایلهای صوتی (موسیقی یا پادکست) بر روی پلت فرم FreeBSD را توضیح می دهد. این آموزش فرض می کند که شما در حال اجرای FreeBSD 10.0 یا بالاتر هستید و به عنوان کاربر اصلی وارد سیستم شده اید. همچنین فرض بر این است که شما یک ویرایشگر متن برای ویرایش فایل های پیکربندی دارید.

قبل از شروع ، درک سه بخش از یک سرور جریان صوتی مهم است. اول ، ما خود نرم افزار سرور ، IceCast داریم. IceCast مانند یک مرکز مرکزی که جریانهای صوتی در آن وارد می شوند و ارسال می شوند ، عمل می کند. سرویس IceCast جریانهای صوتی را از مراجعان منبع دریافت می کند. مشتری های منبع برنامه هایی هستند که فایلهای صوتی یا سایر منابع صوتی مانند میکروفن را می خوانند. در مثال ما ، مشتری منبع Ices است و یک جریان صوتی را به سرور IceCast تأمین می کند. مؤلفه سوم مشتری گوش دادن است. جریانهای صوتی از طریق سرور IceCast به شنوندگان منتقل می شوند که سپس صدا را می شنوند. به طور معمول یک مشتری گوش دادن یک برنامه دسک تاپ مانند مرورگر وب ، پخش کننده چندرسانه ای VLC یا WinAMP است. از نظر بصری ، این ترتیب به شرح زیر است:

 Source client (Ices) --> IceCast server --> Listening client (browser)

برای راه اندازی یک سرور جریان IceCast در FreeBSD ، ابتدا خود نرم افزار سرور را نصب می کنیم. این کار با اجرای دستور زیر قابل انجام است.

 pkg install icecast2

سپس /etc/rc.confپرونده را باز می کنیم و سرویس پس زمینه IceCast را فعال می کنیم. این کار با افزودن متن زیر در پایین /etc/rc.confفایل انجام می شود.

 icecast_enable="YES"

قدم بعدی ما پیکربندی سرویس IceCast است. بسته IceCast با یک پرونده پیکربندی نمونه ارسال می شود که می توانیم آن را تغییر دهیم. این پرونده نمونه در /usr/local/etcدایرکتوری قرار دارد. ما یک نسخه از این پرونده نمونه را قبل از ویرایش آن تهیه خواهیم کرد.

 cd /usr/local/etc
 cp icecast.xml.sample icecast.xml

اکنون می خواهیم چند فیلد کلیدی icecast.xmlفایل را ویرایش کنیم. بسیاری از پرونده ها می توانند با تنظیمات پیش فرض باقی بمانند ، اما باید اطلاعات ورود را تغییر دهیم. ما می توانیم این کار را با مراجعه به بخش تأیید اعتبار (در حدود خط 30) و تغییر منبع-رمز عبور و پسورد رله به چیز مناسب انجام دهیم. این رمزهای عبور به ما امکان می دهد داده ها را از یک سرویس دهنده منبع به سرور IceCast منتقل کنیم. ما همچنین باید متغیرهای سرپرست-کاربر و مدیر-رمز عبور را به چیزی منحصر به فرد برای سیستم خود تغییر دهیم. این دو اعتبار از رابط مبتنی بر وب سرور IceCast محافظت می کنند. سپس ، در پایین خط 150 ، باید متغیرهای Mount-name ، نام کاربری و ... را تغییر دهیمرمز عبور . این سه متغیر از نقطه کوه سرور IceCast محافظت می کنند. سرانجام ، در انتهای icecast.xmlپرونده باید یک بخش امنیتی را مشاهده کنیم که در مورد آن اظهار نظر شده است. ما باید نمادهای باز <- و بسته شدن > از اطراف بند امنیتی را حذف کنیم . پس از icecast.xmlتغییر پرونده ، پرونده را ذخیره کنید.

پس از ویرایش پرونده پیکربندی ، می خواهیم ورود را فعال کنیم. برای انجام این کار ، دستورات زیر را اجرا کنید.

 mkdir /var/log/icecast
 chown nobody:nogroup /var/log/icecast

سرانجام ، ما سرور IceCast را شروع می کنیم ، این باعث می شود که سرور به دنبال ارتباطات ورودی و ورودی مشتری باشد.

 service icecast2 start

سرور IceCast در حال کار و فعال است ، بنابراین اکنون باید بازی را برای شما فراهم کنیم. قدم بعدی ما نصب مشتری برنامه Ices است. FreeBSD در حال حاضر یک بسته باینری برای Ices ارائه نمی دهد ، بنابراین ما باید آن را از درگاه ها بسازیم. این کار با اجرای دستورات زیر قابل انجام است.

 portsnap fetch
 portsnap extract
 cd /usr/ports/audio/ices
 make install
 make clean

مشتری منبع Ices به یک حساب کاربری و ورود به سیستم نیاز دارد. برای ایجاد کاربر برای نرم افزار Ices و تنظیم گذرواژه روی حساب ، این دستورات را اجرا کنید.

 pw groupadd ice
 pw useradd ices -g ice -m
 passwd ices

با ایجاد کاربر ، اکنون می توانیم ثبت نام برای Ices را فعال کنیم.

 mkdir /var/log/ices
 chown ices:ice /var/log/ices

از اینجا به بعد ، دیگر نیازی به دسترسی کاربر روت نداریم و می توانیم به عنوان کاربر یخ عمل کنیم . در مرحله بعد باید دو دایرکتوری ایجاد کنیم. یک فهرست musicشامل پرونده های صوتی است که می خواهیم به آنها پخش کنیم. فهرست دوم ، confپرونده های پیکربندی ما را شامل می شود.

 su ices
 cd /home/ices
 mkdir music conf
 cp /usr/local/share/ices/ices-playlist.xml conf/configuration.xml

اکنون یک پرونده پیکربندی نمونه در دست ماست. وقت آن است که conf/configuration.xmlپرونده را متناسب با محیط خود ویرایش کنیم. تنها قسمت هایی از پرونده ای که ما نیاز به تغییر آن داریم ، در حدود خط 60 قرار دارد. در اینجا ما باید رمز عبور و مکان نصب را در icecast.xmlپرونده نصب کنیم . به عنوان مثال ، اگر نام Mount خود را در icecast.xmlپرونده قرار /radio.oggدهیم ، باید پارامتر mountconfiguration.xml فایل خود را نیز تغییر دهیم . ما رمز زمینه در باید مطابقت منبع رمز عبور ما در ایجاد فایل. پس از ویرایش پرونده ، باید تغییرات خود را ذخیره کنیم./radio.oggconfiguration.xmlicecast.xmlconfiguration.xml

با وجود پرونده پیکربندی موجود ، مرحله بعدی باید کپی کردن فایلهای صوتی مورد نظر برای انتقال به musicفهرست باشد. فایل های صوتی باید همه .oggبا فرمت باشند زیرا IceCast .mp3با تنظیمات پیش فرض خود پرونده ها را مدیریت نمی کند . هنگامی که تمام فایلهای صوتی که مایل به پخش آن هستیم در musicفهرست قرار داریم ، باید یک لیست پخش ایجاد کنیم. لیست پخش یک فایل متنی ساده با لیستی از موسیقی است که می خواهیم پخش کنیم. با دستورات زیر می توانیم به راحتی یک لیست پخش ایجاد کنیم.

 cd /home/ices/conf
 ls -d ../music/*.ogg > playlist.txt

فایل های صوتی به ترتیب ظاهر شده در playlist.txtپرونده پخش می شوند. این فایل را می توان در هر ویرایشگر متن ویرایش کرد تا ترتیب تنظیم صدای صوتی را تنظیم کند.

تنها کاری که باید برای شروع پخش فایلهای صوتی خود انجام دهیم اجرای این دستور است.

 ices configuration.xml

نکته جانبی: اغلب ممکن است ما بخواهیم مشتری Ices را اجرا کنیم و بعد از آن خارج شویم و کار دیگری انجام دهیم. در این حالت ، من می خواهم Ices را از طریق یک صفحه نمایش اجرا کنم . در اینجا مثالی در مورد نحوه اجرای یخ با صفحه نمایش داده شده است.

 screen
 cd /home/ices/conf
 ices configuration.xml

سپس Ctrl + A را فشار داده و روی کلید D ضربه بزنید . این جلسه صفحه را جدا می کند و به ما اجازه می دهد تا در حالی که Ices صدا را در پس زمینه پخش می کند ، به سیستم وارد شویم. بعداً می توانیم با ورود به سیستم و ورود به سیستم ، Ices را متوقف کنیم:

 screen -r
 killall ices
 exit

اکنون می توانیم در یک مرورگر وب به پورت 8000 ما متصل شویم تا جریان صوتی خود را گوش کنیم. URL مانند خواهد بود http://myservername:8000. اگر می خواهید دیگران به این جریان گوش دهند ، این آدرس قابل دسترسی است.

پیش از این ، من ذکر کردم که IceCast .oggفایل ها را پخش می کند و نه .mp3. غلبه بر این در FreeBSD نسبتاً آسان است. به عنوان کاربر اصلی می توانیم یک ابزار تبدیل به نام sox نصب کنیم که .mp3پرونده های ما را به .oggپرونده تبدیل می کند. با فرض اینکه همه .mp3پرونده های ما در /home/ices/musicفهرست قرار دارند ، می توانیم sox را نصب کنیم و تبدیل را به شرح زیر انجام دهیم:

 pkg install sox
 cd /home/ices/music
 for i in *.mp3; do sox ./"$i" ./"$i".ogg; done

سپس می توانیم لیست پخش خود را با استفاده از:

 cd ../conf
 ls -d ../music/*.ogg > playlist.txt

لطفا در نظر داشته باشید که جریان صوتی می تواند پهنای باند باشد. یک یا دو مشتری گوش دادن به ایستگاه رادیویی ما به پهنای باند زیادی نیاز ندارند ، اما 50 یا بیشتر مشتری می توانند یک سرور را به پهنای باند ماهانه اختصاص یافته خود فشار دهند. این ایده خوبی است که بتوانید پهنای باند را در سرور جریان فعال کنید تا از هزینه های مالی غیر منتظره جلوگیری کنید.



Leave a Comment

نحوه نصب انجمن NodeBB در FreeBSD 12

نحوه نصب انجمن NodeBB در FreeBSD 12

با استفاده از یک سیستم متفاوت؟ NodeBB یک نرم افزار انجمن مبتنی بر Node.js است. از سوکت های وب برای تعامل فوری و اعلامیه های زمان واقعی استفاده می کند. NodeB

از rezv.conf از DHCP در FreeBSD 10 محافظت کنید

از rezv.conf از DHCP در FreeBSD 10 محافظت کنید

اگر رأی دهنده خود را اجرا می کنید ، یا مایل به استفاده از یک ارائه دهنده شخص ثالث هستید ، ممکن است متوجه شوید که پرونده /etc/resolv.conf شما توسط DHCP رونویسی می شود

نحوه نصب X-Cart 5 در FreeBSD 12

نحوه نصب X-Cart 5 در FreeBSD 12

با استفاده از یک سیستم متفاوت؟ X-Cart یک پلتفرم تجارت الکترونیک با منبع آزاد بسیار انعطاف پذیر است که دارای چندین ویژگی و ادغام است. کد منبع X-Cart میزبان است

WordPress را در OpenBSD 6.2 نصب کنید

WordPress را در OpenBSD 6.2 نصب کنید

مقدمه WordPress سیستم مدیریت محتوای غالب در اینترنت است. این قدرت همه چیز را از بلاگ ها گرفته تا وب سایت های پیچیده و دارای محتوای پویا انجام می دهد

OpenBSD به عنوان یک راه حل تجارت الکترونیکی با PrestaShop و Apache

OpenBSD به عنوان یک راه حل تجارت الکترونیکی با PrestaShop و Apache

مقدمه این آموزش OpenBSD را به عنوان یک راه حل تجارت الکترونیکی با استفاده از PrestaShop و Apache نشان می دهد. Apache لازم است زیرا PrestaShop دارای UR پیچیده است

نحوه نصب Anchor CMS در FreeBSD 11 FAMP VPS

نحوه نصب Anchor CMS در FreeBSD 11 FAMP VPS

با استفاده از یک سیستم متفاوت؟ Anchor CMS یک سیستم مدیریت محتوا (CMS) بسیار ساده و بسیار سبک ، بسیار آزاد و آزاد است.

نحوه نصب Tiny Tiny RSS Reader در FreeBSD 11 FAMP VPS

نحوه نصب Tiny Tiny RSS Reader در FreeBSD 11 FAMP VPS

با استفاده از یک سیستم متفاوت؟ Tiny Tiny RSS Reader خواننده و جمع کننده منبع خبری وب مبتنی بر منبع آزاد (RSS / Atom) رایگان و منبع باز است که به منظور پخش

نحوه نصب WonderCMS در FreeBSD 12

نحوه نصب WonderCMS در FreeBSD 12

با استفاده از یک سیستم متفاوت؟ WonderCMS یک فایل CMS با منبع آزاد ، سریع و کوچک است که به زبان PHP نوشته شده است. کد منبع WonderCMS در Github میزبانی شده است. این راهنما است

نحوه نصب Pagekit 1.0 CMS در FreeBSD 11 FAMP VPS

نحوه نصب Pagekit 1.0 CMS در FreeBSD 11 FAMP VPS

با استفاده از یک سیستم متفاوت؟ Pagekit 1.0 CMS یک سیستم زیبا و مدولار زیبا ، مدولار ، قابل تمدید و سبک ، آزاد و منبع باز منبع آزاد (CMS) با

نحوه فعال سازی TLS 1.3 در Apache در FreeBSD 12

نحوه فعال سازی TLS 1.3 در Apache در FreeBSD 12

با استفاده از یک سیستم متفاوت؟ TLS 1.3 نسخه ای از پروتکل Transport Layer Security (TLS) است که در سال 2018 به عنوان یک استاندارد پیشنهادی در RFC 8446 منتشر شد

iRedMail را در FreeBSD 10 تنظیم کنید

iRedMail را در FreeBSD 10 تنظیم کنید

در این آموزش نحوه نصب گروهی iRedMail بر روی نصب جدید FreeBSD به شما نشان داده می شود. شما باید از سرورهایی با حداقل یک گیگابایت o استفاده کنید

نحوه نصب Dolibarr در FreeBSD 12

نحوه نصب Dolibarr در FreeBSD 12

با استفاده از یک سیستم متفاوت؟ Dolibarr یک برنامه ریزی منبع باز شرکت (ERP) و مدیریت ارتباط با مشتری (CRM) برای مشاغل است. دلیبار

نحوه نصب Paste 2.1 در FreeBSD 11 FAMP VPS

نحوه نصب Paste 2.1 در FreeBSD 11 FAMP VPS

با استفاده از یک سیستم متفاوت؟ Paste 2.1 یک برنامه pastebin ساده و انعطاف پذیر ، رایگان و منبع باز برای ذخیره کد ، متن و موارد دیگر است. این ابتکار عمل بود

Swap File را در FreeBSD 10 ایجاد کنید

Swap File را در FreeBSD 10 ایجاد کنید

خارج از جعبه ، سرورهای Vultr FreeBSD به گونه ای تنظیم نشده اند که فضای swap را در خود جای دهند. اگر قصد شما برای یک نمونه ابر یکبار مصرف است ، احتمالاً شما اصلاً نیکوکار نیستید

MariaDB را در OpenBSD 6 پیکربندی کنید

MariaDB را در OpenBSD 6 پیکربندی کنید

در این مقاله ، Ill به شما نشان می دهد که چگونه MariaDB را در OpenBSD 6 نصب کنید و پیکربندی کنید تا در دسترس یک وب سرور قرار گرفته (Apache یا Nginx) باشد. شما als

نحوه نصب پشته Apache ، MySQL و PHP (FAMP) در FreeBSD 12.0

نحوه نصب پشته Apache ، MySQL و PHP (FAMP) در FreeBSD 12.0

مقدمه یک پشته FAMP ، که قابل مقایسه با یک پشته LAMP در لینوکس است ، مجموعه ای از نرم افزارهای منبع باز است که به طور معمول در کنار هم نصب می شود.

نحوه نصب DokuWiki در FreeBSD 12

نحوه نصب DokuWiki در FreeBSD 12

با استفاده از یک سیستم متفاوت؟ DokuWiki یک برنامه ویکی منبع باز است که به زبان پی اچ پی نوشته شده است و به پایگاه داده نیاز ندارد. این داده ها را در پرونده های متنی ذخیره می کند. DokuWik

راه اندازی بستر نشر حرفه ای Ghost در OpenBSD 6

راه اندازی بستر نشر حرفه ای Ghost در OpenBSD 6

Ghost جدیدترین و بزرگترین راهپیمایی وردپرس برای رقیب است. توسعه موضوع سریع و آسان برای یادگیری است زیرا توسعه دهندگان Ghost تصمیم گرفتند از هر دو استفاده کنند

نحوه نصب آلبوم عکس Lychee 3.1 در یک FAMP VPS FreeBSD 11

نحوه نصب آلبوم عکس Lychee 3.1 در یک FAMP VPS FreeBSD 11

با استفاده از یک سیستم متفاوت؟ Lychee 3.1 Photo Album ابزاری ساده و انعطاف پذیر ، رایگان و منبع باز منبع آزاد است که روی یک سرور VPS اجرا می شود. نصب می کند

تغییر اندازه استخر ZFS Storage در FreeBSD / TrueOS

تغییر اندازه استخر ZFS Storage در FreeBSD / TrueOS

هنگام به روزرسانی نمونه VPS در Vultr ، یک سیستم پرونده لینوکس به صورت خودکار تغییر اندازه می یابد. هنگام اجرای FreeBSD با سیستم پرونده پیشرفته ZFS ، برخی از کتابچه های راهنمای کاربر را نگران می کنید

نحوه نصب بستر سبد خرید LiteCart در اوبونتو 16.04

نحوه نصب بستر سبد خرید LiteCart در اوبونتو 16.04

LiteCart یک بستر سبد خرید آزاد و منبع باز است که به زبان های PHP ، jQuery و HTML 5 نوشته شده است. این نرم افزار ساده ، سبک و با کاربرد آسان است.

نحوه نصب Anchor CMS بر روی یک VPS Fedora 26 LAMP

نحوه نصب Anchor CMS بر روی یک VPS Fedora 26 LAMP

با استفاده از یک سیستم متفاوت؟ Anchor CMS یک سیستم مدیریت محتوا (CMS) بسیار ساده و بسیار سبک ، بسیار آزاد و آزاد است.

اشتراک NFS را در Debian تنظیم کنید

اشتراک NFS را در Debian تنظیم کنید

NFS یک سیستم فایل مبتنی بر شبکه است که به رایانه ها اجازه می دهد تا از طریق شبکه رایانه ای به فایلها دسترسی پیدا کنند. این راهنما توضیح می دهد که چگونه می توانید پوشه ها را روی NF قرار دهید

نحوه بروزرسانی CentOS 7 ، Ubuntu 16.04 و Debian 8

نحوه بروزرسانی CentOS 7 ، Ubuntu 16.04 و Debian 8

هنگام راه اندازی سرور جدید لینوکس ، به روزرسانی سیستم های هسته و سایر بسته ها تا آخرین نسخه پایدار یک روش توصیه شده است. در این مقاله

نحوه نصب Matomo Analytics در Fedora 28

نحوه نصب Matomo Analytics در Fedora 28

با استفاده از یک سیستم متفاوت؟ Matomo (سابقا پیویک) یک بستر تحلیلی منبع باز است ، یک جایگزین باز برای Google Analytics. منبع Matomo میزبان o

یک سرور TeamTalk را در لینوکس تنظیم کنید

یک سرور TeamTalk را در لینوکس تنظیم کنید

TeamTalk یک سیستم کنفرانس است که به کاربران امکان می دهد مکالمات صوتی / تصویری با کیفیت بالا ، چت متنی ، انتقال فایل ها و صفحه های به اشتراک بگذارند. من

با استفاده از کلید SSH خود برای ورود به کاربران غیر ریشه استفاده کنید

با استفاده از کلید SSH خود برای ورود به کاربران غیر ریشه استفاده کنید

Vultr یک ویژگی را فراهم می کند که به شما امکان می دهد با ایجاد یک نمونه جدید ، کلیدهای SSH را از قبل نصب کنید. این اجازه می دهد تا به کاربر root دسترسی داشته باشید ، با این حال ، th

نحوه نصب انجمن NodeBB در FreeBSD 12

نحوه نصب انجمن NodeBB در FreeBSD 12

با استفاده از یک سیستم متفاوت؟ NodeBB یک نرم افزار انجمن مبتنی بر Node.js است. از سوکت های وب برای تعامل فوری و اعلامیه های زمان واقعی استفاده می کند. NodeB

نصب و راه اندازی ZNC در اوبونتو

نصب و راه اندازی ZNC در اوبونتو

ZNC یک پیشرانه پیشرفته شبکه IRC است که تمام وقت بهم متصل می شود تا مشتری IRC بتواند بدون از دست دادن جلسه گپ قطع یا وصل شود.

نحوه نصب Ranger Terminal File Manager در لینوکس

نحوه نصب Ranger Terminal File Manager در لینوکس

رنجر یک مدیر فایل مبتنی بر خط فرمان است که دارای کلیدهای اتصال VI است. این برنامه یک رابط لعنتی مینیمالیستی و زیبا با نمای سلسله مراتب فهرست ارائه می دهد