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
Category Archives: MPEG
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.
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
WebVTT, MP4 files, DASH and GPAC
In a previous post, I described how to package and manipulate WebVTT content in MP4 files according to the latest ISO standard using MP4Box. Basic import of WebVTT or SRT file is as follows:
MP4Box -add file1.vtt:lang=en subtitle1.mp4
or
MP4Box -add file2.srt:FMT=VTT:lang=en subtitle2.mp4
and then, the basic usage to create DASH subtitle segments of 10 seconds:
MP4Box -dash 10000 subtitle.mp4:role=subtitle video.mp4
It is now possible to play these MP4 files with the GPAC players (on all supported platforms: Win, Mac, Linux, Android, iOS). So, try it out and let me know if it has bugs. You can for instance test this file or its DASH version.
MP4Client http://download.tsi.telecom-paristech.fr/gpac/webvtt/counter-vtt.mp4 MP4Client http://download.tsi.telecom-paristech.fr/gpac/webvtt/dash/counter-subtitles.mpd
This post describes some details on how the rendering was achieved.
[slideshare id=24802693&doc=m30301-reportonwebvttimplementation-130731093103-phpapp01]
WebVTT in MP4
As you probably know from my previous posts, MPEG is standardizing a way to deliver WebVTT files as streams (or tracks) in the ISO Base Media File Format (e.g. MP4 files). The standard is still at draft stage but I recently added VTT-in-MP4 support to GPAC (no playback support yet), as reported in the contribution below. Not that this support might change in the future depending on how the draft standard progresses, in particular in response to some comments we’ve made, as reported in the contribution referenced in this post. Continue reading WebVTT in MP4
Delivery of Timeline for External Data in MPEG-2 Transport Stream
As a follow-up of the work on Multimedia Hybrid Delivery (see this post), Telecom ParisTech, together with TVN, EPFL, UPM and IETR/INSA, of the H2B2VS project, submitted the following contribution to the 104th MPEG meeting, which was held last week in Incheon, South Korea. Continue reading Delivery of Timeline for External Data in MPEG-2 Transport Stream
Live streaming over HTTP of video and subtitles (cont’d)
Here are the slides describing the demo I gave during the ACM MMSys 2013 conference, in Oslo, February 2013. It is an update of the demo I gave during the MPEG meeting in Shanghai, October 2012. Source code should be published soon in GPAC and if I can, I’ll set up a running live server (or, if not possible, I’ll put a video of the demo). Stay tuned.
[slideshare id=16861694&doc=mmsys-2013-demo-130301085551-phpapp01]
and the paper:
[textimport http://biblio.telecom-paristech.fr/cgi-bin/ws/biblio.cgi?author=cyril+concolato&type=inproceedings&etat=published&lang=en&dept=tsi&year=2012-&id=13223]
Towards Hybrid IP-based and MPEG-2 TS non-IP-based synchronized delivery of media streams
Hi all,
With some delay, I’ve put the slides that we presented at MPEG in October 2012, on how to extend MPEG-2 TS and MPEG-DASH to support synchronized playback of streams coming from IP based networks and from MPEG-2 TS based (non-IP) networks. The contribution is here:
[textimport http://biblio.telecom-paristech.fr/cgi-bin/ws/biblio.cgi?author=cyril+concolato&type=standardisation&etat=submitted&lang=en&dept=tsi&year=2012&id=12905]
and the slides here:
[slideshare id=16005665&doc=m26903-hybriddeliveryts-130115093207-phpapp02]
Live streaming of video and subtitles using DASH
This post contains the presentation made at the MPEG meeting in Shanghai, China, in October 2012, related to the input contribution M26906. The presentation gives the details about the demonstration made during the meeting. This demonstration showed the use of the Google Chrome browser to display synchronized video and subtitles, using the Media Source Extension draft specification and the WebVTT subtitle format. The video and DASH content was prepared using GPAC MP4Box tool.
[slideshare id=15636451&doc=m26906-livestreamingofvideoandsubtitleswithdash-121214045244-phpapp01]