SlideShare a Scribd company logo
1 of 41
Download to read offline
HelixCloud
  Webinar
   December 2012
Who am I
        David Riccitelli
          @ziodave

          http://www.linkedin.com/in/riccitelli

          http://blog.insideout.io/


Co-Founder of InsideOut10, holding of
Interact Egypt, with an active presence in
the European, North African and Middle
East markets.
Active since the 1995 in streaming media
and Real partner.
                                                  (more on LinkedIn)
Overview
Mission
"To provide affordable, scalable and highly
 reliable streaming services to customers
   while minimizing impacts on the core
   network infrastructure and lowering
             operational costs"
Features
● Account and User Management
● Quota Limit
● Integrated FTP Server
● Slick Web UI
● Multi-format Streaming URL
● Multiple Roles (Administrator, User,
  Reporter)
● URL Protection (network, geo, token)
● Real-Time Reporting
● APIs for 3rd Party Integration
Architecture

                               Channel
                              Channel
                              Channel
                               Manager              SLTA
                                                    SLTA
Web UI                        Manager              SLTA           Session
                              Manager
                                                                  Manager
                Web APIs
                                                                       Helix
 FTP                                                                  Server
Server                                   Storage




    INGESTION              MANAGEMENT                      DELIVERY
Web APIs
The Web APIs are the core of Helix Cloud
Authentication
Authorization
Logging                            REST
Reporting                          APIs
Account & User Management
File Management
Channel Management            ...and more
FTP Server
The FTP Server is tightly integrated with
the Web APIs and UI.

The same username can be used for file
upload and for management via the UI.

Uploads are inhibited when the storage
quota is reached.
Web UI
The Web UI is highly responsive and
customizable.

It is built on top of the Web APIs.

It provides different access levels.

It features Google Visualization APIs for
the generation of graphs.
Channel Manager
Provides management of channels based
on on-demand contents.

Supports multiple sources and servers.

Is tightly integrated with Helix SLTA
agent.

Provides useful feedback of currently
playing clip via Web APIs and UI.
Software Requirements
RedHat, CentOS or Ubuntu linux

A database server

Java 6+

Apache Tomcat Server 6+

Helix Server 14.2+
Hardware Requirements
Depends on the planned capacity.


               A good start:
               ● 8 cores
               ● 16 gbytes of memory
               ● 200 gbytes of disk
                 space
Platform
Folder Structure: bin
 + /opt/helixcloud/
    + bin/
    | - helixcloud-channelmgr
    |
    :
    .



The Channel Manager package is installed in the /opt/helixcloud folder which contains different
subfolders: bin, lib, etc, log, var.

The bin subfolder contains runnable files, including start-up scripts that can be added to the /etc/init.d
of your system.

The Channel Manager includes the helixcloud-channelmgr which is a start-up script that can be
installed in the /etc/init.d and allows you later to start, stop and check the status of the service by
issuing the following commands:

 /etc/init.d/helixcloud-channelmgr {start|stop|status}
Folder Structure: lib
 + /opt/helixcloud/
    :
    + lib/
    | - helixcloud-channelmgr-1.0-SNAPSHOT.jar
    :
    .



The log subfolder contains the program files, i.e. the files that contain the actual executable code for
the Channel Manager.

The Channel Manager includes the helixcloud-channelmgr-1.0-SNAPSHOT.jar file which is the
actually self-contained program and is launched, along with its parameters, using the helixcloud-
channelmgr script described in the previous slide.
Folder Structure: opt
 + /opt/helixcloud/
    :
    + etc/
    | - chmgr.properties
    | - logback.xml
    :
    .




The etc subfolder contains the configuration files:
 ● chmgr.properties holds the general configuration parameters for the Channel Manager service.
 ● logback.xml has the logging settings.
Folder Structure: log
 + /opt/helixcloud/
    :
    + log/
    | - helixcloud.log
    | - helixcloud-{timestamp}.log
    | + channels/
    |      + {account}/{user}/{channel}/
    |         - slta-{timestamp}.log
    :
    .



The log subfolder contains the logs for the service.

Application logs are written to the helixcloud.log file (and rotated daily to helixcloud-{timestamp}.
log). Application logs are also stored into the database if the logging is configured so.

The standard output for each SLTA instance is written to {account}/{user}/{channel}/slta-
{timestamp}.log
Folder Structure: var
 + /opt/helixcloud/
   :
   + var/
      + channels/
      | + {account}/{user}/
      |      - {channel}.mp4.json
      + templates/
          - channels.xml



The var subfolder contains two subfolders:
 ● channels with the data for all the configured channels in json format.
 ● templates with the configuration files for the SLTA, in our case the configuration file is called
     channels.xml.
Startup Script
APP_HOME=/opt/helixcloud
CHMGR_LIB="$APP_HOME/lib/helixcloud-channelmgr-1.0-SNAPSHOT.jar"
CHMGR_CFG="$APP_HOME/etc/chmgr.properties"
LOGBACK_CFG="$APP_HOME/etc/logback.xml"
CHMGR_CMD="java -DAPP_HOME=$APP_HOME
 -Dlogback.configurationFile=file://$LOGBACK_CFG
 -Dslta.configuration=file://$CHMGR_CFG -jar $CHMGR_LIB"



The startup script defines important variables that point to the location of the library and configuration
files.

The variables are used to build up the Channel Manager command line:

java -DAPP_HOME=/opt/helixcloud 
 -Dlogback.configurationFile=file:///opt/helixcloud/etc/logback.xml 
 -Dslta.configuration=file:///opt/helixcloud/etc/chmgr.properties 
 -jar /opt/helixcloud/lib/helixcloud-channelmgr-1.0-SNAPSHOT.jar
