아직까지는 찾지를 못함..
직접 구현해야 하려나?
mjpeg 카메라 영상인데...
[링크 : http://141.89.114.98/demo/edu640x480v.html] mjpeg 예제
안드로이드(갤S2 LTE HD)는 그냥 다운로드..(재생불가)
IE 11 (edge)재생불가
IE 10 이하 재생불가
아이패드는 재생
크롬 재생
VLC 재생
It is natively supported by the QuickTime Player, the PlayStation console, and web browsers such as Safari, Google Chrome, and Mozilla Firefox.
[링크 : https://en.wikipedia.org/wiki/Motion_JPEG]
M-JPEG over HTTP
HTTP streaming separates each image into individual HTTP replies on a specified marker. RTP streaming creates packets of a sequence of JPEG images that can be received by clients such as QuickTime or VLC.
In response to a GET request for a MJPEG file or stream, the server streams the sequence of JPEG frames over HTTP. A special mime-type content type multipart/x-mixed-replace;boundary=<boundary-name> informs the client to expect several parts (frames) as an answer delimited by <boundary-name>. This boundary name is expressly disclosed within the MIME-type declaration itself. The TCP connection is not closed as long as the client wants to receive new frames and the server wants to provide new frames. Two basic implementations of a M-JPEG streaming server are cambozola and MJPG-Streamer. The more robust ffmpeg-server also provides M-JPEG streaming support.
[링크 : https://en.wikipedia.org/wiki/Motion_JPEG#M-JPEG_over_HTTP]
VLC로 raw 덤프해서 보니...
--myboundary
Content-type: image/jpeg
이렇게 시작하고 그 아래로는 깨지는걸 봐서는 그냥 jpeg 프레임인듯..
심심..(?)해서 저기 MIME 관련 헤더들 삭제하고 jpeg으로 저장하니
아래와 같이 똮!
저장을 좀 오래 하니
--myboundary
Content-type: image/jpeg
가 반복적으로 나타난다.
video/x-jpeg | Motion-JPEG video. | | | | There are currently no specific properties defined or needed for this type. Note that video/x-jpeg only applies to Motion-JPEG pictures (YUY2 colourspace). RGB colourspace JPEG images are referred to as image/jpeg (JPEG image). |
[링크 : http://gstreamer.freedesktop.org/.../section-types-definitions.html#table-video-types]
[링크 : http://stackoverflow.com/.../correct-mime-type-for-multipart-mjpeg-stream-over-http]
HTTP/1.0 200 OK Server: en.code-bude.net example server Cache-Control: no-cache Cache-Control: private Content-Type: multipart/x-mixed-replace;boundary=--boundary --boundary Content-Type: image/jpeg Content-Length: [length of the image bytes] [write jpeg bytes] --boundary Content-Type: image/jpeg Content-Length: [length of the image bytes] [write jpeg bytes] [...] |
[링크 : http://en.code-bude.net/tag/how-does-mjpeg-work/]
mjpeg streamer
[링크 : http://www.acmesystems.it/video_streaming]