L'audio e internet
Dal disturbare i vicini a disturbare i lontani
Contents
streaming
Distribuire audio quasi realtime.
Lo streaming audio, ovvero la gestione di dati audio trasmessi da una sorgente a una o più destinazioni su Internet, analogamente al funzionamento della radio nell'etere.
La trasmissione unicast ha una disponibilità di ascoltatori limitata da questa relazione matematica:
NumeroClientsPossibili = ( BandaDisponibile \ Bitrate )
Questo dimostra che una web radio deve sempre trovare un compromesso tra qualità e utenza.
protocolli di rete per lo streaming
Designing a network protocol to support streaming media raises many issues, such as:
Datagram protocols, such as the User Datagram Protocol (UDP), send the media stream as a series of small packets. This is simple and efficient; however, there is no mechanism within the protocol to guarantee delivery. It is up to the receiving application to detect loss or corruption and recover data using error correction techniques. If data is lost, the stream may suffer a dropout.
The Real-time Streaming Protocol (RTSP), Real-time Transport Protocol (RTP) and the Real-time Transport Control Protocol (RTCP) were specifically designed to stream media over networks. RTSP runs over a variety of transport protocols, while the latter two are built on top of UDP.
- Reliable protocols, such as the Transmission Control Protocol (TCP), guarantee correct delivery of each bit in the media stream. However, they accomplish this with a system of timeouts and retries, which makes them more complex to implement. It also means that when there is data loss on the network, the media stream stalls while the protocol handlers detect the loss and retransmit the missing data. Clients can minimize this effect by buffering data for display. While delay due to buffering is acceptable in video on demand scenarios, users of interactive applications such as video conferencing will experience a loss of fidelity if the delay that buffering contributes to exceeds 200 ms.[3]
Unicast protocols send a separate copy of the media stream from the server to each recipient. Unicast is the norm for most Internet connections, but does not scale well when many users want to view the same program concurrently.
Multicasting broadcasts the same copy of the multimedia over the entire network to a group of clients
multicast
Con il termine Multicast, nelle reti di calcolatori, si indica la distribuzione simultanea di informazione verso un gruppo di destinatari.
Per la natura del servizio di rete multicast, risulta molto difficile usare protocolli di trasporto orientati alla connessione come TCP, per cui si usano protocolli senza connessione come UDP.
Il Multicast è implementato in ethernet in modo abbastanza semplice: una classe di indirizzi ethernet è riservata all'uso come indirizzi multicast. Questi pacchetti sono trattati dalla rete come se fossero broadcast, ovvero sono ritrasmessi a tutti i computer collegati. Naturalmente questo sistema non è scalabile, in quanto tutto il traffico multicast viene fisicamente inviato a tutti i computer collegati alla rete, rischiando di saturare tutta la banda disponibile.
In Internet, il servizio multicast è implementato solo parzialmente, e in modo molto più complesso, perché la funzionalità di routing multicast deve essere aggiunta a tutti i router. Il protocollo IGMP viene usato dai computer per richiedere di essere iscritti ad un gruppo multicast, ed esistono appositi algoritmi di routing per il traffico multicast, come DVMRP e Protocol Independent Multicast (PIM). Come per il traffico unicast, ci si appoggia ad eventuali meccanismi di multicast forniti dalle reti utilizzate.
- Multicast protocols were developed to reduce the data replication (and consequent server/network loads) that occurs when many recipients receive unicast content streams independently. These protocols send a single stream from the source to a group of recipients. Depending on the network infrastructure and type, multicast transmission may or may not be feasible. One potential disadvantage of multicasting is the loss of video on demand functionality. Continuous streaming of radio or television material usually precludes the recipient's ability to control playback. However, this problem can be mitigated by elements such as caching servers, digital set-top boxes, and buffered media players.
- IP Multicast provides a means to send a single media stream to a group of recipients on a computer network. A multicast protocol, usually IGMP, is used to manage delivery of multicast streams to the groups of recipients on a LAN. One of the challenges in deploying IP multicast is that routers and firewalls between LANs must allow the passage of packets destined to multicast groups. If the organization that is serving the content has control over the network between server and recipients (i.e., educational, government, and corporate intranets), then routing protocols such as PIM can be used to deliver stream content to multiple LAN segments.
- Peer-to-peer (P2P) protocols arrange for prerecorded streams to be sent between computers. This prevents the server and its network connections from becoming a bottleneck. However, it raises technical, performance, quality, and business issues.
software
Icecast
Icecast is a streaming media project released as free software maintained by the Xiph.org The Icecast server is capable of streaming content as Vorbis over standard HTTP, Theora over HTTP, MP3 over the protocol used by SHOUTcast, AAC, and NSV over the SHOUTcast protocol.
Icecast 2 Relaying
Relaying is the process by which one server mirrors one or more streams from a remote server. The servers need not be of the same type (i.e. icecast can relay from Shoutcast). Relaying is used primarily for large broadcasts that need to distribute listening clients across multiple physical machines.
darkice
DarkIce is a live audio streamer.
DarkIce crea stream audio IceCast, IceCast2 e ShoutCast al volo. Prende l'input audio da una scheda sonora, lo codifica in MP3 e/o Ogg Vorbis e invia lo stream MP3 a uno o più server IceCast e/o ShoutCast oppure lo stream Ogg Vorbis a uno o più server IceCast2. DarkIce usa lame, come oggetto condiviso, per codificare MP3 e Ogg Vorbis come codificatore Ogg Vorbis.
DarkIce can record from:
- OSS audio devices
- ALSA audio devices
- Solaris audio interface
- Jack sources
- uLaw audio input through a serial interface
DarkIce can encode in the following formats:
- mp3 - using the lame library
- mp2 - using the twolame library
- Ogg Vorbis
- AAC - using the faac library
- AAC HEv2 - using libaacplus library
DarkIce can send the encoded stream to the following streaming servers:
DarkIce runs on the following operating systems:
- FreeBSD
- Linux
- MacOS X
- NetBSD / OpenBSD
- SUN Solaris
idjc
Internet DJ console A complete tool for streaming. Internet Dj Console è un’applicazione che consente di mixare e inviare stream ai server Shoutcast – Icecast. Richiede il server sonoro Jackd.
http://giss.tv/sahabuntu/doc/idjc.html http://www.onlymeok.nildram.co.uk/
Alcune features:
- Due media players principali con crossfader
- Microfono con segnale processato
- Annuncio tracce su IRC con il client X-Chat
- Stream automatico con timer shut-off
- Streaming MP3 o Ogg con vari bitrate disponibili
- Formati supportati: *.ogg, *.oga, *.wav, *.aiff, *.au, *.avi, *.wma, *.mp4, *.m4a, *.flac, *.spx
Per ascoltare
Per ascoltare uno streaming audio è sufficiente un qualsiasi player
Per rippare
a linea di comando:
- streamripper: un registratore di streaming compatibile con Shoutcast e icecast; è un programma per registrare Internet radio e altri stream. Per gli stream che forniscono informazioni sul titolo della canzone, lo stream puo' essere frammentato per creare un file per ogni traccia con un nome descrittivo e con metadati corrispondenti.
con interfaccia grafica:
- KRadioRipper: è l'interfaccia grafica a streamripper
peercast
http://en.wikipedia.org/wiki/PeerCast
Peercast can be used to implement multicast streaming of audio (Ogg Vorbis, MP3, WMA) and/or video (Ogg Theora, Nullsoft Streaming Video, or WMV), or any other stream of data, over the internet. Peercast uses a distributed bandwidth technique to lighten the load of the broadcaster's upstream bandwidth where each listener/viewer will relay the stream they download to one or more additional listeners. Users may choose how many relays to allow, and if a listener sets their relays to '0', then they will essentially not contribute back to the stream at all.
The benefits of using PeerCast is that it allows any multicasters, particularly small or independent ones, to distribute their streams without need for much bandwidth, saving them costs. It also allows, theoretically, an infinite number of listeners as long as there are enough relays (see below).
Criticism
When a relay is lost, all peers underneath it (might) lose their connection to the stream and must reconnect to another relay, also when reconnecting to another relay, a peer (might) have to accept the point in the stream the new relay is at, potentially causing a skip or repeat in the stream.
Upload bandwidth isn't always reliable, as typical relays are just ordinary listeners. Also, the project is currently in beta and is sometimes unstable.
Peercast does not feature BitTorrent-like swarming; if a point node fails, all others in the tree are mute and dead.
Corporate environments and their security policies might not appreciate the fact that it uses peer-to-peer technology and essentially turns listeners by default into servers.
Since it turns all of the network in a server, distributing content for which you might not have a license could cause legal concerns, depending on the jurisdiction and local legislation the node falls under.
podcast/netcast
A podcast is a series of digital media files (either audio or video) that are released episodically and downloaded through web syndication.
http://www.intertwingly.net/wiki/pie/Rss20AndAtom10Compared http://iu.di.unipi.it/infouma/media/siti/rss-atom/index.html
RSS
RSS (acronimo di RDF Site Summary ed anche di Really Simple Syndication) è uno dei più popolari formati per la distribuzione di contenuti Web; è basato su XML, da cui ha ereditato la semplicità, l'estensibilità e la flessibilità.
RSS definisce una struttura adatta a contenere un insieme di notizie, ciascuna delle quali sarà composta da vari campi (nome autore, titolo, testo, riassunto, ...). Quando si pubblicano delle notizie in formato RSS, la struttura viene aggiornata con i nuovi dati; visto che il formato è predefinito, un qualunque lettore RSS potrà presentare in una maniera omogenea notizie provenienti dalle fonti più diverse.
- RSS 0.91: il più vecchio tra gli standard oggi in uso, diretta evoluzione del formato usato originariamente da Netscape. In alcuni casi si è preferito usare il successivo RSS 0.92;
- RSS 2.0: rilasciato da Userland nel 2002, è l'evoluzione del formato 0.92, di cui eredita la semplicità, ma a cui aggiunge il supporto per moduli aggiuntivi;
- RSS 1.0: è il formato ufficiale del W3C, conforme ad RDF, estensibile e modulare.
atom
Atom Syndication Format è un formato di documento basato su XML per la sottoscrizione di contenuti web, come blog o testate giornalistiche. La specifica completata di atom è stata presentata all IETF per l'approvazione, nel giugno 2005, l'ultimo passo per diventare uno standard internet RFC. http://www.w3.org/2005/Atom
Media RSS Format
Since Media RSS is a module to be used with RSS 2.0, a Media RSS feed will contain both standard RSS tags as well as the media-specific extensions.
uso
The mode of delivery differentiates podcasting from other means of accessing media files over the Internet, such as direct download, or streamed webcasting. A list of all the audio or video files currently associated with a given series is maintained centrally on the distributor's server as a web feed, and the listener or viewer employs special client application software known as a podcatcher that can access this web feed, check it for updates, and download any new files in the series. This process can be automated so that new files are downloaded automatically. Files are stored locally on the user's computer or other device ready for offline use, giving simple and convenient access to episodic content.[1][2] Commonly used audio file formats are Ogg Vorbis and MP3.
A podcast is a digital audio or video file that is episodic; downloadable; programme-driven, mainly with a host and/or theme; and convenient, usually via an automated feed with computer software.
Per ricevere un podcast sono necessari:
- un qualsiasi supporto connesso ad internet (un PC, ad esempio)
- un programma client apposito (spesso gratuiti)
- un abbonamento presso un fornitore di podcast (spesso gratuiti)
Un podcast funziona alla stregua di un abbonamento ad una pubblicazione periodica, utilizzando una metafora: il supporto connesso ad internet è la cassetta postale, il client è il postino, e il fornitore di podcast è la casa editrice. L'abbonato riceve regolarmente le pubblicazioni, e può ascoltarle o vederle nella modalità e nei tempi che gli sono più congeniali.
Per fruire del podcasting è innanzitutto necessario installare un semplice software, quindi selezionare i podcast di interesse. Il software, con la frequenza decisa dall'utente, si collega ad internet e controlla quali file sono stati pubblicati dai siti ai quali si è abbonati: se ne trova di nuovi, li scarica. La notifica della pubblicazione di nuove edizioni avviene tramite un feed RSS scambiato tra il sito del produttore e il programma dell'utente.
I podcast potranno poi essere ascoltati in ogni momento poiché la copia del file, una volta scaricata automaticamente, rimane sul computer dell'abbonato. In tal modo non si rende necessaria alcuna operazione attiva da parte dell'utente. Inoltre, a differenza delle radio on line in streaming, i podcast non richiedono necessariamente un collegamento ad internet durante la fase di ascolto, ma solo in fase di download: ciò permette di fruire dei podcast anche off-line o in condizioni di mobilità.
Qualche definizione:
- Broadcast indica una trasmissione radio/tv tradizionale, ascoltabile ad una determinata ora decisa dall'emittente. Quindi sincrona e on-line.
- Streaming indica una risorsa audio/video fruibile in qualsiasi momento tramite un collegamento internet al sito dell'emittente e un dispositivo per la riproduzione del flusso audio/video digitale. Si possono avere le due modalità di streaming in memoria (video/audio on demand), che è asincrona e on-line, e di streaming dal vivo simile alla trasmissione radio/tv tradizionale, che è sincrona e on-line.
- Podcasting indica una risorsa audio/video fruibile in qualsiasi momento, scaricata automaticamente in formato mp3 (o altro) dal sito dell'emittente e salvata nella memoria di un dispositivo per la riproduzione. È quindi: asincrona, off-line e nomadica.
Servizi in rete
podcast e itunes
per inserire il vostro podcast su iTunes, occorre specificare dei parametri aggiuntivi e proprietari del software Apple, che alcuni software - specialmente per il Mac - vi consentono di aggiungere con poco sforzo
iTunes Music Store
In sostanza è il luogo in cui Apple, attraverso iTunes, il software di gestione degli mp3 reso da qualche tempo disponibile anche per Windows, vende musica ai propri clienti. Accanto alla vendita dei brani musicali in formato mp3 è disponibile anche il "deposito" dei podcast, completamente gratuiti. Qui è possibile iscriversi a tutti i podcast che si vuole monitorare, scaricandone via iTunes gli aggiornamenti sul proprio pc o iPod.
Quest'ultimo è il fattore chiave della diffusione di iTunes come software e del podcast come genere di comunicazione: grazie alla forte integrazione con iTunes infatti, chiunque abbia un iPod può impostarlo in modo da scaricare in automatico gli aggiornamenti ai propri podcast preferiti non appena si collega il "giocattolo" al pc o al mac.
Ecco perché riuscire a far entrare il nostro podcast nel Music Store è fondamentale per raggiungere un pubblico il più possibile vasto ed eterogeneo.
Aggiungere la dichiarazione del namespace di iTunes
iTunes utilizza la grammatica di RSS 2.0, ma integra lo standard con un namespace proprietario, nel quale vengono definiti i tag richiesti per le funzionalità avanzate. Dopo la prima riga del nostro podcast occorrerà quindi aggiungere questa dichiarazione:
<rss xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" version="2.0">
Tag disponibili
I tag disponibili non sono moltissimi, ma permettono comunque una buona personalizzazione del feed secondo le caratteristiche richieste da iTunes. Prestate molta attenzione a inserirli e a compilarne gli attributi in modo significati, dal momento che il vostro destino sul Music Store dipende anche da questo.
http://www.apple.com/itunes/podcasts/specs.html#_Toc526931674
Vediamo nel dettaglio quali sono i passi da compiere.
Prima di tutto occorre essere registrati all'iTunes Music Store: la registrazione è gratuita e non prevede oneri, ma vi verrà richiesto - come forma di garanzia - di indicare il numero della vostra carta di credito. Questo perché la stessa registrazione vi permette poi di acquistare musica su iTunes. I passi da compiere
Entrate nell'iTunes Music Store cliccando sulla voce "iTunes Store" nel menu di sinistra di iTunes. La procedura qui descritta si basa sulla versione 7 del software: chi avesse delle versioni precedenti farebbe bene ad aggiornarle a quella attuale, anche perché i benefici - in termini di interfaccia e funzionalità - sono notevoli.
Una volta entrati nello store, occorre scegliere la voce "Podcast" e poi, al fondo della colonna di sinistra la voce "Invia un podcast".
A questo punto potete digitare l'indirizzo del feed RSS, che viene analizzato per verificarne la compatibilità con il sistema di indicizzazione di iTunes. Non provate a inserire un feed RSS qualsiasi, che non contenga enclosure, perché sarete fermati immediatamente: iTunes verifica che vi sia almeno un episodio con enclosure nel vostro feed.
Verificato il vostro feed, vi viene chiesto di autenticarvi con le vostre username e password del Music Store: iTunes procederà quindi a estrarre i metadati contenuti nel vostro feed e a presentarveli in modo da poterne verificare la completezza.
Vi chiederà di scegliere le categorie opportune in cui pubblicare il podcast e una volta scelte, il gioco è fatto.
Riceverete una mail che vi avviserà del fatto che il vostro podcast è in fase di esame, e non appena l'esame sarà terminato con successo, riceverete un'altra mail nella quale vi verrà fornito anche un indirizzo web del tipo http://phobos.apple.com... etc. che rappresenterà l'URI unica del vostro podcast su iTunes.
Potete inserirla nei vostri siti e feed in modo che chiunque poi clicchi sul link sarà portato direttamente dentro iTunes alla pagina del vostro podcast.
FeedBurner
FeedBurner, in poche parole, si occupa di monitorare l'andamento statistico dei feed che quotidianamente diffondiamo dai nostri siti e blog. Tutti i flussi XML dovranno quindi passare da FeedBurner se vogliamo sapere con precisione quanti utenti leggono giornalmente i nostri RSS e tutte le altre rilevazioni che questa piattaforma è in grado di fare.
my.gpodder.org
software
autoradio
Autoradio è una suite di programmi che partendo da file audio digitali permette la gestione automatica dell'emissione di una stazione radiofonica.
queste sono le componenti:
- Player: partendo da una playlist è in grado di gestire
- differenti formati di audio digitali per poi inviare il suono o a una scheda audio o a un server audio
- Scheduler: gestisce in tempo reale l'emissione di particolari
- file o audio quali i jingles, pubblicità, playlist e programmi; interagisce col player controllandolo e impartendo comandi
- L'intefaccia utente: utilizzando una interfaccia WEB pemette il
- monitoraggio dello scheduler e del player e permette la programmazione del palinsesto
HOW IT WORKS:
In player playlist you need a queue of media for a minumun of some hours and for this you have to program some playlist. Player cannot stay stopped or paused (if stopped it will be started, if paused it stay paused) for a corret work. When time will be right jingle, programs and spots will be placed in playlist the first position after the last file inserted before by autoradiod
Installazione per solo podcasting
For Fedora and Debian/Ubuntu you have the possibility to install from pachages in a easy way.
The pachage create the autoradio user for you and set everything in a standard way for an easy use.
to start everythings from root user (prepend sudo command for Ubuntu):
autoradioctrl --syncdb --changeuser autoradioweb restart
Poi utilizza il tuo browser e puntalo a http://localhost:8080
pacchetti Fedora
pacchetti Ubuntu
gpodder
aggregatore libero di podcast scritto in PyGTK
gPodder è uno strumento per ricevere/prendere podcast. Ci si può iscrivere a feed ("podcast") e scaricare automaticamente nuovi contenuti audio o video. Questi ultimi possono essere riprodotti sul desktop o sincronizzati su iPod, lettori basati su MTP, lettori MP3/OGG basati su filesystem e telefoni cellulari Bluetooth.
Features:
- iPod, MP3 player and mobile phone support
RSS, Atom, YouTube and Soundcloud feeds
- Focus on Usability
- Integrated with the my.gpodder.org Web Service
- User interfaces: GTK+, Maemo 4, Maemo 5 and CLI
- Open Source and Free Software (GPL v3 or later)
player nel browser
html5
http://arstechnica.com/open-source/news/2009/07/decoding-the-html-5-video-codec-debate.ars
It's unfortunate that this debate is threatening to derail the adoption of standards-based Internet video solutions. The dominant video solution today is Flash, a proprietary technology that is controlled by a single vendor and doesn't perform well on Linux or Mac OS X. There is a clear need for an open alternative, but the codec controversy could make it difficult. My inner pessimist suspects that Microsoft will finally get around to implementing HTML 5 video at the same time that the H.264 patents expire, in roughly 2025.
playogg
Un semplice web player per ogg/vorbis (integrato nel software autoradio citato sopra). Cerca di essere compatibile con ogni tipo di browser adattandosi alle seguenti condizioni:
- browser compatibile con html5 e codec ogg/vorbis
- plugin flash player tramite un player libero scritto in haxe
- plugin Java tramite player cortado
- uso di mediaplugin o player esterni
- limitata compatibilità in assenza di Javascript
limitazioni
- implementa solo le funzioni play/stop
- i file audio ogg/vorbis devono essere campionati a 44100Hz per il player flash
BFSF Wiki