Startup Script: installation
On RedHat and CentOS the startup script is
installed as follows:
cd /etc/init.d
ln -s /opt/helixcloud/bin/helixcloud-channelmgr
chmod 755 helixcloud-channelmgr
chkconfig --add helixcloud-channelmgr




The the service is started as follows:
/etc/init.d/helixcloud-channelmgr start
Application Configuration
slta.runner.commandLine=/opt/helix/_realserver-14.3.0.268/Bin/slta.sh
slta.runner.arguments=-c {template} {path}{suffix} {playlist} -fp
slta.runner.destinationSuffix=.1
slta.runner.template=/opt/helixcloud/var/templates/channel.xml
slta.runner.basePath=/opt/helixcloud/var/media/
slta.storage.path=/opt/helixcloud/var/channels/
slta.storage.suffix=.json
slta.log.path=/opt/helixcloud/log/channels/


 ●   ...commandLine: the full command line to the slta.sh script (it must be the slta.sh script)
 ●   ...arguments: the arguments to be appended to the command line. Arguments include
     placeholders for dynamic information such as the template, path, suffix and playlist parameters
 ●   ...destinationSuffix: the destination suffix to append to the destination name (useful for
     redundant configurations) - will replace the {suffix} placeholder
 ●   ...template: the SLTA configuration - will replace the {template} placeholder
 ●   ...basePath: the path to the clips
 ●   ...path: the path to the channels JSON data storage
 ●   ...suffix: the suffix for the channels data file
 ●   ...log.path: the path to the SLTA instances logs.
Logging Configuration
<configuration>
  <appender name="..." class="...">
   ...
  </appender>
  <logger name="..." level="..." />
  <root level="...">
   ...
  </root>
</configuration>


The logging configuration is divided into 3 major groups:
 ● appender defines where to "write" the log data
 ● logger sets a verbosity filter according to the source of the log data
 ● root activates the appenders

Logging is provided via the logback framework which provides an extensive documentation at this
web address: http://logback.qos.ch/manual/index.html
Logging: Appenders
Typically the following appenders are
configured:
● stdout: writes the log lines on the standard
  output (useful if run on a terminal window)
● file: writes the log lines to (rolling) files
● database/db: writes the log lines as SQL
  inserts in a logging database/table
Logging: Loggers
Loggers are configured to report only warnings
and errors from most of the programs.

Loggers will report also debug information from
the program core, unless we decide to
configure it differently.
Transmitter Configuration
  <List Name="slta1">
          <Var PathPrefix="*"/>
          <Var PortRange="30001-30100"/>
          <Var AcquisitionDataInterval="30"/>
          <Var FECLevel="5"/>
          <Var SureStreamAware="0"/>
          <Var BufferlessTransport="1"/>
          <Var LocalAddress="192.168.71.100" />
          <Var Address="192.168.71.101"/>
          <Var TTL="16"/>
          <Var ResendSupported="1"/>
          <Var Protocol="udp/unicast"/>
          <List Name="Security">
                  <Var Type="None"/>
          </List>
  </List>
Receiver Configuration
Monitoring Configuration




The Channel Manager service listens for API
requests on port 8081/tcp, therefore this port
can be configured in Nagios to continuously
monitor the availability of the Channel
Manager service.
APIs
API Overview




● Middleware APIs: access point for
  integrators.
● Channel Manager APIs: internal
  communications.
APIs: roles
Administrators: can operate the full
platform and perform operations on
all the account and users.
In our examples, Yoda has "admin" as username and password.




Users: can only access their own
data.
In our examples, the Ewoks have "user" as username and password.
API: List of all channels

curl -X GET http://admin:admin@localhost/api/1/channels
API: list user channels

curl -X GET http://admin:admin@localhost/api/1/channels/ user




curl -X GET http://user:user@localhost/api/1/ me/channels
API: create a channel
curl -X POST 
http://admin:admin@localhost/api/1/channels 
-d @channel1.json 
-H "Content-Type: application/json" 
-H "Accept: application/json"



{
    "userName":"user",
    "path":"channel1.mp4",
    "title":"Channel 1"
}
API: get details about a channel
  curl -X GET 
   http://admin:admin@localhost/api/1/channels/ user↵
   ?path=channel1.mp4




  curl -X GET 
   http://user:user@localhost/api/1/ me/channels↵
   ?path=channel1.mp4
API: add a clip to a channel
curl -X POST 
 http://admin:admin@localhost/api/1/channels/ user/↵
 clips?path=channel1.mp4&clip=clip1.mp4 ↵
 &clip=clip2.mp4




curl -X POST 
 http://user:user@localhost/api/1/ me/channels/ ↵
 clips?path=channel1.mp4&clip=clip1.mp4 ↵
 &clip=clip2.mp4
API: delete a channel
curl -X DELETE 
http://admin:admin@localhost/api/1/channels/user ↵
?path=channel1.mp4
API: update a channel
curl -X PUT 
 http://admin:admin@localhost/api/1/channels 
 -d @channel2.json 
 -H "Content-Type: application/json" 
 -H "Accept: application/json"




curl -X PUT 
 http://user:user@localhost/api/1/ me/channels 
 -d @channel2.json 
 -H "Content-Type: application/json" 
 -H "Accept: application/json"
API: start a channel
curl -i -X GET 
 http://admin:admin@localhost/api/1/channels/ user/↵
 start?path=channel1.mp4




