Starting from today Aug 28th, 2017, I no longer work at Telecom ParisTech, but at Netflix Inc., in California. If you want to reach me, contact me via Twitter, LinkedIn, GitHub, …
Soutenance d’Habilitation à Diriger des Recherches
C’est avec plaisir que je vous annonce que je présenterai mes travaux de recherche sur le thème de “Interactive Media Streaming” dans le cadre la soutenance pour obtenir l’Habilitation à Diriger des Recherches de l’Université Pierre et Marie Curie de Paris. Cette présentation se déroulera:
Mardi 25 octobre 2016 à 14:00
à Télécom ParisTech (46 rue Barrault, Paris 13e)
Amphithéâtre Rubis
Le jury sera composé de:
M. Vincent CHARVILLAT, Professeur, Université de Toulouse, Rapporteur
M. Dick BULTERMAN, Professeur, Vrije Universiteit Amsterdam, Rapporteur
M. Carsten GRIWODZ, Professeur, Universitetet i Oslo, Rapporteur
M. Pierre SENS, Professeur, Université Paris 6, Examinateur
M. Gwendal SIMON, Maître de Conferences, HDR, Telecom Bretagne, Examinateur
M. Christian TIMMERER, Associate Professor, Universität Klagenfurt, Examinateur
M. Jean-Claude DUFOURD, Directeur d‘études, Telecom ParisTech, Examinateur
Si vous êtes intéressés pour assister à cette présentation, merci de me le signaler.
Service Workers, packages and fragment identifiers
Consider a package located at URL P that contains 2 resources A and B identified by fragment identifiers #A and #B. If a web page URL uses P#A or P#B, it might be interesting to avoid downloading the entire package when only a small part is needed, or at least to prioritize the download for the parts of the resource being used in the fragment. I’m thinking that such processing could be done in a Service Worker that understands the package format, but unfortunately it cannot at the moment.
Service Workers are meant to behave as a client-side, browser-integrated proxy. As such, they do not receive fragment identifiers in the requested URL of fetch events. However, since a Service Worker is a specific kind of proxy (hey it runs in a browser), I’m wondering if it wouldn’t be interesting to let fragments reach Service Workers. Any thought here ?
Cartography of my publications
If you are interested in my research activities and you want to get an understanding of what I’ve been doing for the past year, I’ve made a diagram illustrating how my different academic publications relate and what topics they cover.
First attempt at storing TTML in MP4
As of version 5017 of GPAC, I’ve added a first preliminary support of storage of TTML in MP4. The support is according to the ISOBMFF spec (MPEG-4 Part 30, to appear) and to the DECE CFF format. This post describes why and how to use this implementation. Continue reading First attempt at storing TTML in MP4
Using WebVTT to carry media streams
Some of you may know the WebVTT format as a subtitling format. But WebVTT can also be used to carry video-synchronized metadata, i.e. any data that is not meant to be displayed, as is (or at all), but that should be processed at a given time in the video by some JavaScript code in the HTML page.
In this post, I describe the results of the modifications I made to MP4Box to export any MP4 tracks in WebVTT, including audio or video data. The idea here is not to replace the MP4 file format by WebVTT because WebVTT was not meant for that and is not really good at that (for one it is a textual format). The idea is more to provide a (temporary) way for people to experiment with JavaScript decoders for their data. You can already start using MP4Box to test but this work is still preliminary and is subject to changes.
Streaming of SVG animations on the Web
This week I gave a talk during the HTML5 Developer conference in San Francisco. The conference was very interesting and I met many people doing cool things with SVG. You can view the slides of my presentation here. The gist of this presentation is: “If you create timeline-based animations and you structure them properly, using some of my tools (packager and JS player) you can stream SVG content on the Web just like a video, including live or adaptive streaming”. I’m still working on those tools but will be releasing them soon.
[slideshare id=27516554&doc=thegraphicalweb2013-131024003537-phpapp02]
Présentation (en français) sur le streaming vidéo sur HTTP et la norme MPEG DASH
Voici les slides de la présentation que j’ai donnée aujourd’hui lors de la réunion du GDR ISIS. Ces slides présentent les concepts du streaming vidéo sur HTTP et en particulier la norme MPEG-DASH.
[slideshare id=26732866&doc=dashgdr-isis-131001043222-phpapp01]
Adaptive streaming techniques for responsive images
Responsive image is a term in the Web world corresponding to the techniques involved when an author wants its website to be rendered with the right image for the right client given its viewing condition (screen size, pixel density, network, …). This technique falls, from a research point of view, in the broad category of media adaptation techniques to the user’s context. To me, at first sight, the problem seemed a no-brainer as it has been solved several times, including in the web world for video streaming with the recent approaches of adaptive streaming such as DASH. Naively I thought the same techniques could be used. However, after attending some meetings, including this week’s meetup, it appears that the environment constraints are such that the problem is not so simple to solve. In this post, I want to highlight the differences and give an example of how DASH manifest could be used for responsive images (I’m not really proposing it though). Continue reading Adaptive streaming techniques for responsive images
HTML 5 Media Source Extensions in SVG
In a previous post, I described a bit the support in GPAC for the HTML 5 video and audio elements in SVG documents. My initial idea was to be able to play, with the Media Source Extensions API, adaptive streaming content (such as DASH) in SVG. So I started implementing MSE and it is now possible to play DASH content within an SVG presentation using GPAC. This post details how it was implemented. Continue reading HTML 5 Media Source Extensions in SVG