OpenDJ UNIX-based P2P Streamer
hardcorejon writes "I found the Streamer software interesting, particularly because I've also written a remarkably similar piece of software, called OPENdj. Because Streamer requires
Windows, I thought my fellow Slashdot readers would be interested in
OPENdj, which is an open source
Java/Linux-based distributed streamer. Development on OPENdj began over a year ago, with version 1.0.0 appearing this past May. It has some slick features, including
automatic archiving, archive search, stream meta-tagging, listener
counts and chat rooms. Download it, bang on it, send me patches :)"
Dear developer: :)
OpenDJ doesn't crash!
Is this a bug or a feature?
Will you be putting the crash thingee back in so as to make it comparable to its closed source Windows counterpart?
--- Grow a pair, liberals... stop letting the Republicans bully you!
I've gone from being completely indifferent about internet radio to being a huge fan of it in the span of about a year. I have not listened to broadcast music in a couple years now. Just about everything I listened to for a long time came out of my friends and I's CD pools. We'd make compilation albums for each other or just snag songs we particularly enjoyed from albums in each others collections. Broadcast radio has always been shit but recently it has been so bad I simply can't stand to listen to it. I began to go to dozens of concerts from LA to San Diego. Last year I think I tallied 35 concerts in about 9 months. Was I going to see bigass arena shows being hyped by radio stations? Only in a very small handful of cases like the Yahoo Outloud Weezer tour, when I went to the LA and SD shows. Most shows I was going to were indie rock shows and small local shows. Anyhow, I was going to these shows SPECIFICALLY because the bands weren't being played on the radio.
Now it is facing some stiff opposition in the form the RIAA and their demonic minions. I don't want to see internet radio go down because it is the only inexpensive way I've got left to get introduced to some good music. Sharing with my bearded linux hippie friends is nice but there isn't enough variety to really find off the wall shit I end up really digging. P2P radio seems like an obvious solution because of the P2P buzzword culture surging as of late. The model however runs into serious problems. The RIAA doesn't have to go after a single individual or group of individuals to take out P2P radio like they were able to with various sharing programs. All they have to do is make some deals with cable and DSL providers. Lets say there was a popular P2P radio in my town, all it would take is a deal or lawsuit against Charter and he would be toasted. We'd all end up with our bandwidth curtailed more than it already is and P2P radio would end up specifically forbidden in the AUP.
The theory of relativity doesn't work right in Arkansas.
Hello slashdot folk.
I'm really interested in getting as much feedback on OPENdj as I can. Towards that end, if you have any questions, comments, concerns that you'd like to direct towards me, please let me know.
Thanks,
- jonathan.
This is kind of funny as you just spent the last few hours pimping the program all over the 'streamer' story. Anyway, I have a question. How is this program distributed, I think I looked over the docs carefully, it seems like more of an automatic co-op timeshare software.
Thanks,
-Jon
this is my sig.
Yes, I am getting slashdotted. Seems to be performing OK for now, we'll see what happens when 100 people try to listen at once...
- jonathan.
question: how will you avoid getting killed by the fees on internet radio broadcasting? Don't you have to keep a log of exactly who is listening, what is broadcast, etc etc?
There's no need to actually invent new P2P-stream-distribution techniques: a better approach would be to merge live, refreshing station playlists with existing P2P file-sharing networks, like Gnutella, ED2K, FastTrack, etc.
You can think of this as as "Judo Radio" because it uses a tiny, smart control channel to throw around a giant amount of content that lives and travels on outside networks.
I wrote more about it here:
It's not quite the same as typical P2P-webcasting proposals because it leverages open, ownerless content-distribution networks that are already in place, and in fact the "stations" can be agnostic about how the data arrives to audiences. They just say, "get and listen to this next", ad infinitum.Whether the "stations" need any licenses whatsoever to the tracks they "recommend" seems a debatable point to me: the stations themselves make no copies of copyrighted material at all, instead leaving that completely up to the audience to do on their own.
This approach thus has the same resiliency (or weakness) of the underlying P2P file-sharing networks themselves.
The DJ Agreement for OPENdj specifically places all responsibility for copyright/licensing/royalties/CARP issues on the DJ. Sucks that it has to be that way, but it's the only way I can afford to operate OPENdj without getting into big trouble.
I may have to pull the archive facility, but there is nothing illegal about the OPENdj technology in and of itself. People could use this to stream their original music, or just do talk radio, neither of which infringes on anyone else's rights.
- jonathan.
I mean, he never posted offtopic or anything. It's not like some people haven't been posting the same stuff for years now. If the guy wants to promote or raise awareness about an open source project that's relevent to the current discussion, I say why not. Just as long he doesn't go overboard and start spamming or something.
W
-------------------
This is my SIG. There are many like it, but this one is mine.
Theres not a single good java app for peer to peer, name one.
Err...Limewire??
So, are you volunteering to write it in C or C++ ? You're complaining soo much, so put your time where your mouth is Mr. Hanzo.
This is one example of why Open Source programming ideas are bad. When the developer comes out, other's bitch at him without anything to contribute. That's why authors get burnt out.
Why Java?
Because server side networking code is REALLY easy in Java. Writing multithreaded code is REALLY easy in Java.
That said, OPENdj is really built on top of open wire-level protocols. The current client and server are in Java. I'm working on a C client right now. If someone wants to reimplement the server in C, go for it!
- jonathan.
ALso try reading the damn site for development....
__________________________________________
New project: opendj-libopendj
OK, folks, I know that the current client broadcasting software (in Java) really sucks. The user interface is clunky, the installation is a pain, and the massive download size of the Java Runtime Environment is intolerable for DJs who are supposed to only need a 56K modem to broadcast.
Solution: opendj-libopendj and opendj-client-qt
The opendj-libopendj project, already underway, aims to provide a C library API interface to the client-side of the OPENdj Protocol. opendj-libopendj uses the Apache project's APR library to achieve platform independence.
The opendj-client-qt project, which is not yet started, will use opendj-libopendj as a foundation for a platform independent, C++ client based on the Qt Toolkit.
Porting to C for the client has already begun.
If someone wants to port the server, by all means, go for it.
And, IMHO, FreeNet is taking so long NOT because it's written in Java, but because their requirements are pretty insane. The protocol itself is fantastically complex. The OPENdj protocols are intentionally lightweight and simple.
See my other post on why I chose to go with Java.
- jonathan.
Yeah, "pimping" would be one word for it. Too much coffee, no sleep, and getting a little too excited is what happened. I'm sorry if it came across as spam-ish, that's the last impression I want to give.
But anyway, you're right, I thnk of OPENdj as not really P2P but more like "public access" Internet radio. A soapbox that anyone can stand on and shout!
- jonathan.
Yes, to operate your own OPENdj station requires some knowledge of server-side stuff.
The intent is to make the life of the would-be broadcaster as easy as possible. There are a lot of non-technical people out there who would love to broadcast and know lots about music but not much about computers.
As a secondary goal, it should be easy to install your own OPENdj station. As you note, currently this is not the case.
Also bear in mind that OPENdj has a lot of features Streamer does not - automatic archiving, configurable rerun scheduler, listener counts, real-time chat with your listeners, etc.
- jonathan.
And.... another point being.... that people dont realize a lot of music doesnt fall under the RIAA's grasp....
I am a techno DJ.... I spin trance in clubs, and hardhouse for parties and clubs sometimes... and the majority of my music is released either A) underground or B) with the full knowledge of the label that it is being pressed for public use and is generally encouraged to do so.
Go into any record store (vinyl catering to DJs, not CD store..) and you will find bins of LPs with white sleeves and white labels... penned on some track name or genre or play speed (33/45)..
The RIAA has *NO* say about how this music is played as its not under their domain!
So, to make my point, I think its perfectly fair and common to spin tracks in such a manner without even dealing with the beforementioned copyright/licensing/royalties/CARP shit..... Thats basically implied upon purchase of the record.
Is not life a hundred times too short for us to bore ourselves? -Friedrich Wilhelm Nietzsche
Offer a download button which downloads all the file in one tar or zip, have some instructions on how to install it on your website.
If you use Linux, please help development of Autopac
Limewire sucks compared to alot of the other Gnutella clients, its a decent client but nothing about it makes it better.
The best thing I can say about limewire is it works.
If you use Linux, please help development of Autopac
Try running jEdit on a 533MHZ PII System :)
Lets just say 20 sec to load a notepad clone is sad, and it has to redraw all widgets when you multitask. (which can take another 10-20sec)
Picked up Crimoson Editor, written in C++, has many more features, and runs like a charm.
Perhaps if someone came out with a Java Compiler that turns Java code to machine code I'd like it better.
Until then, you have fun with your Java proggies, I stick with my C/C++ programs.
Maybe it was easier to give him a damned story, and hope he'll shut the hell up. You don't see me pimping my project except once in my journal, and in my url.
Too bad I'm just a PHB, and my programmer bailed on me:(
Jesus was all right but his disciples were thick and ordinary. -John Lennon
I do sidestep the CARP issue by requiring the DJ to take care of all that. If the DJ wants to broadcast original material, or do a talk show, then there are no copyright restrictions on that. If they want to broadcast copyrighted material, it's their responsibility to pay any associated fees.
The broadcasting software that DJs use tells them how many listeners they have, so if they need to use that to calculate what they owe, the can use it.
On the bandwidth side, a 24 or 32Kbps upstream signal is about all a 56k modem can do. I've tested it with PacBell dialup anyway, and it works OK.
Which brings me to another thought: I hope the RIAA realizes that these low-quality streams are not really worth prosecuting. They are listenable, but certainly won't infringe on album sales - the difference in quality is just too huge. Now if I were streaming at 128k, then you might have a different story.
- jonathan.
You might try keeping up with what's been happening over the last year or two.
Compile Java with gcc (er, gcj) and (if you want) you get native code, just like with C, but without the buffer overflows.
C is for kernels and (perhaps) heavily used libraries. Anything else should use a higher level language.
-- Alastair
ok so if java is so easily compiled in gcc why then isnt everyone using GCC? I have yet to see a native java app, show me one.
And a high level language? C is high level. C isnt assembly you know
If you use Linux, please help development of Autopac
s/Java/Perl/
Is this the only / real problem you have with Java?
I disagree with the "better support and better code"; C is more diagonal than Java, and diagonality leads to obfuscation. (Perl being the most diagonal language I know; I love that feature of Perl, but it is not this that I am disagreeing with
Cheers
I don't believe that DMCA mandates copy controls. It punishes things that circumvent existing controls but does not require new ones. He might be clear under DMCA.
It's less clear what would happen under CBDTPA (or, as I like to call it, PHHHFT
The Mongrel Dogs Who Teach
Only if you're listening to it while you're downloading it.
You'd need some major QoS across the entire Internet for that to work. All good streamers cache (buffer) data.
Whether you allow people to download it or stream it, you're still distributing it. Wireless radio stations pay fees, IP radio stations will soon pay fees. Of course, the point of all this software, in my (idealistic) mind, is for non-RIAA-controlled content, but there will be lots of people playing top40 crap anyway.
Many content providers really like streaming because, in many cases, users can't easily save their content and redistribute it. Note the lack of a 'save' button in RealPlayer.
I have yet to see a native java app, show me one.
Lazy, ignorant, demanding SOB, aren't you? Okay, take a look at XWT, for one. Also take a look here and here.
Of course, the executable for a native Java app isn't going to look any different to the casual file(1) command than one compiled from C, C++ or even Fortran.
-- Alastair
Java has always had an important problem: it's ugly and doesn't (visually) interates with anything. Most java app are slow (or maybe the code? i'm am talking about Limewire, Phex, etc.) but i can live with that. But a client is supposed to look nice?
Why didn't SUN though about providing native widgets? For the server side you don't need them, but if they wanted to hit Microsoft in the heart, they should have though of many a java app look as nice as any other app in windows (or linux, say gtk or qt).
I guess they'll never understand the desktop market. If it doesn't look nice, it's perceived as BAD.
I'm not only talking for myself, but for what I hear from people trying java stuff.
unfinished: (adj.)
That was one of the major goals of Java - write once, run anywhere.
Any sufficiently advanced technology is indistinguishable from a rigged demo
--Andy Finkel (J. Klass?)
>C was originally designed to be a "portable assembler" to ease the pain of porting Unix to multiple architectures.
And Java was designed to run on nothing but set-top boxes and was originally called Oak. It's great for embedded systems that can handle the bloat, or for programs that don't require snappy response. Unfortunately, writing anything speedy or quick with it or pretty much anything else except perhaps a calculator or notepad program lies outside that domain.
J++, on the other hand, has no use anywhere at all, so far as I can see.
This doesn't mean either Java or C are bad at anything at all! Its just a load of ranting from people who haven't programmed anything useful in either language!
Isn't slashdot great for that?
If you could be told what you can see or read, then it follows that you could be told what to say or think - BoC
It might have been once, but it isn't any longer.
If Google really cared they would fix Android Chrome to reflow text, instead of discriminating