opencms days 2014 - opencms 9 - a video tube?

42

Upload: alkacon-software-gmbh

Post on 13-Jul-2015

266 views

Category:

Software


0 download

TRANSCRIPT

OpenCms: A video tube?

Fabian Huschkacomponio GmbH

[email protected]://www.componio.net

Video what?

01

Video what?

Video what?

Video what?

Video what?

Stockholms tunnelbana?

What happened to “video tube”?

Video what?

Video what?

Hej, I am a video clip

Video what?

I am loving to ride it.But mind the gap!

Hej, I am a video clip

Video what?

I am loving it.But mind the gap!

Me too! Love the funnyconversations every morning!

Hej, I am a video clip

Video what?

Video what?

Video what?

Video what?

Name: OpenCmsOperated: Alkacon GmbH

Name: SkinnDrivaOperated: componio GmbH

Video what?

Name: OpenCmsOperated: Alkacon GmbH

Name: SkinnDrivaOperated: componio GmbH

Video what?

Intersection

Name: OpenCmsOperated: Alkacon GmbH

Name: SkinnDrivaOperated: componio GmbH

Translate

Does this lead anywhere?

• Line = Video channel• Train = Video • Train Passengers = Subscribers• Conversations = Video likes, comments, ...• Intersections = Cross post/Content sharing

Sure, it even computes

Video what?

• Store video data in the VFS of OpenCms• Use HTML5 video tag to render videos• OpenCms CRE to handle subscriptions• Use rating, comment and social equity container

element (CEL) to enrich UX

OpenCms: Top down approach

Video what?

OpenCms and videos

02

A typical video

OpenCms and videos

• Monkaa is a blue furred, pink faced monkey who consumes a crystallized meteorite, making Monkaa invincibly strong and too hot to handle. Exploring his superpower Monkaa zooms into an unexplored universe.

• Size: ~152 MB• Download:

https://cloud.blender.org/open-movie/monkaa/

A typical video

OpenCms and videos

Heap anyone?

OpenCms and videos

Initial Installation Upload Publish Restart Publish Copy Publish Overwrite Publish0

200

400

600

800

1000

1200

Max Heap

Actions

MB

Heap anyone?

OpenCms and videos

Initial Installation Upload Publish Restart Publish Copy Publish Overwrite Publish

-200

0

200

400

600

800

1000

1200

Upload Delta DB RAM Max Heap

Actions

MB

Heap anyone?

OpenCms and videos

Initial Installation Upload Publish Restart Publish Copy Publish Overwrite Publish

-200

0

200

400

600

800

1000

1200

Upload Delta DB RAM Max Heap

Actions

MB

Heap anyone?

OpenCms and videos

Initial Installation Upload Publish Restart Publish Copy Publish Overwrite Publish

-200

0

200

400

600

800

1000

1200

Upload Delta DB RAM Max Heap

Actions

MB

java.lang.OutOfMemoryError: Java heap space

Solution

OpenCms and videos

• Store videos externally

– e.g. RFS, we have chosen ownCloud• Introduce a proxy element in OpenCms

– simple structured content CEL• Integrate external storage with special driver

– e.g. metamesh's RFS driver

HTML5 and video codecs

03

Better:HTML5 video codec quirks

03

From the w3c wiki

HTML5 and video codecs

• The HTML5 specification does not require a video codec to be supported by all user agents. Thus, one need to provide alternate sources to ensure proper user experience in the existing user agents. Using Ogg/Theora/Vorbis and MP4/H.264/AAC seems to cover most of the cases out there (if not all). However, Ogg/Theora/Vorbis is being replaced in favor of WebM nowadays.

Solution

HTML5 and video codecs

• Use a versatile and standard conform video player

– JWPlayer in our case– Ensures proper HTML code generation– Hides complexity while offering editor freedom (e.g.

aspect ratio, volume, controls)• Encode videos with FLV, H.264 and VP8• Make a wish that the video war is soon over –

the browser war has been bloody enough

Channels / Subscriptions

04

CRE FTW!

Channels / Subscriptions

• OpenCms subscription API (from 8.5.x)• Associate individual CMS resources with OpenCms

users• Two major use cases:

– Personalization● Users can subscribe their favourite content● Subscription status can be shown wherever appropriate

– Notifications● Notify users of fresh/updated content

Channels

Channels / Subscriptions

• OpenCms categories allow for arbitrary taxonomies

• A set of categories defines a channel• Subscription engine allows to subscribe and

unsubscribe resources• CRE allows to find resources for specific

categories

Solution

Channels / Subscriptions

• Dedicated CEL to list available channels• Video (proxy element) gets associated with a channel

via categories

– Can be easily a member of many channels– Harmonizes with Subscription API (resources need to

be served by the VFS vs. RFS)• Channel subscriptions are stored as “Additional User

Information”

Solution

Channels / Subscriptions

• Enhanced subscription engine to speed up channel look-up

– OBS: The subscription API does not offer an efficient way to accomplish this

– OBS: Need to extra check if resources are deleted or expired

– makes heavy use of SOLR– Custom SQL queries an POJOs to speed up lookup

of user channel subscriptions

Putting it all together

05

Channel overview

Putting it all together

Channel Content

Putting it all together

In a nutshell

OpenCms + extra Spice =

a video tube with potential

• Photo copyright – Empty Subway Tunnel, © alex_black – Fotolia.com

– Train leaving Radhuset metro station in Stockholm,© Leonid Andronov - Fotolia.com

• Theme engine – SkinnDriva, http://www.skinndriva.com

• Video player– JWPlayer, http://www.jwplayer.com/

Appendix

References