curl -i -X GET 
 http://user:user@localhost/api/1/ me/channels/ ↵
 start?path=channel1.mp4
API: stop a channel
curl -i -X GET 
 http://admin:admin@localhost/api/1/channels/ user/↵
 stop?path=channel1.mp4




curl -i -X GET 
 http://user:user@localhost/api/1/ me/channels/ ↵
 stop?path=channel1.mp4
API: restart a channel
curl -i -X GET 
http://admin:admin@localhost/api/1/channels/ user/↵
restart?path=channel1.mp4




curl -i -X GET 
http://user:user@localhost/api/1/ me/channels/ ↵
restart?path=channel1.mp4
Thank You!
   Grazie!
Danke schön!
    !‫ﺷﻜﺮا‬

More Related Content

What's hot

Imap connector
Imap connectorImap connector
Imap connectorkiranvanga
 
Introduction to Apache Tomcat 7 Presentation
Introduction to Apache Tomcat 7 PresentationIntroduction to Apache Tomcat 7 Presentation
Introduction to Apache Tomcat 7 PresentationTomcat Expert
 
Logging from the bottom up
Logging from the bottom upLogging from the bottom up
Logging from the bottom upFrancis Edwards
 
Tomcat Clustering
Tomcat ClusteringTomcat Clustering
Tomcat Clusteringgouthamrv
 
At8000 s configurando trunking
At8000 s configurando trunkingAt8000 s configurando trunking
At8000 s configurando trunkingNetPlus
 
(ATS4-PLAT09) Kerberos & SAML with Accelrys Enterprise Platform 9.0
(ATS4-PLAT09) Kerberos & SAML with Accelrys Enterprise Platform 9.0(ATS4-PLAT09) Kerberos & SAML with Accelrys Enterprise Platform 9.0
(ATS4-PLAT09) Kerberos & SAML with Accelrys Enterprise Platform 9.0BIOVIA
 
Tomcat configuration
Tomcat configurationTomcat configuration
Tomcat configurationDima Gomaa
 
Laravel Restful API and AngularJS
Laravel Restful API and AngularJSLaravel Restful API and AngularJS
Laravel Restful API and AngularJSBlake Newman
 
Apache Manager Table of Contents
Apache Manager Table of ContentsApache Manager Table of Contents
Apache Manager Table of Contentswebhostingguy
 

What's hot (15)

Tomcat server
 Tomcat server Tomcat server
Tomcat server
 
Imap connector
Imap connectorImap connector
Imap connector
 
Introduction to Apache Tomcat 7 Presentation
Introduction to Apache Tomcat 7 PresentationIntroduction to Apache Tomcat 7 Presentation
Introduction to Apache Tomcat 7 Presentation
 
Logging from the bottom up
Logging from the bottom upLogging from the bottom up
Logging from the bottom up
 
Rails onCpanel
Rails onCpanelRails onCpanel
Rails onCpanel
 
Tomcat Clustering
Tomcat ClusteringTomcat Clustering
Tomcat Clustering
 
At8000 s configurando trunking
At8000 s configurando trunkingAt8000 s configurando trunking
At8000 s configurando trunking
 
Tomcat next
Tomcat nextTomcat next
Tomcat next
 
(ATS4-PLAT09) Kerberos & SAML with Accelrys Enterprise Platform 9.0
(ATS4-PLAT09) Kerberos & SAML with Accelrys Enterprise Platform 9.0(ATS4-PLAT09) Kerberos & SAML with Accelrys Enterprise Platform 9.0
(ATS4-PLAT09) Kerberos & SAML with Accelrys Enterprise Platform 9.0
 
Advaced training-wso2-esb
Advaced training-wso2-esbAdvaced training-wso2-esb
Advaced training-wso2-esb
 
Apache tomcat
Apache tomcatApache tomcat
Apache tomcat
 
Why Laravel?
Why Laravel?Why Laravel?
Why Laravel?
 
Tomcat configuration
Tomcat configurationTomcat configuration
Tomcat configuration
 
Laravel Restful API and AngularJS
Laravel Restful API and AngularJSLaravel Restful API and AngularJS
Laravel Restful API and AngularJS
 
Apache Manager Table of Contents
Apache Manager Table of ContentsApache Manager Table of Contents
Apache Manager Table of Contents
 

Viewers also liked

WordLift 2.0 (Pitch at JBoye11 in Aarhus)
WordLift 2.0 (Pitch at JBoye11 in Aarhus)WordLift 2.0 (Pitch at JBoye11 in Aarhus)
WordLift 2.0 (Pitch at JBoye11 in Aarhus)Andrea Volpini
 
Cloud Azure – Services de données et bonnes pratiques
Cloud Azure – Services de données et bonnes pratiquesCloud Azure – Services de données et bonnes pratiques
Cloud Azure – Services de données et bonnes pratiquesMicrosoft
 
WordLift 2.0 (presentation for the IKS annual review in Saarbrücken)
WordLift 2.0 (presentation for the IKS annual review in Saarbrücken)WordLift 2.0 (presentation for the IKS annual review in Saarbrücken)
WordLift 2.0 (presentation for the IKS annual review in Saarbrücken)Andrea Volpini
 
Blackberry Vs Iphone
Blackberry Vs IphoneBlackberry Vs Iphone
Blackberry Vs IphoneCapielo
 
WordLift - SEMANTiCS 2016
WordLift - SEMANTiCS 2016 WordLift - SEMANTiCS 2016
WordLift - SEMANTiCS 2016 Andrea Volpini
 
