Martin Richard, Criteo
Comment diffuser de la vidéo dans un navigateur ?
<video>
<video loop controls src="public/horseplay-2.webm"></video>
<video controls>
<source src="public/horseplay-2.webm">
<source src="public/horseplay-2.mp4">
</video>
cwnd
, rwnd
)GET /resource HTTP/1.1
Host: www.martiusweb.net
Connection: Keep-Alive
HTTP/1.1 200 OK
Connection: Keep-Alive
Date: Tue, 27 Oct 2015 15:02:49 GMT
Content-Type: text/html
Content-Length: 22796
Range-Request
Encoding: Chunked
Range-Request
: oui, tu peux !HTTP/1.1 200 OK
Accept-Ranges: bytes
...
Range-Request
: requêteGET /video.webm HTTP/1.1
Range: bytes=0-4096
...
Range-Request
: réponseHTTP/1.1 206 Partial Content
Content-Length: 4096
Content-Range: bytes 0-4096/381467554
...
Range-Request
<video>
)Range-Request
snavigator.getUserMedia(constraints, onStream, onError);
function onStream(stream) {
var video = document.querySelector('video');
video.src = window.URL.createObjectURL(stream);
}
RTCDataChannel
utilise SCTP High Performance Browser Networking
Ilya Grigorik, O'Reilly Media, 2013
C'est aussi le crédit images
HTTP2 explained
Daniel Stenberg, Self-published, 2015
HTTP3 explained
Daniel Stenberg, Self-published, 2018
m.richard@criteo.com
martius@martiusweb.net
https://marti.us
Martiusweb