yalms: a data structure for storage and replay of multimedia content in digital classes

25

Upload: marat-zhanikeev

Post on 16-May-2015

151 views

Category:

Technology


7 download

DESCRIPTION

Content in digital classes -- a loosely defined aggregation of audiovideo, screen capture, slides, notes and complimentary files -- needs a standard format for storage and replay. The closest to this objective is SMIL -- a language which can describe the timeline of complex multimedia sessions. The format presented in this paper is part of the larger YALMS educational software and goes one step further than SMIL. The proposed format supports realtime recording, partial updates of content, and finally replay of the entire class. Recording and updates require a server as backend but the class can be replayed directly from storage by a web application.

TRANSCRIPT

Page 1: YALMS: A Data Structure for Storage and Replay of Multimedia Content in Digital Classes
Page 2: YALMS: A Data Structure for Storage and Replay of Multimedia Content in Digital Classes

.

YALMS Basics

M.Zhanikeev, H.Koide -- [email protected] -- YALMS: A Data Structure for Storage and Replay of Multimedia Content -- http://tinyurl.com/marat140116 -- 2/21...

2/21

Page 3: YALMS: A Data Structure for Storage and Replay of Multimedia Content in Digital Classes

.

YALMS Basics

.YALMS.....

.... stands forYetAnotherLectureManagementSystem

• a new generaction --HTML5- and cloud-based LMS 06

• one function: video annotation robot 07

• another function: Group Drive -- a P2P version of cloud storage 08

• high-performance multimedia system based on multicore, SSD, etc. 09

06 M.Zhanikeev+1 "YALMS: Yet Another Lecture Management System" IEICE ET研究会 (2013)

07 M.Zhanikeev+1 "...Automatic Slicing of Screen Capture Video using Slide PDFs" IEICE ET研究会 (2013)

08 M.Zhanikeev+1 "YALMS: A Group Drive API for Cloud-Based Classrooms" IEICE IN研究会 (2013)

09 M.Zhanikeev+1 "...Solid State Drives in Rich Multimedia Content Processing, Storage and Streaming" ITE-MMS研究会 (2013)

M.Zhanikeev, H.Koide -- [email protected] -- YALMS: A Data Structure for Storage and Replay of Multimedia Content -- http://tinyurl.com/marat140116 -- 3/21...

3/21

Page 4: YALMS: A Data Structure for Storage and Replay of Multimedia Content in Digital Classes

.

YALMS Roadmap

YALMS: Intro

YALMS.annotation

2013.07・ET研

2013.09・ET研

YALMS.streaming2014.01・ET研

YALMS.hiperf2013.10・ITE-MMS研

YALMS.cloud

YALMS.format

YALMS.done!

DASH Adaptive HTML5

PDF video annotation

cloudssync

groupdrive

SSD

recording

2014.1・LOIS研

2013.11・IN研

replaymultimedia

storage

multicore

M.Zhanikeev, H.Koide -- [email protected] -- YALMS: A Data Structure for Storage and Replay of Multimedia Content -- http://tinyurl.com/marat140116 -- 4/21...

4/21

Page 5: YALMS: A Data Structure for Storage and Replay of Multimedia Content in Digital Classes

.

YALMS.format : Objectives

M.Zhanikeev, H.Koide -- [email protected] -- YALMS: A Data Structure for Storage and Replay of Multimedia Content -- http://tinyurl.com/marat140116 -- 5/21...

5/21

Page 6: YALMS: A Data Structure for Storage and Replay of Multimedia Content in Digital Classes

.

YALMS.format Objectives

1. pack all the contents of a lecture into a single .yalms file◦ audiovideo, slides, files and versioning, etc.

◦ official components: AV for audiovideo,S for slides or screen capture video,C isfor files and versioning

2. replay .yalms files in a browser in standalone mode◦ directly from .yalms file -- no backend system

M.Zhanikeev, H.Koide -- [email protected] -- YALMS: A Data Structure for Storage and Replay of Multimedia Content -- http://tinyurl.com/marat140116 -- 6/21...

6/21

Page 7: YALMS: A Data Structure for Storage and Replay of Multimedia Content in Digital Classes

.

Objectives ... Visuallly

VA

S

Step 1: Record

C

Long-TermStorageLecturer

Files

YALMSRobot

ViewersHTML5

Step 2: Add PDF

Lecturer

SYALMSRobot

M.Zhanikeev, H.Koide -- [email protected] -- YALMS: A Data Structure for Storage and Replay of Multimedia Content -- http://tinyurl.com/marat140116 -- 7/21...

7/21

Page 8: YALMS: A Data Structure for Storage and Replay of Multimedia Content in Digital Classes

.

YALMS vs... : Related Works

M.Zhanikeev, H.Koide -- [email protected] -- YALMS: A Data Structure for Storage and Replay of Multimedia Content -- http://tinyurl.com/marat140116 -- 8/21...

8/21

Page 9: YALMS: A Data Structure for Storage and Replay of Multimedia Content in Digital Classes

