TooTallNate / node-ogg

Node.js native binding to libogg
MIT License
65 stars 36 forks source link

Ogg Radio without Shoutcast ? #2

Closed daslicht closed 11 years ago

daslicht commented 11 years ago

I like to create a Radio Station which serves seamless DJ Mixes (e.g >9h each mix) To be able to make it seamless without any glitches, I just like to use one big Audio file. eg: mix.mp3 Playbacktime: >9h

I just like to store the song info it in an external file which holds something like this:

Artist Name SongName SongID StartTime FirstArtist SongName1 01 00:00 SecondArtist SongName2 02 05:00 AnotherArtist SongName3 03 06:00

If I we would now know the current playback (just a timer?) position we could send the relevant Songinfo just via SocketIO to the client.

Is that clear ? Does that makes sense or do you have another idea how to solve this?

Best Regards and thank you very much for you time !

TooTallNate commented 11 years ago

I'm not sure I entirely understand your question but I don't think it's related to node-ogg itself. Your idea sounds like it would work fine, but I can't really help you design your application. Good luck though!

virtualfunction commented 11 years ago

This can be done with Shoutcast meta data seeing as this isn't possibly via ID3v2 (or whatever container format you choose if it's a single file). You need to set the Icy-MetaData:1 HTTP header in your listener request and the (Icecast) server should respond with a metaint header that defines the byte interval in which metadata occurs.

You want to look http://www.smackfu.com/stuff/programming/shoutcast.html

and look at https://github.com/TooTallNate/node-icecast#writer for doing this.

Another option can be that you set this meta data from streaming source if you were to use something like liquidsoap as your source client.