New Thinking in the Practice of Digital Journalism
New Thinking in the Practice of Digital Journalism New Thinking in the Practice of Digital Journalism
New Thinking in the Practice of Digital Journalism Andrea Volpini
 

Viewers also liked (8)

Expo english
Expo englishExpo english
Expo english
 
Google Currents
Google Currents Google Currents
Google Currents
 
WordLift 2.0 (Pitch at JBoye11 in Aarhus)
WordLift 2.0 (Pitch at JBoye11 in Aarhus)WordLift 2.0 (Pitch at JBoye11 in Aarhus)
WordLift 2.0 (Pitch at JBoye11 in Aarhus)
 
Cloud Azure – Services de données et bonnes pratiques
Cloud Azure – Services de données et bonnes pratiquesCloud Azure – Services de données et bonnes pratiques
Cloud Azure – Services de données et bonnes pratiques
 
WordLift 2.0 (presentation for the IKS annual review in Saarbrücken)
WordLift 2.0 (presentation for the IKS annual review in Saarbrücken)WordLift 2.0 (presentation for the IKS annual review in Saarbrücken)
WordLift 2.0 (presentation for the IKS annual review in Saarbrücken)
 
Blackberry Vs Iphone
Blackberry Vs IphoneBlackberry Vs Iphone
Blackberry Vs Iphone
 
WordLift - SEMANTiCS 2016
WordLift - SEMANTiCS 2016 WordLift - SEMANTiCS 2016
WordLift - SEMANTiCS 2016
 
New Thinking in the Practice of Digital Journalism
New Thinking in the Practice of Digital Journalism New Thinking in the Practice of Digital Journalism
New Thinking in the Practice of Digital Journalism
 

Similar to HelixCloud Webinar

SnapLogic- iPaaS (Elastic Integration Cloud and Data Integration)
SnapLogic- iPaaS (Elastic Integration Cloud and Data Integration) SnapLogic- iPaaS (Elastic Integration Cloud and Data Integration)
SnapLogic- iPaaS (Elastic Integration Cloud and Data Integration) Surendar S
 
Integrating Apache Camel with Apache Syncope
Integrating Apache Camel with Apache SyncopeIntegrating Apache Camel with Apache Syncope
Integrating Apache Camel with Apache SyncopeColm O hEigeartaigh
 
Going FaaSter, Functions as a Service at Netflix
Going FaaSter, Functions as a Service at NetflixGoing FaaSter, Functions as a Service at Netflix
Going FaaSter, Functions as a Service at NetflixYunong Xiao
 
Integrating with SAP FIX and HL7
Integrating with SAP FIX and HL7Integrating with SAP FIX and HL7
Integrating with SAP FIX and HL7WSO2
 
Using Istio to Secure & Monitor Your Services
Using Istio to Secure & Monitor Your ServicesUsing Istio to Secure & Monitor Your Services
Using Istio to Secure & Monitor Your ServicesAlcide
 
Streaming Processing with a Distributed Commit Log
Streaming Processing with a Distributed Commit LogStreaming Processing with a Distributed Commit Log
Streaming Processing with a Distributed Commit LogJoe Stein
 
Hpe service virtualization 3.8 what's new chicago adm
Hpe service virtualization 3.8 what's new chicago admHpe service virtualization 3.8 what's new chicago adm
Hpe service virtualization 3.8 what's new chicago admJeffrey Nunn
 
Wso2 esb-maintenance-guide
Wso2 esb-maintenance-guideWso2 esb-maintenance-guide
Wso2 esb-maintenance-guideChanaka Fernando
 
Kamailio - Large Unified Communication Platforms
Kamailio - Large Unified Communication PlatformsKamailio - Large Unified Communication Platforms
Kamailio - Large Unified Communication PlatformsDaniel-Constantin Mierla
 
Protocol
ProtocolProtocol
Protocolm_bahba
 
Kamailio - Unifying SIP and Web Worlds with Lua
Kamailio - Unifying SIP and Web Worlds with LuaKamailio - Unifying SIP and Web Worlds with Lua
Kamailio - Unifying SIP and Web Worlds with LuaDaniel-Constantin Mierla
 
How to save log4net into database
How to save log4net into databaseHow to save log4net into database
How to save log4net into databasecodeandyou forums
 

Similar to HelixCloud Webinar (20)

SIP Router Project
SIP Router ProjectSIP Router Project
SIP Router Project
 
Sun Web Server Brief
Sun Web Server BriefSun Web Server Brief
Sun Web Server Brief
 
SnapLogic- iPaaS (Elastic Integration Cloud and Data Integration)
SnapLogic- iPaaS (Elastic Integration Cloud and Data Integration) SnapLogic- iPaaS (Elastic Integration Cloud and Data Integration)
SnapLogic- iPaaS (Elastic Integration Cloud and Data Integration)
 
Integrating Apache Camel with Apache Syncope
Integrating Apache Camel with Apache SyncopeIntegrating Apache Camel with Apache Syncope
Integrating Apache Camel with Apache Syncope
 
Going FaaSter, Functions as a Service at Netflix
Going FaaSter, Functions as a Service at NetflixGoing FaaSter, Functions as a Service at Netflix
Going FaaSter, Functions as a Service at Netflix
 
Alfresco Architecture
Alfresco ArchitectureAlfresco Architecture
Alfresco Architecture
 
Rit 2011 ats
Rit 2011 atsRit 2011 ats
Rit 2011 ats
 
SCOM Tips and Tricks
SCOM Tips and TricksSCOM Tips and Tricks
SCOM Tips and Tricks
 
