The Rise of Machines: Real World Applications of AI
Kunstig intelligens er ikke i fremtiden, det er her lige i nuet I denne blog Læs, hvordan kunstig intelligens-applikationer har påvirket forskellige sektorer.
Følgende vejledning forklarer, hvordan man opsætter en IceCast radiostreamingserver og afspiller lydfiler (musik eller podcasts) på FreeBSD-platformen. Denne vejledning antager, at du kører FreeBSD 10.0 eller højere, og at du er logget ind som root-brugeren. Det antog også, at du har en teksteditor til at redigere konfigurationsfiler.
Før vi begynder, er det vigtigt at forstå de tre dele af en audiostreamingserver. For det første har vi selve serversoftwaren, IceCast. IceCast fungerer som en central hub, hvor lydstreams kommer ind og bliver sendt ud. IceCast-tjenesten modtager lydstreams fra kildeklienter. Kildeklienter er programmer, der læser lydfiler eller andre lydkilder, såsom mikrofoner. I vores eksempel er kildeklienten Ices, og den leverer en lydstream til IceCast-serveren. Den tredje komponent er en lyttende klient. Lydstreams rejser fra IceCast-serveren til lyttere, som derefter hører lyden. Typisk er en lytteklient en desktopapplikation, såsom en webbrowser, VLC multimedieafspilleren eller WinAMP. Visuelt ser arrangementet således ud:
Source client (Ices) --> IceCast server --> Listening client (browser)
For at opsætte en IceCast-streamingserver på FreeBSD installerer vi først selve serversoftwaren. Dette kan gøres ved at køre følgende kommando.
pkg install icecast2
Vi åbner derefter /etc/rc.conffilen og aktiverer IceCast-baggrundstjenesten. Dette gøres ved at tilføje følgende tekst til bunden af /etc/rc.conffilen.
icecast_enable="YES"
Vores næste skridt er at konfigurere IceCast-tjenesten. IceCast-pakken leveres med en prøvekonfigurationsfil, som vi kan ændre. Denne eksempelfil er placeret i /usr/local/etcmappen. Vi vil lave en kopi af denne eksempelfil, før vi redigerer den.
cd /usr/local/etc
cp icecast.xml.sample icecast.xml
Vi ønsker nu at redigere nogle få nøglefelter i icecast.xmlfilen. Det meste af filen kan efterlades med standardindstillingerne, men vi bør ændre loginoplysningerne. Vi kan gøre dette ved at besøge godkendelsessektionen (ca. linje 30) og ændre kilde-adgangskoden og relæ-adgangskoden til noget passende. Disse adgangskoder giver os mulighed for at streame data til IceCast-serveren fra en kildeklient. Vi bør også ændre admin-bruger- og admin-password- variablerne til noget unikt for vores system. Disse to legitimationsoplysninger beskytter IceCast-serverens webbaserede grænseflade. Derefter, nede omkring linje 150, skulle vi ændre variablerne mount-name , username , ogadgangskode . Disse tre variabler beskytter IceCast-serverens monteringspunkt. Til sidst, nederst i icecast.xmlfilen skulle vi se en sikkerhedssektion , der er blevet kommenteret ud. Vi bør fjerne åbningssymbolerne <-- og afsluttende --> omkring sikkerhedsafsnittet . Når icecast.xmlfilen er blevet ændret, skal du gemme filen.
Når konfigurationsfilen er blevet redigeret, ønsker vi at aktivere logning. For at gøre dette skal du køre følgende kommandoer.
mkdir /var/log/icecast
chown nobody:nogroup /var/log/icecast
Til sidst starter vi IceCast-serveren. Dette får serveren til at lytte efter input og indgående klientforbindelser.
service icecast2 start
IceCast-serveren er oppe og køre, så nu skal vi forsyne den med noget at spille. Vores næste trin er at installere Ices source-klienten. FreeBSD tilbyder i øjeblikket ikke en binær pakke til Ices, så vi skal bygge den fra porte. Dette kan gøres ved at køre følgende kommandoer.
portsnap fetch
portsnap extract
cd /usr/ports/audio/ices
make install
make clean
Ices-kildeklienten skal bruge en brugerkonto og logning. For at oprette en bruger til Ices-softwaren og indstille en adgangskode på kontoen, skal du køre disse kommandoer.
pw groupadd ice
pw useradd ices -g ice -m
passwd ices
Med brugeren oprettet, kan vi nu aktivere logning for Ices.
mkdir /var/log/ices
chown ices:ice /var/log/ices
Herfra skal vi ikke længere have brug for root-brugeradgang og kan fungere som ices- brugeren. Dernæst skal vi oprette to mapper. En mappe, music, vil indeholde de lydfiler, som vi vil streame. Den anden mappe, conf, vil indeholde vores konfigurationsfiler.
su ices
cd /home/ices
mkdir music conf
cp /usr/local/share/ices/ices-playlist.xml conf/configuration.xml
Vi har nu en prøvekonfigurationsfil på plads. Det er tid til at redigere conf/configuration.xmlfilen, så den passer til vores miljø. De eneste dele af filen, som vi skal ændre, er nede omkring linje 60. Her skal vi angive adgangskoden og monteringsplaceringen, vi har angivet i icecast.xmlfilen. For eksempel, hvis vi indstiller vores monteringsnavn i icecast.xmlfilen til at være /radio.ogg, så skal vi ændre vores configuration.xmlfils monteringsparameter til også at være /radio.ogg. Vores adgangskodefelt i configuration.xmlskal matche det kildekodeord, vi oprettede i icecast.xmlfilen. Når vores configuration.xmlfil er blevet redigeret, bliver vi nødt til at gemme vores ændringer.
Med konfigurationsfilen på plads, bør næste trin være at kopiere lydfiler, som vi ønsker at streame til musicbiblioteket. Lydfilerne skal alle være i .oggformat, da IceCast ikke håndterer .mp3filer med standardindstillingerne. Når alle de lydfiler, vi ønsker at streame, er i musicmappen, skal vi oprette en afspilningsliste. En afspilningsliste er en almindelig tekstfil med en liste over den musik, vi vil streame. Vi kan nemt oprette en afspilningsliste med følgende kommandoer.
cd /home/ices/conf
ls -d ../music/*.ogg > playlist.txt
Lydfilerne afspilles i den rækkefølge, de vises i playlist.txtfilen. Filen kan redigeres i enhver teksteditor for at justere rækkefølgen af streaming-lyden.
Alt, hvad vi skal gøre for at begynde at streame vores lydfiler, er at køre denne kommando.
ices configuration.xml
Sidebemærkning: Ofte vil vi måske køre Ices-kildeklienten og derefter logge ud og gøre noget andet. I så fald, jeg kan lide at køre Ices fra inden for en skærm session. Her er et eksempel på, hvordan man kører is med skærm.
screen
cd /home/ices/conf
ices configuration.xml
Tryk derefter på Ctrl + A og tryk på D- tasten. Det vil frakoble skærmsessionen og give os mulighed for at logge ud, mens Ices afspiller lyd i baggrunden. Senere kan vi stoppe Ices ved at logge ind og køre:
screen -r
killall ices
exit
Vi kan nu oprette forbindelse til vores server på port 8000 i en webbrowser for at lytte til vores lydstream. URL'en vil se ud http://myservername:8000. Denne adresse kan gøres offentlig tilgængelig, hvis du vil lade andre lytte til streamen.
Tidligere nævnte jeg, at IceCast afspiller .oggfiler og ikke .mp3. Dette er ret nemt at overvinde på FreeBSD. Som root-bruger kan vi installere et konverteringsværktøj, kaldet sox , som vil konvertere vores .mp3filer til .oggfiler. Forudsat at alle vores .mp3filer er i /home/ices/musicmappen, kan vi installere sox og udføre en konvertering som følger:
pkg install sox
cd /home/ices/music
for i in *.mp3; do sox ./"$i" ./"$i".ogg; done
Vi kan derefter opdatere vores afspilningsliste ved at bruge:
cd ../conf
ls -d ../music/*.ogg > playlist.txt
Vær opmærksom på, at lydstreaming kan være båndbreddekrævende. En eller to klienter, der lytter til vores radiostation, kræver ikke meget båndbredde, men 50 eller flere klienter kan skubbe en server over dens tildelte månedlige båndbredde. Det er en god idé at aktivere båndbreddebegrænsning på streamingserveren for at undgå uventede økonomiske omkostninger.
Kunstig intelligens er ikke i fremtiden, det er her lige i nuet I denne blog Læs, hvordan kunstig intelligens-applikationer har påvirket forskellige sektorer.
Er du også et offer for DDOS-angreb og forvirret over forebyggelsesmetoderne? Læs denne artikel for at løse dine spørgsmål.
Du har måske hørt, at hackere tjener mange penge, men har du nogensinde spekuleret på, hvordan tjener de den slags penge? lad os diskutere.
Vil du se revolutionerende opfindelser fra Google, og hvordan disse opfindelser ændrede livet for ethvert menneske i dag? Læs derefter til bloggen for at se opfindelser fra Google.
Konceptet med selvkørende biler til at køre på vejene ved hjælp af kunstig intelligens er en drøm, vi har haft i et stykke tid nu. Men på trods af flere løfter er de ingen steder at se. Læs denne blog for at lære mere...
Efterhånden som videnskaben udvikler sig i et hurtigt tempo og overtager en stor del af vores indsats, stiger risikoen for at udsætte os selv for en uforklarlig Singularitet. Læs, hvad singularitet kunne betyde for os.
Læs bloggen for at kende forskellige lag i Big Data-arkitekturen og deres funktionaliteter på den enkleste måde.
Opbevaringsmetoderne for dataene har været under udvikling, kan være siden fødslen af dataene. Denne blog dækker udviklingen af datalagring på basis af en infografik.
I denne digitalt drevne verden er smarte hjemmeenheder blevet en afgørende del af livet. Her er et par fantastiske fordele ved smarte hjemmeenheder om, hvordan de gør vores liv værd at leve og enklere.
For nylig udgav Apple macOS Catalina 10.15.4 en supplerende opdatering for at løse problemer, men det ser ud til, at opdateringen forårsager flere problemer, hvilket fører til mursten af mac-maskiner. Læs denne artikel for at lære mere