Advantages of JMF in video streaming

Hi,
Video conferencing can be done by many methods but why JMF is used for video/audio streaming
what are its advantages? and Also what are its disadvantages?
Is there any other better way to do video conferencing ?
Please give details regarding the current scenario of JMF in video streaming.
thanx

Video conferencing can be done by many methods but why JMF is used for video/audio streaming
what are its advantages?It has RTP built-in, handles a handful of the most basic codecs, there is decent documentation for it...is written in Java... easily extendible for new codec support...
what are its disadvantages? It hasn't been updated or supported in 7 years... Windows 2000 was the last supported operating system... has bugs which will never be fixed... only supports a handful of low-bandwidth formats for streaming...
Is there any other better way to do video conferencing ? Yeah, tons...the best alternative right now would probably be with Adobe Flex technology, but JavaFX and Silverlight will both have audio & video capturing / streaming capabilities soon...

Similar Messages

  • How to take advantage of H.264 video streaming of webcam BCC950

    We used flex 4.6 to develop an web app using Logitech webcam of BCC950, We used Graphedit of Directdraw to know BCC950 has pin 0 to support i320,RGB24,and mjpg stream, and pin 3 to support H.264 stream. We also set h264videostreamingsettings in as code to ask for H.264 data directly from the webcam, but from the CPU consuming we can judge flash player only fetch pin 0 uncompressed data instead of H.264 data directly. We need to take advantage of BCC950 H.264 support to get webcam hardware compressed H.264 streaming data to avoid compression by CPU/software. As we know flash does not give programmers choice to define the pin to get data, then what we need to do to make sure we can get H.264 video stream from the webcam directly? thanks. Henry

    ...well I did follow that article on playing an h264/mpeg4
    video in flash. It works well, but how would you add playback
    controls?
    FLVPlayback component only allows you to source an FLV video
    not h264/mpeg4.
    This is probably a simple as3 answer...but I am not
    knowledgeable on as3 to know what code to add.
    Any suggests or direction that I should look would be great.
    In the meantime I am researching actionscript 3 to find and anwer.
    E.

  • P2p video streaming using jmf (is it possible to "forward" the stream ?)

    Hello
    In my project a peer will start streaming captured video from the webcam to his neighbors and then his neighbors will have to display the video and forward(stream) it to their neighbors and so on . So my question is can i do this using jmf , a simple scenario will be : peer_1 streams to peeer_2 and then peer_2 to forward(stream) the video received from peer_1 to peer_3 .
    I've read the jmf2_0 guide and i've seen that it's only possible to stream from a server to a client and that's about it , but i want also the client to pass the stream forward to another client ... like for example [http://img72.imageshack.us/img72/593/p2pjmf.gif|http://img72.imageshack.us/img72/593/p2pjmf.gif]
    I want to know at least if this it's possible with jmf or should i start looking for another solution ? and do you have any examples of such projects or examples of forwarding the stream with jmf ....
    thanks for any suggestions

    _Cris_ wrote:
    I want to know at least if this it's possible with jmf or should i start looking for another solution ? and do you have any examples of such projects or examples of forwarding the stream with jmf .... You can do what with JMF. Once you receive the stream, it's just a video stream. You can do anything you want with it...display it, record it, or send it as an RTP stream.

  • JMF video streaming

    Hi all,
    I want to use JMF video streaming api but I have no idea how to do it.
    I want to create several "agents" where each agent streams a single video to a certain ip address . (actually i want each agent to stream to the same computer)
    I want in my application (not the agents applications) to capture each of these streams and display each of them seperately.
    How can this be achieved with JMF ?
    thx.

    no one ????

  • Video not played using JMF while tramitting stream over RTP

    video not played using JMF while tramitting stream over RTP
    I am using code to tranmit video using RTP using JMF and i am able to successfully get the video on client side
    Code to send the video over rtp
    http://java.sun.com/javase/technologies/desktop/media/jmf/2.1.1/solutions/AVTransmit2.java
    code to recieve video over rtp
    http://java.sun.com/javase/technologies/desktop/media/jmf/2.1.1/solutions/AVReceive.html#source
    My problem is i am not able to play video in AVTransmit2.java.
    If i create a player using datasouce, eigther i get player already occupied or a black screen.
    please help me running the video on Transmit side as well.
    NOTE: i am using web cam for video source
    Edited by: qasitouch on Dec 23, 2009 5:55 AM

    I am not getting any error on consol, rather video is not displayed on media screen but black rectangle.
    On Transmitter
         // Try to create a processor to handle the input media locator
         processor = Manager.createProcessor(ds);
    createPlayer(Manager.createCloneableDataSource(ds)); // here i am craeting a player to show the video on transmitter end aswell.
    Player code:
         private void createPlayer(DataSource ds) {
              try {
                   Player player;
                   if(processor!=null)
                        System.out.println("processor: " + processor);
                        player = processor;
                   }else{
                        System.out.println("null is processor");
                   player = Manager.createRealizedPlayer(ds);
                   Component video = player.getVisualComponent();
                   JFrame mediaFrame = new JFrame("Camera Screen");
                   mediaFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                   mediaFrame.add(video);
                   mediaFrame.setSize(300, 300);
                   mediaFrame.setVisible(true);
                   player.realize();
                   player.start();
                   player.prefetch();
              } catch (NoPlayerException e) {
                   // TODO Auto-generated catch block
                   e.printStackTrace();
              } catch (CannotRealizeException e) {
                   // TODO Auto-generated catch block
                   e.printStackTrace();
              } catch (NotRealizedError e) {
                   // TODO Auto-generated catch block
                   e.printStackTrace();
              } catch (IOException e) {
                   // TODO Auto-generated catch block
                   e.printStackTrace();
              } catch (Exception e) {
                   // TODO Auto-generated catch block
                   e.printStackTrace();
    I am not getting any error and not running on the same side. My problem is showing video on Tranmitter end.
    Using above code i can create player and a black screen is showing, i am ubable to find, why video is not played in screen.

  • Capturing Video stream with JMF under LINUX??

    Ok, i am confused! I have read lots of info over this subject, but at some sites and forums i read that some people did not succeed in capturing ( and displaying) a live video stream with Java under Linux.
    Is it possible? and if so, can someone give me a sample code or a link to a sample code? thankz a lot!!

    Cross-posted
    http://forum.java.sun.com/post.jsp?forum=54&thread=456420&message=2083138&reply=true

  • HT3819 video stream from amazon prime to my TV

    i want to video stream from amazon prime to my TV  via my ipad, mac book using my apple TV device..

    there is no reason to get rid of Apple devices, not when a Chromecast, Roku, or FireTV can be acquired so cheaply. 
    This is a true statement, but this is a bad option in the long term since your content will be split between different sources, DRM rules, apps, access options, etc.  You are going to constantly be running into issues were you want to watch a show that is not available on the device (phone, tablet, etc) you are on.  I share "Disgusted_with_apple" frustrations in that Apple has not updated in three years now leaving Amazon FireTV and others with better interfaces and features but having my content locked into Apple's DRM.
    Apple was really first to market with a viable TV interface device, and has completely turned the market over to its competitors just by not showing up.  And now ATV can not play content, or provide features that ALL of the competitors have.   I recently bought an Amazon FireTV and love it.  The only advantage Apple has left is the iTunes Store still has more content, but that is not likely to last.

  • CTD bug in simple video streaming applet.

    I'm trying to write a simple applet to use JMF to allow an end-user to view a video stream that's being served up by VLC. It doesn't have to look immensely pretty (in fact, streamlined is what I want most). I swiped some code from the jicyshout project (http://jicyshout.sourceforge.net) which handles streaming MP3s, and borrowed a framework for an applet from one of Sun's example applets for the JMF.
    Here's my code so far:
    ** begin file SimpleVideoDataSource.java **
    import java.lang.String;
    import java.net.*;
    import java.io.*;
    import java.util.Properties;
    import javax.media.*;
    import javax.media.protocol.*;
    /* The SeekableStream and DataSource tweaks are based on the code from
    * jicyshout (jicyshout.sourcefourge.net), which was written by Chris Adamson.
    * The code was simplified (no need for mp3 metadata here), cleaned up, then
    * extended for our puposes.
    * This is a DataSource using a SeekableStream suitable for
    * streaming video using the default parser supplied by JMF.
    public class SimpleVideoDataSource extends PullDataSource {
    protected MediaLocator myML;
    protected SeekableInputStream[] seekStreams;
    protected URLConnection urlConnection;
    // Constructor (trivial).
    public SimpleVideoDataSource (MediaLocator ml) throws MalformedURLException {
    super ();
    myML = ml;
    URL url = ml.getURL();
    public void connect () throws IOException {
    try {
    URL url = myML.getURL();
    urlConnection = url.openConnection();
    // Make the stream seekable, so that the JMF parser can try to parse it (instead
    // of throwing up).
    InputStream videoStream = urlConnection.getInputStream();
    seekStreams = new SeekableInputStream[1];
    seekStreams[0] = new SeekableInputStream(videoStream);
    } catch (MalformedURLException murle) {
    throw new IOException ("Malformed URL: " + murle.getMessage());
    } catch (ArrayIndexOutOfBoundsException aioobe) {
    fatalError("Array Index OOB: " + aioobe);
    // Closes up InputStream.
    public void disconnect () {
    try {
    seekStreams[0].close();
    } catch (IOException ioe) {
    System.out.println ("Can't close stream. Ew?");
    ioe.printStackTrace();
    // Returns just what it says.
    public String getContentType () {
    return "video.mpeg";
    // Does nothing, since this is a stream pulled from PullSourceStream.
    public void start () {
    // Ditto.
    public void stop () {
    // Returns a one-member array with the SeekableInputStream.
    public PullSourceStream[] getStreams () {
    try {
    // **** This seems to be the problem. ****
    if (seekStreams != null) {
    return seekStreams;
    } else {
    fatalError("sourceStreams was null! Bad kitty!");
    return seekStreams;
    } catch (Exception e) {
    fatalError("Error in getStreams(): " + e);
    return seekStreams;
    // Duration abstract stuff. Since this is a theoretically endless stream...
    public Time getDuration () {
    return DataSource.DURATION_UNBOUNDED;
    // Controls abstract stuff. No controls supported here!
    public Object getControl (String controlName) {
    return null;
    public Object[] getControls () {
    return null;
    void fatalError (String deathKnell) {
    System.err.println(":[ Fatal Error ]: - " + deathKnell);
    throw new Error(deathKnell);
    ** end file SimpleVideoDataSource.java **
    ** begin file SeekableInputStream.java **
    import java.lang.String;
    import java.net.*;
    import java.io.*;
    import java.util.Properties;
    import javax.media.*;
    import javax.media.protocol.*;
    /* The SeekableStream and DataSource tweaks are based on the code from
    * jicyshout (jicyshout.sourcefourge.net), which was written by Chris Adamson.
    * The code was simplified (no need for mp3 metadata here), cleaned up, then
    * extended for our puposes.
    /* This is an implementation of a SeekableStream which extends a
    * BufferedInputStream to basically fake JMF into thinking that
    * the stream is seekable, when in fact it's not. Basically, this
    * will keep JMF from puking over something it expects but can't
    * actually get.
    public class SeekableInputStream extends BufferedInputStream implements PullSourceStream, Seekable {
    protected int tellPoint;
    public final static int MAX_MARK = 131072; // Give JMF 128k of data to "play" with.
    protected ContentDescriptor unknownCD;
    // Constructor. Effectively trivial.
    public SeekableInputStream (InputStream in) {
    super (in, MAX_MARK);
    tellPoint = 0;
    mark (MAX_MARK);
    unknownCD = new ContentDescriptor ("unknown");
    // Specified size constructor.
    public SeekableInputStream (InputStream in, int size) {
    super (in, Math.max(size, MAX_MARK));
    tellPoint = 0;
    mark(Math.max(size, MAX_MARK));
    unknownCD = new ContentDescriptor ("unknown");
    // Reads a byte and increments tellPoint.
    public int read () throws IOException {
    int readByte = super.read();
    tellPoint++;
    return readByte;
    // Reads bytes (specified by PullSourceStream).
    public int read (byte[] buf, int off, int len) throws IOException {
    int bytesRead = super.read (buf, off, len);
    tellPoint += bytesRead;
    return bytesRead;
    public int read (byte[] buf) throws IOException {
    int bytesRead = super.read (buf);
    tellPoint += bytesRead;
    return bytesRead;
    // Returns true if in.available() <= 0 (that is, if there are no bytes to
    // read without blocking or end-of-stream).
    public boolean willReadBlock () {
    try {
    return (in.available() <= 0);
    } catch (IOException ioe) {
    // Stick a fork in it...
    return true;
    // Resets the tellPoint to 0 (meaningless after you've read one buffer length).
    public void reset () throws IOException {
    super.reset();
    tellPoint = 0;
    // Skips bytes as expected.
    public long skip (long n) throws IOException {
    long skipped = super.skip(n);
    tellPoint += skipped;
    return skipped;
    // Trivial.
    public void mark (int readLimit) {
    super.mark (readLimit);
    // Returns the "unknown" ContentDescriptor.
    public ContentDescriptor getContentDescriptor () {
    return unknownCD;
    // Lengths? We don't need no stinkin' lengths!
    public long getContentLength () {
    return SourceStream.LENGTH_UNKNOWN;
    // Theoretically, this is always false.
    public boolean endOfStream () {
    return false;
    // We don't provide any controls, either.
    public Object getControl (String controlName) {
    return null;
    public Object[] getControls () {
    return null;
    // Not really... but...
    public boolean isRandomAccess () {
    return true;
    // This only works for the first bits of the stream, while JMF is attempting
    // to figure out what the stream is. If it tries to seek after that, bad
    // things are going to happen (invalid-mark exception).
    public long seek (long where) {
    try {
    reset();
    mark(MAX_MARK);
    skip(where);
    } catch (IOException ioe) {
    ioe.printStackTrace();
    return tell();
    // Tells where in the stream we are, adjusted for seeks, resets, skips, etc.
    public long tell () {
    return tellPoint;
    void fatalError (String deathKnell) {
    System.err.println(":[ Fatal Error ]: - " + deathKnell);
    throw new Error(deathKnell);
    ** end file SeekableInputStream.java **
    ** begin file StreamingViewerApplet.java **
    * This Java Applet will take a streaming video passed to it via the applet
    * command in the embedded object and attempt to play it. No fuss, no muss.
    * Based on the SimplePlayerApplet from Sun, and uses a modified version of
    * jicyshout's (jicyshout.sourceforge.net) tweaks to get JMF to play streams.
    * Use it like this:
    * <!-- Sample HTML
    * <APPLET CODE="StreamingViewerApplet.class" WIDTH="320" HEIGHT="240">
    * <PARAM NAME="code" VALUE="StreamingViewerApplet.class">
    * <PARAM NAME="type" VALUE="application/x-java-applet;version=1.1">
    * <PARAM NAME="streamwidth" VALUE="width (defaults to 320, but will resize as per video size)">
    * <PARAM NAME="streamheight" VALUE="height (defaults to 240, but will resize as per video size)">
    * <PARAM NAME="stream" VALUE="insert://your.stream.address.and:port/here/">
    * </APPLET>
    * -->
    import java.applet.Applet;
    import java.awt.*;
    import java.awt.event.*;
    import java.lang.String;
    import java.lang.ArrayIndexOutOfBoundsException;
    import java.net.URL;
    import java.net.MalformedURLException;
    import java.net.*;
    import java.io.*;
    import java.io.IOException;
    import java.util.Properties;
    import javax.media.*;
    import javax.media.protocol.*;
    public class StreamingViewerApplet extends Applet implements ControllerListener {
    Player player = null;
    Component visualComponent = null;
    SimpleVideoDataSource dataSource;
    URL url;
    MediaLocator ml;
    Panel panel = null;
    int width = 0;
    static int DEFAULT_VIDEO_WIDTH = 320;
    int height = 0;
    static int DEFAULT_VIDEO_HEIGHT = 240;
    String readParameter = null;
    // Initialize applet, read parameters, create media player.
    public void init () {
    try {
    setLayout(null);
    setBackground(Color.white);
    panel = new Panel();
    panel.setLayout(null);
    add(panel);
    // Attempt to read width from applet parameters. If not given, use default.
    if ((readParameter = getParameter("streamwidth")) == null) {
    width = DEFAULT_VIDEO_WIDTH;
    } else {
    width = Integer.parseInt(readParameter);
    // Ditto for height.
    if ((readParameter = getParameter("streamheight")) == null) {
    height = DEFAULT_VIDEO_HEIGHT;
    } else {
    height = Integer.parseInt(readParameter);
    panel.setBounds(0, 0, width, height);
    // Unfortunately, this we can't default.
    if ((readParameter = getParameter("stream")) == null) {
    fatalError("You must provide a stream parameter!");
    try {
    url = new URL(readParameter);
    ml = new MediaLocator(url);
    dataSource = new SimpleVideoDataSource(ml);
    } catch (MalformedURLException murle) {
    fatalError("Malformed URL Exception: " + murle);
    try {
    dataSource.connect();
    player = Manager.createPlayer(dataSource);
    } catch (IOException ioe) {
    fatalError("IO Exception: " + ioe);
    } catch (NoPlayerException npe) {
    fatalError("No Player Exception: " + npe);
    if (player != null) {
    player.addControllerListener(this);
    } else {
    fatalError("Failed to init() player!");
    } catch (Exception e) {
    fatalError("Error opening player. Details: " + e);
    // Start stream playback. This function is called the
    // first time that the applet runs, and every time the user
    // re-enters the page.
    public void start () {
    try {
    if (player != null) {
    player.realize();
    while (player.getState() != Controller.Realized) {
    Thread.sleep(100);
    // Crashes... here?
    player.start();
    } catch (Exception e) {
    fatalError("Exception thrown: " + e);
    public void stop () {
    if (player != null) {
    player.stop();
    player.deallocate();
    } else {
    fatalError("stop() called on a null player!");
    public void destroy () {
    // player.close();
    // This controllerUpdate function is defined to implement a ControllerListener
    // interface. It will be called whenever there is a media event.
    public synchronized void controllerUpdate(ControllerEvent event) {
    // If the player is dead, just leave.
    if (player == null)
    return;
    // When the player is Realized, get the visual component and add it to the Applet.
    if (event instanceof RealizeCompleteEvent) {
    if (visualComponent == null) {
    if ((visualComponent = player.getVisualComponent()) != null) {
    panel.add(visualComponent);
    Dimension videoSize = visualComponent.getPreferredSize();
    width = videoSize.width;
    height = videoSize.height;
    visualComponent.setBounds(0, 0, width, height);
    } else if (event instanceof CachingControlEvent) {
    // With streaming, this doesn't really matter much, does it?
    // Without, a progress bar of some sort would be appropriate.
    } else if (event instanceof EndOfMediaEvent) {
    // We should never see this... but...
    player.stop();
    fatalError("EndOfMediaEvent reached for streaming media. ewe ewe tea eff?");
    } else if (event instanceof ControllerErrorEvent) {
    player = null;
    fatalError(((ControllerErrorEvent)event).getMessage());
    } else if (event instanceof ControllerClosedEvent) {
    panel.removeAll();
    void fatalError (String deathKnell) {
    System.err.println(":[ Fatal Error ]: - " + deathKnell);
    throw new Error(deathKnell);
    ** end file StreamingViewerApplet.java **
    Now, I'm still new to the JMF, so this might be obvious to some of you... but it's exploding on me, and crashing to desktop (both in IE and Firefox) with some very fun errors:
    # An unexpected error has been detected by HotSpot Virtual Machine:
    # EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x21217921, pid=3200, tid=3160
    # Java VM: Java HotSpot(TM) Client VM (1.5.0_06-b05 mixed mode, sharing)
    # Problematic frame:
    # C 0x21217921
    --------------- T H R E A D ---------------
    Current thread (0x058f7280): JavaThread "JMF thread: com.sun.media.amovie.AMController@506411[ com.sun.media.amovie.AMController@506411 ] ( realizeThread)" [_thread_in_native, id=3160]
    siginfo: ExceptionCode=0xc0000005, writing address 0x034e6360
    (plenty more here, I can post the rest if necessary)
    The problem seems to be coming from the "return seekStreams" statement in the first file; when I have execution aborted before that (with a fatalError call), it doesn't crash.
    Any tips/hints/suggestions?

    You should write your own Applet, where you can easily get the visual component (getVisualComponent())and show it directly in your Applet (you call it "embedded"). As far as I know, all examples (AVReceive* etc.) use the component which opens a new window.
    Best regards from Germany,
    r.v.

  • No audio video streams upon import of .mov files?

    Hi... recently upgraded OS onto Intel 240 GB SSD. Running Widows 7 64 bit, clean re-install, 24 GB RAM, NIVIDIA Quadro FX 4800. I have been trying to optimize the system for maximum GPU accelerated effects while also taking advantage of the high speed read and write of my disk. OS runs on SSD, Adobe media cache on separate 2 TB eSATA connection, Media stored on external drive USB 3.0. Without getting into the fine details this is a snapshot of my workflow.
    The few problems I am encountering are some .mov files cannot be imported to PP. Error reads no audio or video stream in the files. I suspected metadata issues so tried to import with media browser and still no luck. These files worked perfectly before I began surgery 2 days ago on my computer. I have installed the latest version of quicktime and yet to no avail. Any recommendations here regarding my issue with imports or suggestions to benefit from my hardware would be appreciated.

    MOV is a wrapper, what is inside YOUR wrapper - Exactly what is INSIDE the video you are editing?
    Codec & Format information, with 2 links inside for you to read http://forums.adobe.com/thread/1270588
    Report back with the codec details of your file, use the programs below... A screen shot works well to SHOW people what you are doing
    https://forums.adobe.com/thread/1070933 for screen shot instructions
    Free programs to get file information for PC/Mac http://mediaarea.net/en/MediaInfo/Download

  • Java Video Streaming

    Hello
    I try to get an overview of what's possible according to video streaming in sun's wonderland. The goal is to stream prerecorded videos, stored on a webserver (not necessarily on the same machine like the wl-server ) into our wonderland embedded swing application.
    My first investigation shows me, that I have the following possibilities to stream videos in Java:
    - Java Media Framework (JMF)
    - JVLC (VideoLAN Java API)
    - Quicktime Streaming API (only quicktime movies)
    -> http://www.onjava.com/pub/a/onjava/2005/01/12/strmng_qtj.html
    - Red5 Java Client (only flash movies):
    -> http://www.actionscript.org/resources/articles/617/1/Streaming-and-database-connection-with-red5-media-server/Page1.html
    - Mplayer Java Client:
    -> http://beradrian.wordpress.com/2008/01/30/jmplayer/
    So what do you suggest me? What's the best way? Are there any code-examples for streaming videos from a webserver to a local java-client using JMF?
    Thanks for your help.
    Kind regards,
    Peter
    Edited by: blood_on_ice on Mar 23, 2009 12:44 AM

    Thanks for your answer...
    >
    The "best" way? Considering you're using a Swing application, your best bet is probably going to be JMF. JavaFX has support for playing videos, but I'm not sure if they have support for RTP streams or progressive downloads or anything.
    If you wanted to go the extra mile, you could look into embedding a Silverlight or Flash player into your Swing application. Silverlight is pretty cool because it's HD capable...>
    Yes I have to develop the video streaming in a swing non-top-level Swing JComponent (such as a JPanel) because this is a wonderland restriction...I don't know JavaFX yet, is it possible to build a JavaFX app inside such a non-top-level Swing component? Embedding silverlight in a java-app isn't a really good idea I think...
    Further recherches shows me, that I need on-demand video streaming with the ability to start, stop, play, pause etc. the video which is stored for example on a webserver. This is possible throught RTSP or HTTP according to: [http://www.remlab.net/op/vod.shtml|http://www.remlab.net/op/vod.shtml] ...when I use rtsp, I need a streaming-server like vlc, for http i just need my video stored on a webserver.
    So what do I have for possibilities to stream such a video in a java client (non-top-level Swing JComponent) with RTSP or HTTP?
    I've tried following rtp-code-example: [http://java.sun.com/javase/technologies/desktop/media/jmf/2.1.1/solutions/AVReceive.html|http://java.sun.com/javase/technologies/desktop/media/jmf/2.1.1/solutions/AVReceive.html]
    but it didn't work...I started my vlc-streaming server this way:
    cvlc -vvv movie.mpg --sout '#rtp{dst=192.168.1.33,port=1234,sdp=http://localhost:8080}'but the output of the rtp-code-example shows the following:
    run:
    - Open RTP session for: addr: 127.0.0.1 port: 8080 ttl: 1
      - Waiting for RTP data to arrive...
      - Waiting for RTP data to arrive...
      - Waiting for RTP data to arrive...
      - Waiting for RTP data to arrive...
      - Waiting for RTP data to arrive...
    With vlc http://127.0.0.1:8080 i receive the stream...
    But I couldn't find an example of how I can get an rtsp-stream or a http-stream in jmf...
    Thanks for your help.
    Kind regards,
    Peter
    Edited by: blood_on_ice on Mar 23, 2009 8:59 AM
    Edited by: blood_on_ice on Mar 23, 2009 9:00 AM

  • Finding a java video streaming player

    I recently use FreePastry to implement a p2p video streaming system.
    But now i have a new challege, which bother me several days.
    In Splitstream, which uses Byte[] to send the data to other peer.
    I want find a java video player. It would be best to receive Byte[] as input.
    I try JMF, but it use RTP as the input.
    Is there any other video players suited about my case.

    There is a function in LiveStream.java called read. Read passes in a buffer object. The goal is to write all of the data you have available into the buffer object.
    What you want to do is something along the lines of the following pseudocode...
    public void read(Buffer buffer) throws IOException {
        synchronized (this) {
            /* Get the data */
            byte[] data = FunctionThatGetsByteArrayFromTheNetwork();
            /* Write the data to the buffer object */
            buffer.setData(data);
    }As for using the PushBufferDataSource, you just create one like you would a normal class (just use the new operator) and give it to a processor or a player like you would a normal data source.
    You need to include the DataSource.java code like the example does, modify it to use your modified LiveStream.java (you'll probably change the names of classes, so update the DataSource.java class to reflect those changes) and then just use it to create your DataSource.
        /* From DataSource.java */
        DataSource ds = new DataSource();
        /* Normal way of doing this */
        Processor p = Manager.createProcessor(ds);

  • Video Streaming Performance : 802.11G vs. 802.11N

    Setup: 1TB m4v's - Mac Pro - Airport Express G - ATV2
    I'm trying to stream m4v video from my Mac Pro to ATV2, and although it works, loading video sometimes takes a while. All m4v's are between 800MB - 2GB. The Mac Pro & ATV2 are both N-ready, but my Express is G.
    My question: Would getting either a Express/Extreme N deliver a real-world advantage with regard to local video streaming?

    My current setup includes an Airport Express G. So wireless. I don't have a problem, everything works just fine.
    The speed of both G/N is clear: 54mbps/108mbps.
    The ATV2 question is: Does anyone have any real-world local video streaming experience with both G/N, and if so: *is there a real-world loading time advantage when using N over G?*

  • Windows Media Player & Video Streaming

    Hi, there!
    Is it possible to send Video Streaming (using JMF) to
    Windows Media Player? If so, how could I do that???
    Thank You very much!!
    Cesar

    Hi Jupiter,
    Yes, JMF supports streaming media using the public standard RTP and RTSP protocols.
    JMF supports both transmission and reception of media over RTP for a variety of media formats. For a list of the default formats supported, check:
    http://java.sun.com/products/java-media/jmf/2.1.1/support-rtp.html
    It also fully supports RTCP. Besides, JMF implements the "RTP Profile for Audio and Video Conferences with Minamal Control", RTP/AVP.
    The front end GUI application, JMStudio can be used as a standalone application to transmit and receive RTP streams. To implement custom RTP applications using JMF as a framework, check out the RTP samples
    on the solutions page: http://java.sun.com/products/java-media/jmf/2.1.1/solutions/index.html
    OR you can refer this URL.
    http://java.sun.com/products/java-media/jmf/2.1.1/faq-jmf.html#jmf2-rtp-features
    I hope this will help you.
    Thanks
    Bakrudeen
    Technical Support Engineer
    Sun MicroSystems Inc, India

  • How to receive video stream with different codec

    Hello Experts,
    I am transmitting the video stream from a system using RGBFormat with dimension 320x240 but at the receiver side in the absence this CODEC I need to receive the stream with RGBFormat dimension 160x120.
    I request you to please guide me that how can I do this.
    Apart from this please let me know that is there a way through which I can add codec RGBFormat with dimension 320x240 ?

    I am transmitting the video stream from a system using RGBFormat with dimension 320x240 but at the receiver side in the absence this CODEC I need to receive the stream with RGBFormat dimension 160x120.You need to do what exactly? Can you explain that better, because, that doesn't make much sense to me. You want to transmit a video stream at 320x240 and have the client receive it at a different resolution that you sent it at... that just doesn't make sense.
    I'd like to mail you a letter on a legal sized sheet of paper, but I'd like for you to receive it on standard paper... See? Doesn't really make any sense...
    Apart from this please let me know that is there a way through which I can add codec RGBFormat with dimension 320x240 ?The RGB format is already defined for JMF, it just doesn't have an RGB-RTP variant for sending over RTP...and creating all of the things you have to create to make JMF send in RGB is pretty complex, complicated stuff.

  • Playing video streaming

    I begin to implement a video chat in java. I used JMF for capturing video streaming from a digital camera and RTP protocol for transmiting the video stream. I want to play the stream into an Applet (so on the client side). I don't want to use jmf on client side (an RTP Applet Player or something like this) because this means that the client needs to instal the JMF package. I need a solution to play the stream stream into an applet but I want that the client don't need to instal any software. I can use anything on server side (from where I transmit)...Is this possible? Please help me. Thank you.

    I've only done some web cam capturing code, but I thought you only need the "performance pack" of JMF installed on a machine if you want to perform capturing.
    So, maybe you can still use JMF in an applet without a formal installation on the client pc.
    Just itry ncluding the jmf.jar and any CODEC class files necessary to replay your video stream ?
    It's worth a shot... although someone may very well correct me on this.
    regards,
    Owen

Maybe you are looking for

  • Qosmio F30: How to: Manual Installation Of Windows Xp Media Center Edition 2005

    Manual Installation Of Windows Xp Media Center Edition 2005 On Toshiba Qosmio F30 Laptop Last Update 3 Oct 2006 Important Notes Before You Start: 1-These Steps Used For "Toshiba Qosmio F30" And For Other Qosmio Models That Comes With "Intel Centrino

  • HCm Process and forms Message Type Unknown

    Hi, I started a process through Start process application in Portal,process started in could click on check and send.process number generated. but i coudnt see the workflow triggerted.i have checked activation and general task of workflow,it is fine.

  • My computer crashed (Windows)

    On getting the repair done i have lost all of my playlists and purchased songs etc in iTunes, Can i import all of this info direct into iTunes from my old iPod classic which still has it all on? I'm sure this sounds really basic but i don't want to c

  • Why copies can not be modified under vista?

    today, I opened a document that built by Adobe InDesign CS2, and attended to print it, when I clicked "File/Print/Setup...", then pop a windows print dialog, I set "Number of Copies" to 3, but when I return inDesign CS2 print dialog, the Copies is 1,

  • Urgent!!! JText and JButton in same cell of JTable

    Does anyone have an example of a JTable with a cell that allows for text input as well as a JButton for invoking the JFileSystemChooser. I believe this involves adding 2 JComponents to a cell within the JTable. An example of this can be seen if you h