net.sf.fmj.media.parser
Class MultipartMixedReplaceParser
java.lang.Object
net.sf.fmj.media.AbstractControls
net.sf.fmj.media.AbstractPlugIn
net.sf.fmj.media.AbstractDemultiplexer
net.sf.fmj.media.parser.MultipartMixedReplaceParser
- All Implemented Interfaces:
- Controls, Demultiplexer, Duration, MediaHandler, PlugIn
public class MultipartMixedReplaceParser
- extends AbstractDemultiplexer
Parser for multipart/x-mixed-replace - used in some cases for streaming jpegs.
TODO: check out the jipcam project, which has Mjpeg parsing info.
This project also has some ip camera info: http://www.codeproject.com/cs/media/cameraviewer.asp?print=true
Some camera links from that project:
Not responding: http://chipmunk.uvm.edu/cgi-bin/webcam/nph-update.cgi?dummy=garb
Works: http://webcam-1.duesseldorf.it-on.net/cgi-bin/nph-update.cgi
Works: http://webcam-2.duesseldorf.it-on.net/cgi-bin/nph-update.cgi
Works: http://towercam.uu.edu/axis-cgi/mjpg/video.cgi
Works: http://136.165.99.86/axis-cgi/mjpg/video.cgi
Works: http://217.114.115.192/axis-cgi/mjpg/video.cgi
Works: http://129.78.249.81/axis-cgi/mjpg/video.cgi
Others:
Works: http://camera.baywatch.tv/axis-cgi/mjpg/video.cgi?camera=1&resolution=352x240&compression=50
Works: http://www.surfshooterhawaii.com//cgi-bin/axispush555.cgi?dummy=garb
More camera links:
http://www.axis.com/solutions/video/gallery.htm
TODO: support end-of-message, with 2 dashes after separator, see http://wp.netscape.com/assist/net_sites/pushpull.html
- Author:
- Ken Larson
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
TIMESTAMP_KEY
public static final java.lang.String TIMESTAMP_KEY
- See Also:
- Constant Field Values
MultipartMixedReplaceParser
public MultipartMixedReplaceParser()
getSupportedInputContentDescriptors
public ContentDescriptor[] getSupportedInputContentDescriptors()
- Specified by:
getSupportedInputContentDescriptors
in interface Demultiplexer
- Specified by:
getSupportedInputContentDescriptors
in class AbstractDemultiplexer
getTracks
public Track[] getTracks()
throws java.io.IOException,
BadHeaderException
- Specified by:
getTracks
in interface Demultiplexer
- Specified by:
getTracks
in class AbstractDemultiplexer
- Throws:
java.io.IOException
BadHeaderException
setSource
public void setSource(DataSource source)
throws java.io.IOException,
IncompatibleSourceException
- Specified by:
setSource
in interface MediaHandler
- Specified by:
setSource
in class AbstractDemultiplexer
- Throws:
java.io.IOException
IncompatibleSourceException
open
public void open()
throws ResourceUnavailableException
- Specified by:
open
in interface PlugIn
- Overrides:
open
in class AbstractPlugIn
- Throws:
ResourceUnavailableException
close
public void close()
- Specified by:
close
in interface PlugIn
- Overrides:
close
in class AbstractPlugIn
start
public void start()
throws java.io.IOException
- Specified by:
start
in interface Demultiplexer
- Overrides:
start
in class AbstractDemultiplexer
- Throws:
java.io.IOException
isPositionable
public boolean isPositionable()
- Specified by:
isPositionable
in interface Demultiplexer
- Overrides:
isPositionable
in class AbstractDemultiplexer
isRandomAccess
public boolean isRandomAccess()
- Specified by:
isRandomAccess
in interface Demultiplexer
- Overrides:
isRandomAccess
in class AbstractDemultiplexer