.

YALMS.format vs Multimedia System

.Traditional Multimedia System..

.

• powerfull back-end• HTTP streaming in realtime

.YALMS.format..

.

• .yalms file is a binary file -- can be stored anywhere◦ like in cloud storage

• no streaming, the file is simply traversed using exiting APIs◦ any RESTful API, cloud storage, local filesystem

M.Zhanikeev, H.Koide -- [email protected] -- YALMS: A Data Structure for Storage and Replay of Multimedia Content -- http://tinyurl.com/marat140116 -- 9/21...

9/21

Page 10: YALMS: A Data Structure for Storage and Replay of Multimedia Content in Digital Classes

.

YALMS.format vs SMIL

5: 6:<par> 7: <video src="joe-video"/> 8: <text src="http://www.example.com/joe-text"/> 9: <seq> 10: <audio src="rtsp://www.example.com/joe-audio"/> 11: <audio src="tim-audio"/> 12: </seq> 13:</par> 14: 15:

joe-videojoe-text

jow-audio tim-audio

• close but not enough

• need to pack actualcontent into the file

M.Zhanikeev, H.Koide -- [email protected] -- YALMS: A Data Structure for Storage and Replay of Multimedia Content -- http://tinyurl.com/marat140116 -- 10/21...

10/21

Page 11: YALMS: A Data Structure for Storage and Replay of Multimedia Content in Digital Classes

.

YALMS.format in Browser

M.Zhanikeev, H.Koide -- [email protected] -- YALMS: A Data Structure for Storage and Replay of Multimedia Content -- http://tinyurl.com/marat140116 -- 11/21...

11/21

Page 12: YALMS: A Data Structure for Storage and Replay of Multimedia Content in Digital Classes

.

HTML5 FunctionalityBrowserAbilities

Flash

HTML5

Traditional

Binary

WebSockets

WebWorkers

passByRefBlob ByteArray

postData( data, [ data])structuredCopyNew Chrome feature

Adaptive Streaming?

JSON, BSON

?

M.Zhanikeev, H.Koide -- [email protected] -- YALMS: A Data Structure for Storage and Replay of Multimedia Content -- http://tinyurl.com/marat140116 -- 12/21...

12/21

Page 13: YALMS: A Data Structure for Storage and Replay of Multimedia Content in Digital Classes

.

HTML5: the SaveAs Function

• NOTE: JS now natively can save binary chunks to local filesystem

M.Zhanikeev, H.Koide -- [email protected] -- YALMS: A Data Structure for Storage and Replay of Multimedia Content -- http://tinyurl.com/marat140116 -- 13/21...

13/21

Page 14: YALMS: A Data Structure for Storage and Replay of Multimedia Content in Digital Classes

.

YALMS.format : Design

M.Zhanikeev, H.Koide -- [email protected] -- YALMS: A Data Structure for Storage and Replay of Multimedia Content -- http://tinyurl.com/marat140116 -- 14/21...

14/21

Page 15: YALMS: A Data Structure for Storage and Replay of Multimedia Content in Digital Classes

.

YALMS.format : Design

VA

S

Step 1: Record

CLecturer

YALMS.format

YALMSRobot

Watchfilesystem

Watchscenechange

Step 2: Add PDF

Lecturer

S

AV

SE

CEPE

Annotation

SEX

• even-driven packing

• events are specific to eachcontent type

• events are used to cut.YALMS files intoblocks

M.Zhanikeev, H.Koide -- [email protected] -- YALMS: A Data Structure for Storage and Replay of Multimedia Content -- http://tinyurl.com/marat140116 -- 15/21...

15/21

Page 16: YALMS: A Data Structure for Storage and Replay of Multimedia Content in Digital Classes

.

YALMS.format : Events

1. SE : screen capture events◦ screen capture is video, so -- scene changes

2. CE : binary file diffs◦ there are LibXDiff 15 and Xdelta 16, the latter is preferred

3. PE : page events -- replaces SE◦ blocks based on page changes

15 "LibXDiff" http://www.xmailserver.org/xdiff.html (2013)

16 "Xdelta Project Page" http://xdelta.org/ (2013)

M.Zhanikeev, H.Koide -- [email protected] -- YALMS: A Data Structure for Storage and Replay of Multimedia Content -- http://tinyurl.com/marat140116 -- 16/21...

16/21

Page 17: YALMS: A Data Structure for Storage and Replay of Multimedia Content in Digital Classes

.

.YALMS File Design

The First Lecture.yalms

The entire fileTime

Head Tail

0

Block border types1 Fixed minimal size2 Scene change (I-Frame)3 Page change4 New File(s)5 New File Diff(s)

Block Header Designseqno flags Offset

Block length in bytesBlock 1: type(3) + offset(29)... (the same for all blocks)Block 1 (binary data) ...Block

border

Byte

s Bits

offset

8 16 24

48

12

