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