Slashdot Mirror


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 :)"

40 of 148 comments (clear)

  1. It works!! And it doesn't crash!! by Travoltus · · Score: 5, Funny

    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!
  2. P2P streaming... by User+956 · · Score: 2, Redundant

    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.
  3. I'm here for your questions and comments by hardcorejon · · Score: 4, Informative

    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.

  4. Question by jon_c · · Score: 2

    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.
  5. Re:hmm by hardcorejon · · Score: 2

    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.

  6. fees by Anonymous Coward · · Score: 3, Interesting

    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?

    1. Re:fees by ksw2 · · Score: 2

      This will only apply to RIAA music.

      Eater

  7. Judo Radio by gojomo · · Score: 4, Interesting
    This still seems to have a dependence on OpenDJ's reservation/scheduling/archiving server, and I don't see how it uses P2P techniques to multiply the listener base at no cost to the broadcaster.

    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:

    Judo Radio: P2P-Leveraged Webcasting
    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.

    1. Re:Judo Radio by hardcorejon · · Score: 2

      Wow. That's a really interesting idea.

      OPENdj works because the upstream connection from the broadcaster can be virtually anything (like a 56k modem), and the server relays the signal over a high-bandwidth connection to the listeners. In that sense, it's not the P2P that you refer to. But from the viewpoint that "anyone who can listen could also broadcast" (any client is also a potential server), it is P2P.

      The difference between OPENdj and a simple relay is that opendj acts as a "controller" to the encoder port, and enforces the channels schedule by only allowing the correct broadcaster to connect and stream. OPENdj also handles the "hand-off" when one broadcaster finishes and other needs to start. Imagine one guy in brazil, the other in london, and the stream transitions is seamless to the listener.

      There's a lot more material explaining how this all works (and other nifty features too) on the OPENdj project site.

      - jonathan.

    2. Re:Judo Radio by snookums · · Score: 2

      They just say, "get and listen to this next", ad infinitum.


      An interesting idea, but I believe it will be let down by the unreliability of P2P networks. Downloading a particular piece of content from current P2P services often requires a long period of trying various sources for an open download slot. In a real-time medium like radio this delay would be unacceptable.
      --
      Be careful. People in masks cannot be trusted.
  8. Re:Better get a lawyer by hardcorejon · · Score: 2

    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.

  9. Yeah, well...so what.. by VValdo · · Score: 2

    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.
    1. Re:Yeah, well...so what.. by handsomepete · · Score: 2

      I agree. However, as I was wading through that discussion maybe it just _seemed_ like everytime anyone mentioned some fallacy of p2p he would pop up and say 'That's where OpenDJ comes in!' I'm all for Open Source awareness/promotion and if there's *really* nothing else going on the world I won't even complain about this story anymore(it is Sunday here after all). It was just obnoxious after seeing a constant pimping of his program in another (albeit relevant) thread there being an entire story on it which has no new information a couple hours later.

      Point well taken, though.

    2. Re:Yeah, well...so what.. by hardcorejon · · Score: 2

      No, you are right, it was a little too "eager" posting on my part. No ill intentions, and I'm sorry for any annoyance.

      - jonathan.

  10. Re:Its JAVA!!!! by ToLu+the+Happy+Furby · · Score: 4, Informative

    Theres not a single good java app for peer to peer, name one.

    Err...Limewire??

  11. Re:ITs java, it sucks by josh+crawley · · Score: 2

    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.

  12. Here's your explanation by hardcorejon · · Score: 4, Informative

    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.

  13. Re:Port to C immediately by josh+crawley · · Score: 2

    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.

  14. Re:Port to C immediately by hardcorejon · · Score: 2

    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.

  15. Lauging... by hardcorejon · · Score: 2

    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.

  16. Re:Great stuff . . . if your'e a webmaster! by hardcorejon · · Score: 2

    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.

  17. Re:Better get a lawyer by sniepre · · Score: 2

    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
  18. Make it easy to install by HanzoSan · · Score: 3, Insightful



    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
  19. Re:Its JAVA!!!! by HanzoSan · · Score: 2



    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
  20. Java Bad! C Good! by Sir+Homer · · Score: 2, Insightful

    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.

    1. Re:Java Bad! C Good! by Jester998 · · Score: 2

      "Perhaps if someone came out with a Java Compiler that turns Java code to machine code I'd like it better. "

      Hmm... I seem to recall that gcc had experimental support to do just this... not sure of the current state of it, though.

    2. Re:Java Bad! C Good! by feed_me_cereal · · Score: 2

      gcj, as someone else mentioned, is from the GNU project. It can even compile byte-code to machine code. Also, some JVM's are faster than others. A JVM with a just-in-time compiler (JIT) runs much faster. btw, I have an athlon 750 and when I run jedit, I don't notice any slowdowns.

      --
      "Question with boldness even the existence of a god." - Thomas Jefferson
  21. Re:I hate to be the one to point this out, but... by gmhowell · · Score: 2

    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
  22. CARP and bandwidth issues by hardcorejon · · Score: 3, Interesting

    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.

  23. Re:Port to C immediately by AJWM · · Score: 2

    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
  24. Re:Port to C immediately by HanzoSan · · Score: 2

    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
  25. Re:Port to C immediately by debrain · · Score: 2
    Java apps are not easy to install usually for any OS because they require a Virtual Machine, why not just use C and develop cross platform?


    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 ;) ). Java is exceptionally orthogonal, hence there is, more-often than in diagonally inclined languages, a "best way" to do something. Best ways imply easier support and better code. On the other hand, it is oft faster, and more artistic, to implement diagonal code. YMMV.

    Cheers
  26. Re:Better get a lawyer by gilroy · · Score: 2
    Blockquoth the poster:

    This program may be in violation of the DMCA if it doesn't incorporate copy controls.

    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 :) ).

  27. Re:Isn't Downloading ALSO Streaming? by jfunk · · Score: 2
    Say you download an MP3 from a P2P network. Isn't that streaming too?

    Only if you're listening to it while you're downloading it.

    Or is streaming defined only as content delivered at its real-time rate


    You'd need some major QoS across the entire Internet for that to work. All good streamers cache (buffer) data.

    One wonders whether non-realtime "streaming" (read: downloading) can also be made illegal by RIAA/CARP


    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.
  28. Re:Port to C immediately by AJWM · · Score: 2

    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
  29. Re:Its JAVA!!!! by fferreres · · Score: 2

    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.)
  30. Because then it wouldn't be cross-platform by Goonie · · Score: 2

    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?)
    1. Re:Because then it wouldn't be cross-platform by fferreres · · Score: 2

      Yes, but that's a developers perspective. I can't help but wonder how usefull is beign able to run an app anywhere, if nobody is willing to run them in the first place.

      Java widgets? Cool, they are needed and usefull. Native Widget are not needed to run an app, but people don't _want_ to run odd looking apps.

      Anyway, was just a though. Though I like Java, it's lacking scope provided a strong reason for .Net's appearance and future success.

      --
      unfinished: (adj.)
  31. Re:Port to C immediately by shepd · · Score: 2, Insightful

    >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
  32. Its Windows counterpart is not closed source by Snaller · · Score: 2

    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