免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1229 | 回复: 0
打印 上一主题 下一主题

Java Streaming Server for Ogg [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-07-15 11:42 |只看该作者 |倒序浏览

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:&nbsp
    &nbsp&nbsp
    source:&nbsp
   
    &nbsp&nbsp
   
   
   
    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
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP