پخش رادیو در 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

نحوه نصب بستر سبد خرید 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 است. این برنامه یک رابط لعنتی مینیمالیستی و زیبا با نمای سلسله مراتب فهرست ارائه می دهد