Integrating with SAP FIX and HL7
Integrating with SAP FIX and HL7Integrating with SAP FIX and HL7
Integrating with SAP FIX and HL7
 
Using Istio to Secure & Monitor Your Services
Using Istio to Secure & Monitor Your ServicesUsing Istio to Secure & Monitor Your Services
Using Istio to Secure & Monitor Your Services
 
Streaming Processing with a Distributed Commit Log
Streaming Processing with a Distributed Commit LogStreaming Processing with a Distributed Commit Log
Streaming Processing with a Distributed Commit Log
 
Hpe service virtualization 3.8 what's new chicago adm
Hpe service virtualization 3.8 what's new chicago admHpe service virtualization 3.8 what's new chicago adm
Hpe service virtualization 3.8 what's new chicago adm
 
Sun Web Server Brief
Sun Web Server BriefSun Web Server Brief
Sun Web Server Brief
 
Wso2 esb-maintenance-guide
Wso2 esb-maintenance-guideWso2 esb-maintenance-guide
Wso2 esb-maintenance-guide
 
Kamailio - Large Unified Communication Platforms
Kamailio - Large Unified Communication PlatformsKamailio - Large Unified Communication Platforms
Kamailio - Large Unified Communication Platforms
 
A10 Itil Oasys Webex 090309
A10 Itil Oasys  Webex 090309A10 Itil Oasys  Webex 090309
A10 Itil Oasys Webex 090309
 
Protocol
ProtocolProtocol
Protocol
 
11i Logs
11i Logs11i Logs
11i Logs
 
Kamailio - Unifying SIP and Web Worlds with Lua
Kamailio - Unifying SIP and Web Worlds with LuaKamailio - Unifying SIP and Web Worlds with Lua
Kamailio - Unifying SIP and Web Worlds with Lua
 
How to save log4net into database
How to save log4net into databaseHow to save log4net into database
How to save log4net into database
 

More from Andrea Volpini

Seo automation using gpt 3 and transformer-based language models
Seo automation using gpt 3 and transformer-based language modelsSeo automation using gpt 3 and transformer-based language models
Seo automation using gpt 3 and transformer-based language modelsAndrea Volpini
 
Schema Markup Essentials by Semrush
Schema Markup Essentials by SemrushSchema Markup Essentials by Semrush
Schema Markup Essentials by SemrushAndrea Volpini
 
How AI/ML Can Supercharge Your SEO (a TNW round table)
How AI/ML Can Supercharge Your SEO (a TNW round table)How AI/ML Can Supercharge Your SEO (a TNW round table)
How AI/ML Can Supercharge Your SEO (a TNW round table)Andrea Volpini
 
Making Websites Talk: the rise of Voice Search and Conversational Interfaces
Making Websites Talk: the rise of Voice Search and Conversational InterfacesMaking Websites Talk: the rise of Voice Search and Conversational Interfaces
Making Websites Talk: the rise of Voice Search and Conversational InterfacesAndrea Volpini
 
Wordlift Roadmap for 2018
Wordlift Roadmap for 2018Wordlift Roadmap for 2018
Wordlift Roadmap for 2018Andrea Volpini
 
AI-powered SEO - Structured Data & Semantics - WordLift for SMXL Milan 2017
AI-powered SEO - Structured Data & Semantics - WordLift for SMXL Milan 2017AI-powered SEO - Structured Data & Semantics - WordLift for SMXL Milan 2017
AI-powered SEO - Structured Data & Semantics - WordLift for SMXL Milan 2017Andrea Volpini
 
Is semantic markup really helping websites improve their online visibility?
Is semantic markup really helping websites improve their online visibility?Is semantic markup really helping websites improve their online visibility?
Is semantic markup really helping websites improve their online visibility?Andrea Volpini
 
Web Storytelling and Open Data Publishing for Tourism
Web Storytelling and Open Data Publishing for TourismWeb Storytelling and Open Data Publishing for Tourism
Web Storytelling and Open Data Publishing for TourismAndrea Volpini
 
What do we want computers to do for us?
What do we want computers to do for us? What do we want computers to do for us?
What do we want computers to do for us? Andrea Volpini
 
Semantic SEO in the post Hummingbird Era and WordLift
Semantic SEO in the post Hummingbird Era and WordLiftSemantic SEO in the post Hummingbird Era and WordLift
Semantic SEO in the post Hummingbird Era and WordLiftAndrea Volpini
 
Semantic SEO nell’Era Post Hummingbird e WordLift 3.0
Semantic SEO nell’Era Post Hummingbird e WordLift 3.0 Semantic SEO nell’Era Post Hummingbird e WordLift 3.0
Semantic SEO nell’Era Post Hummingbird e WordLift 3.0 Andrea Volpini
 
Linked Open GeoData for Enel Drive (W3C LOD2014)
Linked Open GeoData for Enel Drive (W3C LOD2014)Linked Open GeoData for Enel Drive (W3C LOD2014)
Linked Open GeoData for Enel Drive (W3C LOD2014)Andrea Volpini
 
WordLift 3.0 - Dynamic Semantic Publishing for WordPress
WordLift 3.0 - Dynamic Semantic Publishing for WordPress WordLift 3.0 - Dynamic Semantic Publishing for WordPress
WordLift 3.0 - Dynamic Semantic Publishing for WordPress Andrea Volpini
 
Redlink - Semantic Technologies for News & Media
Redlink - Semantic Technologies for News & Media Redlink - Semantic Technologies for News & Media
Redlink - Semantic Technologies for News & Media Andrea Volpini
 
