- 论坛徽章:
- 0
|
JRoar is a streaming server for
Ogg
in pure Java
JRoar casts live Ogg streams to
Ogg Vorbis
players as
IceCast2
does and shouts live Ogg streams to IceCast2 and JRoar(, but JRoar does not support encoding/re-encoding). JRoar also accepts live Ogg streams from IceS. The uniqueness of JRoar is that JRoar works as a proxy for live Ogg streams and enables you to share single stream with others. Of course, its characteristic property is that it is in pure Java. JRoar can be easily deployed and in fact, it can run on the built-in JVM of IE.
What is Ogg Vorbis?
Here is a quote from README of Ogg Vorbis CODEC from the
Developer site
for Ogg Vorbis,
"Vorbis is a general purpose audio and music encoding format contemporary to MPEG-4's AAC and TwinVQ, the next generation beyond MPEG audio layer 3. Unlike the MPEG sponsored formats (and other proprietary formats such as RealAudio G2 and Windows' flavor of the month), the Vorbis CODEC specification belongs to the public domain. All the technical details are published and documented, and any software entity may make full use of the format without royalty or patent concerns."
Why JRoar is hacked?
First of all, JRoar must not be a competitor for IceCast2,IceS,etc. and there are no intentions to replace them with JRoar. Needless to say, JRoar has many disadvantages , for example, JRoar can not support encoding/re-encoding However, it is easily deployed and will enable you to share Ogg streams with other. We have imagined the construction of the Ogg stream networks in p2p style by deploying JRoar all over the world. Of course, JRoar is just a easily deployed proxy server for Ogg, so there must be some mechanism to plug several JRoars efficiently. but we hope some of p2p systems may help us. How do you feel this vision?
Features
- JRoar is in pure JavaTM.
- JRoar supports Ogg Vorbis.
- JRoar supports
Speex
, patent-free voice codec.
- JRoar supports
Theora
.
- JRoar casts live Ogg streams to Ogg players.
- JRoar accepts live Ogg streams from shouting systems, like ice.
- JRoar loads Ogg files from local hard disk and casts them in appropriate timing.
- JRoar accepts Ogg streams from
PeerCast
.
- JRoar transfers live Ogg streams to IceCast2 and JRoar in the ICE protocol.
- JRoar cast Ogg Vorbis live streams on UDP broadcast packets to local subnetwork.
These streams are only enjoyable by JOrbisPlayer at present.
- JRoar depends on
JOrbis
.
- JRoar is in pure JavaTM.
JRoar will run on JDK1.1.* and on built-in JVM of IE.
- JRoar is licensed under GNU GPL.
How To Enjoy JRoar
Please refer to
README
.
mount-point: 
  
source: 
  
Suppose that your machine has ip-address 192.168.0.1 and
you give '/test.ogg' for the mount-point field and
'http://somewhere:8000/test.ogg' for the source field
as your favorite Ogg Vorbis streaming server. After pressing submit
button, you will be prompted if you grant to run JRoar on your IE or not.
Please check carefully that it is digitally signed by JCraft,Inc.
If JRoar is granted to work, three text fields and 'Mount' button will
appear. By pressing 'Mount' button, '/test.ogg' will be registered
as the mount-point for 'http://somewhere:8000/test.ogg'.
Now, you can enjoy that stream from several machines by accessing to
http://192.168.0.1:8000/test.ogg with Ogg Vorbis players.
-->
Options
JRoar accepts following options in running as an application, -port port-number (default: 8000)
-myaddress my-address
-relay mount-point url-of-source
-playlist mount-point filename
-passwd password-for-web-interface
-page page-name class-name
-store page-name URL
-icepasswd password-for-ICE
-shout src-mount-point ip-address port-number password dst-mount-point
-udp src-mount-point broadcast-address port-number dst-mount-point
-peercast-host peercast-lookup-host (default: localhost:7144)
For example, $ find ~/my_ogg_files -name "*.ogg" -print > /tmp/foo
$ java com.jcraft.jroar.JRoar -port 9000 \
-playlist /test1.ogg /tmp/foo \
-relay /test2.ogg http://somewhere/test.ogg \
-udp /test1.ogg 192.168.0.255 8000 /test3.ogg \
-udp /test2.ogg 192.168.0.255 8001 /test4.ogg
Download
JRoar 0.0.9 is available.
Ogg streams from JRoar for testing
We are running JRoar at following URL and issued some streams for testing. Please feel free to tune in them.
$ java com.jcraft.jroar.JRoar \
-relay /fsf.ogg http://jroar.jcraft.com:8800/fsf.ogg
If everything works well, your JRoar will be listed on
http://radio.jcraft.com:8000/
.
Of course, your JRoar may be also relayed by others.
In some cases, for example, your machine has several ip-addresses,
you may have to add '-myaddress' option
for specifying the global ip-address.
-->
Ogg Theora Support
JRoar can relay
Ogg Theora
streams and stream Ogg Theora files.
Here are testing Ogg Theora streams from JRoar,
- http://jroar.jcraft.com:8800/test_theora.ogg
This is the chained stream generated from several Ogg Theora files.
- http://jroar.jcraft.com:8800/fluendo.ogg
This is the relay stream of http://mirror.fluendo.com:8800/ from
Fluendo
, It seems that following players can play Ogg Theora streams,
com.jcraft.jroar.JRoar
-peercast-host connect1.peercast.org:7144
-relay /test.ogg peercast://pls/XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.pls
, where 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' should be peercast-ID.
Please note that current implementation does not use the Gnutella protocol,
but it is planned to do in the future.
-->
"Unlike other codecs like MP3 and Ogg Vorbis, Speex is specially designed for compressing voice at low bit-rates in the 8-32 kbps/channel range. Possible applications include Voice over IP (VoIP), Internet audio streaming, archiving of speech data (e.g. vovoice mail), and audio books. In some sense, it is meant to be complementary to the Ogg Vorbis codec."
Now, JRoar can handle Speex live stream. We are running testing stream at
- http://jroar.jcraft.com:8800/rms-speech-cambridgeuni-england2002-16kHz.spx
On this stream, the
speech by rms at Cambridge University, 2002
is repeated.
Please note that this data was generated from Ogg Vorbis data and encoded
in narrow-band and VBR mode. Of course, this speech is: Copyright (C) 2000 Richard M. Stallman.
To enjoy this stream, you need a speex player. At present, there are two methods.
-
Speex XMMS plugin
- speexdec command, which is included in
Speex tar ball
, You can do as follows,
lynx -source http://jroar.jcraft.com:8800/rms-speech-cambridgeuni-england2002-16kHz.spx |
speexdec -V - - | esdcat -m -r 16000
-->
JRoar can dish out pure Java Vorbis player
JRoar can dish out the pure Java Vorbis player and become the applet host. Before this hack, the Vorbis play applet could not get accesses to the streaming server. If you have Java2 Plug-in, try the following URL. The pure Java Vorbis player will be invoked and enable you to enjoy the live stream without security concerns.
Broadcast on UDP
JRoar will cast Ogg streams on UDP broadcast packets to the local subnet. Please note that these UDP packets don't depend on any formal specifications like a specification for
Vorbis/RTP
. In current implementation, Ogg packets are thrown to the local subnet in UDP packets without any trick. These packets are only enjoyable by JOrbisPlayer, which is included in
JOribs
0.0.10 or later. We hope that this ad-hock and quick hack will motivate to improve broadcasting systems and specifications for Ogg.
Comments/suggestions are accepted at
jroar@jcraft.com
.
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/16942/showart_140953.html |
|