M.Zhanikeev, H.Koide -- [email protected] -- YALMS: A Data Structure for Storage and Replay of Multimedia Content -- http://tinyurl.com/marat140116 -- 17/21...

17/21

Page 18: YALMS: A Data Structure for Storage and Replay of Multimedia Content in Digital Classes

.

YALMS.format Robot and Screen

PNG

VIDEO

SA V

MISC.C

CE

Screen

Browser

YALMSRobot

Get binary VA

SE PEor

Auto “download file” “download” on click

HTML5File API

M.Zhanikeev, H.Koide -- [email protected] -- YALMS: A Data Structure for Storage and Replay of Multimedia Content -- http://tinyurl.com/marat140116 -- 18/21...

18/21

Page 19: YALMS: A Data Structure for Storage and Replay of Multimedia Content in Digital Classes

.

Wrapup

M.Zhanikeev, H.Koide -- [email protected] -- YALMS: A Data Structure for Storage and Replay of Multimedia Content -- http://tinyurl.com/marat140116 -- 19/21...

19/21

Page 20: YALMS: A Data Structure for Storage and Replay of Multimedia Content in Digital Classes

.

Wrapup

• working version at 02

• release plan: end of March◦ the entire package will be offered as open source

02 myself "Homepage of the YALMS.format Subproject" https://github.com/maratishe/yalms.format (2013)

M.Zhanikeev, H.Koide -- [email protected] -- YALMS: A Data Structure for Storage and Replay of Multimedia Content -- http://tinyurl.com/marat140116 -- 20/21...

20/21

Page 21: YALMS: A Data Structure for Storage and Replay of Multimedia Content in Digital Classes

.

That’s all, thank you ...

M.Zhanikeev, H.Koide -- [email protected] -- YALMS: A Data Structure for Storage and Replay of Multimedia Content -- http://tinyurl.com/marat140116 -- 21/21...

21/21

Page 22: YALMS: A Data Structure for Storage and Replay of Multimedia Content in Digital Classes

.

[01] MEXT (2013)The enPiT Projecthttp://www.enpit.jp

[02] myself (2013)Homepage of the YALMS.format Subprojecthttps://github.com/maratishe/yalms.format

[03] W3C (2013)Synchronized Multimedia Integration Language (SMIL 3.0)http://www.w3.org/TR/SMIL/

[04] W3C (2013)HTML5: W3C Working Drafthttp://www.w3.org/TR/html5/

[05] W3C (2013)File API: W3C Working Draftwww.w3.org/TR/FileAPI

M.Zhanikeev, H.Koide -- [email protected] -- YALMS: A Data Structure for Storage and Replay of Multimedia Content -- http://tinyurl.com/marat140116 -- 21/21...

21/21

Page 23: YALMS: A Data Structure for Storage and Replay of Multimedia Content in Digital Classes

.

[06] M.Zhanikeev+1 (2013)YALMS: Yet Another Lecture Management SystemIEICE ET研究会

[07] M.Zhanikeev+1 (2013)...Automatic Slicing of Screen Capture Video using Slide PDFsIEICE ET研究会

[08] M.Zhanikeev+1 (2013)YALMS: A Group Drive API for Cloud-Based ClassroomsIEICE IN研究会

[09] M.Zhanikeev+1 (2013)...Solid State Drives in Rich Multimedia Content Processing, Storage and StreamingITE-MMS研究会

[10] M.Zhanikeev+0 (2013)...Content Aggregation in Browsers using Recent Advances in HTML5COMPSAC

M.Zhanikeev, H.Koide -- [email protected] -- YALMS: A Data Structure for Storage and Replay of Multimedia Content -- http://tinyurl.com/marat140116 -- 21/21...

21/21

Page 24: YALMS: A Data Structure for Storage and Replay of Multimedia Content in Digital Classes

.

[11] M.Zhanikeev+0 (2013)Experiments with application throughput in a browser with full HTML5 supportIEICE ComEx

[12] H.Pucha+3 (2008)Adaptive File Transfers for Diverse EnvironmentsUSENIX

[13] D.Frey+2 (2012)Probabilistic Deduplication for Cluster-Based Storage Systems3rd ACM SoCC

[14] D.Meyer+1 (2012)A Study of Practical DeduplicationACM Transactions on Storage (TOS)

[15] (2013)LibXDiffhttp://www.xmailserver.org/xdiff.html

M.Zhanikeev, H.Koide -- [email protected] -- YALMS: A Data Structure for Storage and Replay of Multimedia Content -- http://tinyurl.com/marat140116 -- 21/21...

21/21

Page 25: YALMS: A Data Structure for Storage and Replay of Multimedia Content in Digital Classes

.

[16] (2013)Xdelta Project Pagehttp://xdelta.org/

[17] IETF (2002)The VCDIFF Generic Differencing and Compression Data FormatRFC3284

M.Zhanikeev, H.Koide -- [email protected] -- YALMS: A Data Structure for Storage and Replay of Multimedia Content -- http://tinyurl.com/marat140116 -- 21/21...

21/21