Hybrid TV & OTT TV for Telco 3.0
Hybrid TV & OTT TV for Telco 3.0Hybrid TV & OTT TV for Telco 3.0
Hybrid TV & OTT TV for Telco 3.0Andrea Volpini
 
Wordlift 2.5 Sneak-Peek
Wordlift 2.5 Sneak-PeekWordlift 2.5 Sneak-Peek
Wordlift 2.5 Sneak-PeekAndrea Volpini
 
RedLink GmbH (Introduction)
RedLink GmbH (Introduction)  RedLink GmbH (Introduction)
RedLink GmbH (Introduction) Andrea Volpini
 
WordLift 2.0 presented on the Semantic Web Meetup in Rome
WordLift 2.0 presented on the Semantic Web Meetup in RomeWordLift 2.0 presented on the Semantic Web Meetup in Rome
WordLift 2.0 presented on the Semantic Web Meetup in RomeAndrea Volpini
 
Open Street Map vs Google Maps
Open Street Map vs Google MapsOpen Street Map vs Google Maps
Open Street Map vs Google MapsAndrea Volpini
 

More from Andrea Volpini (20)

Seo automation using gpt 3 and transformer-based language models
Seo automation using gpt 3 and transformer-based language modelsSeo automation using gpt 3 and transformer-based language models
Seo automation using gpt 3 and transformer-based language models
 
Schema Markup Essentials by Semrush
Schema Markup Essentials by SemrushSchema Markup Essentials by Semrush
Schema Markup Essentials by Semrush
 
How AI/ML Can Supercharge Your SEO (a TNW round table)
How AI/ML Can Supercharge Your SEO (a TNW round table)How AI/ML Can Supercharge Your SEO (a TNW round table)
How AI/ML Can Supercharge Your SEO (a TNW round table)
 
Making Websites Talk: the rise of Voice Search and Conversational Interfaces
Making Websites Talk: the rise of Voice Search and Conversational InterfacesMaking Websites Talk: the rise of Voice Search and Conversational Interfaces
Making Websites Talk: the rise of Voice Search and Conversational Interfaces
 
Wordlift Roadmap for 2018
Wordlift Roadmap for 2018Wordlift Roadmap for 2018
Wordlift Roadmap for 2018
 
AI-powered SEO - Structured Data & Semantics - WordLift for SMXL Milan 2017
AI-powered SEO - Structured Data & Semantics - WordLift for SMXL Milan 2017AI-powered SEO - Structured Data & Semantics - WordLift for SMXL Milan 2017
AI-powered SEO - Structured Data & Semantics - WordLift for SMXL Milan 2017
 
Is semantic markup really helping websites improve their online visibility?
Is semantic markup really helping websites improve their online visibility?Is semantic markup really helping websites improve their online visibility?
Is semantic markup really helping websites improve their online visibility?
 
Web Storytelling and Open Data Publishing for Tourism
Web Storytelling and Open Data Publishing for TourismWeb Storytelling and Open Data Publishing for Tourism
Web Storytelling and Open Data Publishing for Tourism
 
What do we want computers to do for us?
What do we want computers to do for us? What do we want computers to do for us?
What do we want computers to do for us?
 
Semantic SEO in the post Hummingbird Era and WordLift
Semantic SEO in the post Hummingbird Era and WordLiftSemantic SEO in the post Hummingbird Era and WordLift
Semantic SEO in the post Hummingbird Era and WordLift
 
Semantic SEO nell’Era Post Hummingbird e WordLift 3.0
Semantic SEO nell’Era Post Hummingbird e WordLift 3.0 Semantic SEO nell’Era Post Hummingbird e WordLift 3.0
Semantic SEO nell’Era Post Hummingbird e WordLift 3.0
 
Linked Open GeoData for Enel Drive (W3C LOD2014)
Linked Open GeoData for Enel Drive (W3C LOD2014)Linked Open GeoData for Enel Drive (W3C LOD2014)
Linked Open GeoData for Enel Drive (W3C LOD2014)
 
WordLift 3.0 - Dynamic Semantic Publishing for WordPress
WordLift 3.0 - Dynamic Semantic Publishing for WordPress WordLift 3.0 - Dynamic Semantic Publishing for WordPress
WordLift 3.0 - Dynamic Semantic Publishing for WordPress
 
Redlink - Semantic Technologies for News & Media
Redlink - Semantic Technologies for News & Media Redlink - Semantic Technologies for News & Media
Redlink - Semantic Technologies for News & Media
 
Hybrid TV & OTT TV for Telco 3.0
Hybrid TV & OTT TV for Telco 3.0Hybrid TV & OTT TV for Telco 3.0
Hybrid TV & OTT TV for Telco 3.0
 
Wordlift 2.5 Sneak-Peek
Wordlift 2.5 Sneak-PeekWordlift 2.5 Sneak-Peek
Wordlift 2.5 Sneak-Peek
 
RedLink GmbH (Introduction)
RedLink GmbH (Introduction)  RedLink GmbH (Introduction)
RedLink GmbH (Introduction)
 
Semantic Marketing
Semantic MarketingSemantic Marketing
Semantic Marketing
 
WordLift 2.0 presented on the Semantic Web Meetup in Rome
WordLift 2.0 presented on the Semantic Web Meetup in RomeWordLift 2.0 presented on the Semantic Web Meetup in Rome
WordLift 2.0 presented on the Semantic Web Meetup in Rome
 
Open Street Map vs Google Maps
Open Street Map vs Google MapsOpen Street Map vs Google Maps
Open Street Map vs Google Maps
 

Recently uploaded

What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????blackmambaettijean
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 

Recently uploaded (20)

What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 

HelixCloud Webinar

  • 1. HelixCloud Webinar December 2012
  • 2. Who am I David Riccitelli @ziodave http://www.linkedin.com/in/riccitelli http://blog.insideout.io/ Co-Founder of InsideOut10, holding of Interact Egypt, with an active presence in the European, North African and Middle East markets. Active since the 1995 in streaming media and Real partner. (more on LinkedIn)
  • 4. Mission "To provide affordable, scalable and highly reliable streaming services to customers while minimizing impacts on the core network infrastructure and lowering operational costs"
  • 5. Features ● Account and User Management ● Quota Limit ● Integrated FTP Server ● Slick Web UI ● Multi-format Streaming URL ● Multiple Roles (Administrator, User, Reporter) ● URL Protection (network, geo, token) ● Real-Time Reporting ● APIs for 3rd Party Integration
  • 6. Architecture Channel Channel Channel Manager SLTA SLTA Web UI Manager SLTA Session Manager Manager Web APIs Helix FTP Server Server Storage INGESTION MANAGEMENT DELIVERY
  • 7. Web APIs The Web APIs are the core of Helix Cloud Authentication Authorization Logging REST Reporting APIs Account & User Management File Management Channel Management ...and more
  • 8. FTP Server The FTP Server is tightly integrated with the Web APIs and UI. The same username can be used for file upload and for management via the UI. Uploads are inhibited when the storage quota is reached.
  • 9. Web UI The Web UI is highly responsive and customizable. It is built on top of the Web APIs. It provides different access levels. It features Google Visualization APIs for the generation of graphs.
  • 10. Channel Manager Provides management of channels based on on-demand contents. Supports multiple sources and servers. Is tightly integrated with Helix SLTA agent. Provides useful feedback of currently playing clip via Web APIs and UI.
  • 11. Software Requirements RedHat, CentOS or Ubuntu linux A database server Java 6+ Apache Tomcat Server 6+ Helix Server 14.2+
  • 12. Hardware Requirements Depends on the planned capacity. A good start: ● 8 cores ● 16 gbytes of memory ● 200 gbytes of disk space
  • 14. Folder Structure: bin + /opt/helixcloud/ + bin/ | - helixcloud-channelmgr | : . The Channel Manager package is installed in the /opt/helixcloud folder which contains different subfolders: bin, lib, etc, log, var. The bin subfolder contains runnable files, including start-up scripts that can be added to the /etc/init.d of your system. The Channel Manager includes the helixcloud-channelmgr which is a start-up script that can be installed in the /etc/init.d and allows you later to start, stop and check the status of the service by issuing the following commands: /etc/init.d/helixcloud-channelmgr {start|stop|status}
  • 15. Folder Structure: lib + /opt/helixcloud/ : + lib/ | - helixcloud-channelmgr-1.0-SNAPSHOT.jar : . The log subfolder contains the program files, i.e. the files that contain the actual executable code for the Channel Manager. The Channel Manager includes the helixcloud-channelmgr-1.0-SNAPSHOT.jar file which is the actually self-contained program and is launched, along with its parameters, using the helixcloud- channelmgr script described in the previous slide.
  • 16. Folder Structure: opt + /opt/helixcloud/ : + etc/ | - chmgr.properties | - logback.xml : . The etc subfolder contains the configuration files: ● chmgr.properties holds the general configuration parameters for the Channel Manager service. ● logback.xml has the logging settings.
  • 17. Folder Structure: log + /opt/helixcloud/ : + log/ | - helixcloud.log | - helixcloud-{timestamp}.log | + channels/ | + {account}/{user}/{channel}/ | - slta-{timestamp}.log : . The log subfolder contains the logs for the service. Application logs are written to the helixcloud.log file (and rotated daily to helixcloud-{timestamp}. log). Application logs are also stored into the database if the logging is configured so. The standard output for each SLTA instance is written to {account}/{user}/{channel}/slta- {timestamp}.log
  • 18. Folder Structure: var + /opt/helixcloud/ : + var/ + channels/ | + {account}/{user}/ | - {channel}.mp4.json + templates/ - channels.xml The var subfolder contains two subfolders: ● channels with the data for all the configured channels in json format. ● templates with the configuration files for the SLTA, in our case the configuration file is called channels.xml.
  • 19. Startup Script APP_HOME=/opt/helixcloud CHMGR_LIB="$APP_HOME/lib/helixcloud-channelmgr-1.0-SNAPSHOT.jar" CHMGR_CFG="$APP_HOME/etc/chmgr.properties" LOGBACK_CFG="$APP_HOME/etc/logback.xml" CHMGR_CMD="java -DAPP_HOME=$APP_HOME -Dlogback.configurationFile=file://$LOGBACK_CFG -Dslta.configuration=file://$CHMGR_CFG -jar $CHMGR_LIB" The startup script defines important variables that point to the location of the library and configuration files. The variables are used to build up the Channel Manager command line: java -DAPP_HOME=/opt/helixcloud -Dlogback.configurationFile=file:///opt/helixcloud/etc/logback.xml -Dslta.configuration=file:///opt/helixcloud/etc/chmgr.properties -jar /opt/helixcloud/lib/helixcloud-channelmgr-1.0-SNAPSHOT.jar
  • 20. Startup Script: installation On RedHat and CentOS the startup script is installed as follows: cd /etc/init.d ln -s /opt/helixcloud/bin/helixcloud-channelmgr chmod 755 helixcloud-channelmgr chkconfig --add helixcloud-channelmgr The the service is started as follows: /etc/init.d/helixcloud-channelmgr start
  • 21. Application Configuration slta.runner.commandLine=/opt/helix/_realserver-14.3.0.268/Bin/slta.sh slta.runner.arguments=-c {template} {path}{suffix} {playlist} -fp slta.runner.destinationSuffix=.1 slta.runner.template=/opt/helixcloud/var/templates/channel.xml slta.runner.basePath=/opt/helixcloud/var/media/ slta.storage.path=/opt/helixcloud/var/channels/ slta.storage.suffix=.json slta.log.path=/opt/helixcloud/log/channels/ ● ...commandLine: the full command line to the slta.sh script (it must be the slta.sh script) ● ...arguments: the arguments to be appended to the command line. Arguments include placeholders for dynamic information such as the template, path, suffix and playlist parameters ● ...destinationSuffix: the destination suffix to append to the destination name (useful for redundant configurations) - will replace the {suffix} placeholder ● ...template: the SLTA configuration - will replace the {template} placeholder ● ...basePath: the path to the clips ● ...path: the path to the channels JSON data storage ● ...suffix: the suffix for the channels data file ● ...log.path: the path to the SLTA instances logs.
  • 22. Logging Configuration <configuration> <appender name="..." class="..."> ... </appender> <logger name="..." level="..." /> <root level="..."> ... </root> </configuration> The logging configuration is divided into 3 major groups: ● appender defines where to "write" the log data ● logger sets a verbosity filter according to the source of the log data ● root activates the appenders Logging is provided via the logback framework which provides an extensive documentation at this web address: http://logback.qos.ch/manual/index.html
  • 23. Logging: Appenders Typically the following appenders are configured: ● stdout: writes the log lines on the standard output (useful if run on a terminal window) ● file: writes the log lines to (rolling) files ● database/db: writes the log lines as SQL inserts in a logging database/table
  • 24. Logging: Loggers Loggers are configured to report only warnings and errors from most of the programs. Loggers will report also debug information from the program core, unless we decide to configure it differently.
  • 25. Transmitter Configuration <List Name="slta1"> <Var PathPrefix="*"/> <Var PortRange="30001-30100"/> <Var AcquisitionDataInterval="30"/> <Var FECLevel="5"/> <Var SureStreamAware="0"/> <Var BufferlessTransport="1"/> <Var LocalAddress="192.168.71.100" /> <Var Address="192.168.71.101"/> <Var TTL="16"/> <Var ResendSupported="1"/> <Var Protocol="udp/unicast"/> <List Name="Security"> <Var Type="None"/> </List> </List>
  • 27. Monitoring Configuration The Channel Manager service listens for API requests on port 8081/tcp, therefore this port can be configured in Nagios to continuously monitor the availability of the Channel Manager service.
  • 28. APIs
  • 29. API Overview ● Middleware APIs: access point for integrators. ● Channel Manager APIs: internal communications.
  • 30. APIs: roles Administrators: can operate the full platform and perform operations on all the account and users. In our examples, Yoda has "admin" as username and password. Users: can only access their own data. In our examples, the Ewoks have "user" as username and password.
  • 31. API: List of all channels curl -X GET http://admin:admin@localhost/api/1/channels
  • 32. API: list user channels curl -X GET http://admin:admin@localhost/api/1/channels/ user curl -X GET http://user:user@localhost/api/1/ me/channels
  • 33. API: create a channel curl -X POST http://admin:admin@localhost/api/1/channels -d @channel1.json -H "Content-Type: application/json" -H "Accept: application/json" { "userName":"user", "path":"channel1.mp4", "title":"Channel 1" }
  • 34. API: get details about a channel curl -X GET http://admin:admin@localhost/api/1/channels/ user↵ ?path=channel1.mp4 curl -X GET http://user:user@localhost/api/1/ me/channels↵ ?path=channel1.mp4
  • 35. API: add a clip to a channel curl -X POST http://admin:admin@localhost/api/1/channels/ user/↵ clips?path=channel1.mp4&clip=clip1.mp4 ↵ &clip=clip2.mp4 curl -X POST http://user:user@localhost/api/1/ me/channels/ ↵ clips?path=channel1.mp4&clip=clip1.mp4 ↵ &clip=clip2.mp4
  • 36. API: delete a channel curl -X DELETE http://admin:admin@localhost/api/1/channels/user ↵ ?path=channel1.mp4
  • 37. API: update a channel curl -X PUT http://admin:admin@localhost/api/1/channels -d @channel2.json -H "Content-Type: application/json" -H "Accept: application/json" curl -X PUT http://user:user@localhost/api/1/ me/channels -d @channel2.json -H "Content-Type: application/json" -H "Accept: application/json"
  • 38. API: start a channel curl -i -X GET http://admin:admin@localhost/api/1/channels/ user/↵ start?path=channel1.mp4 curl -i -X GET http://user:user@localhost/api/1/ me/channels/ ↵ start?path=channel1.mp4
  • 39. API: stop a channel curl -i -X GET http://admin:admin@localhost/api/1/channels/ user/↵ stop?path=channel1.mp4 curl -i -X GET http://user:user@localhost/api/1/ me/channels/ ↵ stop?path=channel1.mp4
  • 40. API: restart a channel curl -i -X GET http://admin:admin@localhost/api/1/channels/ user/↵ restart?path=channel1.mp4 curl -i -X GET http://user:user@localhost/api/1/ me/channels/ ↵ restart?path=channel1.mp4
  • 41. Thank You! Grazie! Danke schön! !‫ﺷﻜﺮا‬