Doing Quality Assurance in PHP projects sometimes looks like a dark art! Picking the right tools, making all tools work together, analysing your code and even then deliver all the required features of the software project can be quite challenging.
This talks aims to help lowering the entry barrier for doing QA on your project, sharing the experience, knowledge and some tricks that brings QA back from the dark arts to the every day of a PHP programmer.
We will review tools like Jenkins, PHPUnit, phpcs, pdepend, phpcpd, etc and how we can chain them together to make sure we are building a great software.
Docker and Running multiple versions of PHP @ CareerZoo Dublinrjsmelo
Ricardo Melo gives a presentation on Docker containers. The presentation covers Docker, Docker Hub for hosting container images, Docker Compose for running multiple services, and demonstrates using Docker to run different PHP versions. It concludes with taking questions and information on job opportunities at Smartbox.
Git is a free and open source distributed version control system used to handle projects of any size with speed and efficiency. GitHub allows for collaboration by forking repositories, sending pull requests, and managing public and private git repositories. Key git commands include git log to view commit logs, git status to check the status, git add to add files, and git commit to commit changes.
Modeling the Complexity of Music Metadata in Semantic Graphs for Exploration ...Pasquale Lisena
This document summarizes a project that models music metadata in semantic graphs to improve music description and foster music exchange. The project aims to connect different music data sources, enrich the user experience, and make vocabularies and data publicly available as linked open data. The project develops a music-specific data model and tools for visualization, recommendation, and other applications. State-of-the-art music ontologies are extended and complex metadata from different sources is converted and interlinked using controlled vocabularies and natural language processing.
Implementing the Media Fragments URI SpecificationRaphael Troncy
Implementing the Media Fragments URI Specification - Talk given at the Developer's Track of the 19th World Wide Web Conference (WWW'2010), Raleigh (NC), USA, April 29th 2010
Remixing Media on the Semantic Web (ISWC 2014 Tutorial) Pt 1 Media Fragment S...LinkedTV
In this session we will introduce the W3C Media Fragment URI specification, highlighting how media fragments can be incorporated into known media description schema, with a focus on the W3C Media Ontology and the Open Annotation Model. We will also discuss extensions to these ontologies to more richly link media fragments to the concepts they represent, re-using Linked Data as a Web-wide knowledge graph about concepts. We will briefly demonstrate various approaches to visual, audio and textual analysis in order to generate meaningful media fragments out of a media resource, as well as look at available annotation tools for semantically describing online media. Finally, we show how existing text around media (subtitles, transcripts) can be used for fragment annotation through Named Entity Recognition services (NERD) and a combined approach for generating a semantic description of media from analysis, metadata and entity recognition (TV2RDF).
Recording and media manipulation of WebRTC streamsLuis Lopez
This presentation introduces Kurento technologies to developers at the WebRTC Conference & Expo 2014 in San Jose. It focuses on Kurento Client APIs and on its capabilities for recording and manipulating the audio and video streams in WebRTC sessions.
Doing Quality Assurance in PHP projects sometimes looks like a dark art! Picking the right tools, making all tools work together, analysing your code and even then deliver all the required features of the software project can be quite challenging.
This talks aims to help lowering the entry barrier for doing QA on your project, sharing the experience, knowledge and some tricks that brings QA back from the dark arts to the every day of a PHP programmer.
We will review tools like Jenkins, PHPUnit, phpcs, pdepend, phpcpd, etc and how we can chain them together to make sure we are building a great software.
Docker and Running multiple versions of PHP @ CareerZoo Dublinrjsmelo
Ricardo Melo gives a presentation on Docker containers. The presentation covers Docker, Docker Hub for hosting container images, Docker Compose for running multiple services, and demonstrates using Docker to run different PHP versions. It concludes with taking questions and information on job opportunities at Smartbox.
Git is a free and open source distributed version control system used to handle projects of any size with speed and efficiency. GitHub allows for collaboration by forking repositories, sending pull requests, and managing public and private git repositories. Key git commands include git log to view commit logs, git status to check the status, git add to add files, and git commit to commit changes.
Modeling the Complexity of Music Metadata in Semantic Graphs for Exploration ...Pasquale Lisena
This document summarizes a project that models music metadata in semantic graphs to improve music description and foster music exchange. The project aims to connect different music data sources, enrich the user experience, and make vocabularies and data publicly available as linked open data. The project develops a music-specific data model and tools for visualization, recommendation, and other applications. State-of-the-art music ontologies are extended and complex metadata from different sources is converted and interlinked using controlled vocabularies and natural language processing.
Implementing the Media Fragments URI SpecificationRaphael Troncy
Implementing the Media Fragments URI Specification - Talk given at the Developer's Track of the 19th World Wide Web Conference (WWW'2010), Raleigh (NC), USA, April 29th 2010
Remixing Media on the Semantic Web (ISWC 2014 Tutorial) Pt 1 Media Fragment S...LinkedTV
In this session we will introduce the W3C Media Fragment URI specification, highlighting how media fragments can be incorporated into known media description schema, with a focus on the W3C Media Ontology and the Open Annotation Model. We will also discuss extensions to these ontologies to more richly link media fragments to the concepts they represent, re-using Linked Data as a Web-wide knowledge graph about concepts. We will briefly demonstrate various approaches to visual, audio and textual analysis in order to generate meaningful media fragments out of a media resource, as well as look at available annotation tools for semantically describing online media. Finally, we show how existing text around media (subtitles, transcripts) can be used for fragment annotation through Named Entity Recognition services (NERD) and a combined approach for generating a semantic description of media from analysis, metadata and entity recognition (TV2RDF).
Recording and media manipulation of WebRTC streamsLuis Lopez
This presentation introduces Kurento technologies to developers at the WebRTC Conference & Expo 2014 in San Jose. It focuses on Kurento Client APIs and on its capabilities for recording and manipulating the audio and video streams in WebRTC sessions.
The future of multimedia communications and services: Kurento and it's roleLuis Lopez
This is a presentation specifically created for the GSMA interest group on WebRTC. This presentations introduces Kurento from the perspective of operators. Kurento is a multimedia development framework. It has been created to ease the life of multimedia application developers. Using multimedia capabilities such as embedding a video onto your app or establishing a video conferencing link between two clients may be tricky, but there is no rocket science there. However, for applications requiring more advanced features things quickly get unmanageable. If you have been involved in multimedia projects, you probably know that features such as interoperable group communications, different communication roles (e. g.. publishers/viewers), video transforming and transcoding, video storage and tagging, integration into legacy video/voice infrastructures, computer vision, augmented reality, integration with external systems and databases and many others, pose quite a complex challenge, which usually requires huge expertise and effort. Specially when real-time communications are involved. If this is your case, Kurento will help you.
Quality of Experience of Web-based Adaptive HTTP Streaming Clients in Real-Wo...Alpen-Adria-Universität
This document summarizes a presentation on evaluating the quality of experience (QoE) of adaptive HTTP streaming clients like DASH in real-world environments using crowdsourcing. The study evaluated three clients (DASH-JS, dash.js, YouTube) playing video content with different quality representations. Results found that DASH-JS had high startup times but low stalls and good throughput/QoE, while dash.js had low startup but high stalls and lower throughput/QoE. YouTube performed best with low startup, few stalls, and highest throughput and QoE. The methodology and results provide insights into QoE aspects of DASH clients over the open internet.
Kurento: a media server architecture and API for WebRTCLuis Lopez
Introducing Kurento for WebRTC Expo 2013 (Paris). Kurento is an Open Source multimedia framework, which provides a Java EE compatible API suitable for adding real-time communication capabilities to any WWW application in a simple and seamless way.
[ElastixWorld 2016] mediasoup: Powerful WebRTC SFU for Node.jsIñaki Baz Castillo
This document discusses mediasoup, a WebRTC SFU (selective forwarding unit) module for Node.js. It allows building multi-party video applications and exposes a JavaScript API. Mediasoup handles the media layer and routing of streams between participants without mixing or decoding/encoding streams. The document outlines different topology options like full mesh, MCU, and SFU and how mediasoup implements the SFU topology. It emphasizes that mediasoup is a minimalist Node.js module that exposes APIs for low-level and high-level WebRTC control and just handles media forwarding, not signaling. An example demo application called Firstsight is shown that uses mediasoup on the backend with React on the frontend.
Slides for the "WebRTC broadcasting: standardization, challenges and opportunities" presentation I made at TADSummit 2023 in Paris. It presents the problems traditional broadcasting has with new scenarios that would benefit from a much lower latency solution, and how WebRTC can help. It also introduces the standard WHIP and WHEP protocols for ingestion and egress, with a few details on how a WebRTC stream could be scaled to a very wide audience using something like SOLEIL (Streaming Of Large scale Events over Internet cLouds).
Simplifying and accelerating converged media with Open Visual CloudLiz Warner
Challenges exist with media transformation into Visual Cloud services and the flexibility to migrate those services to new HW platforms. Learn how Intel and partners are solving these challenges with highly optimized cloud native media processing, media analytics, and graphics/rendering components to quickly and easily deliver end-to-end visual cloud services with scalable open source software. Two visual cloud services around media delivery and media analytics will be demonstrated to showcase how to enable faster time to market for innovative “new media” services.
voip2day 2016: mediasoup, powerful WebRTC SFU for Node.jsIñaki Baz Castillo
This document introduces mediasoup, a WebRTC SFU (selective forwarding unit) module for Node.js. It handles the media layer for multi-party video conferencing without mixing or decoding streams. The document discusses mediasoup's topology options and how it can support clients with varying bandwidth through simulcast/SVC. It emphasizes that mediasoup is minimalist and exposes a JavaScript API to create rooms and peers for real-time media routing. An example demo application is shown to illustrate how mediasoup could be used to build multi-party video conferencing solutions.
This presentation was carried out at the different FI-WARE Bootcamps, for presenting Kurento, its capabilities and APIs to a group of startups.
Kurento makes it possible to create rich video applications supporting WebRTC and HTTP pseudo-streaming (video tag) and exposing Kurento Media Server capabilities, which include computer vision, augmented reality, group communications and recording.
Developing rich multimedia applications with Kurento: a tutorial for JavaScri...Luis Lopez
- The document discusses Kurento, an open-source media server platform that allows building multimedia applications through simple APIs.
- Kurento provides a media server called Kurento Media Server (KMS) that handles media processing and streaming, along with JavaScript, Java and REST APIs called the Kurento Media API to access KMS capabilities.
- The document provides examples of using Kurento to build WebRTC applications including a basic file player, WebRTC loopback, adding a face overlay filter to WebRTC, and recording WebRTC streams. It also discusses promises and generators as ways to simplify asynchronous JavaScript code for Kurento applications.
WebRTC Standards & Implementation Q&A - All about browser interoperabilityAmir Zmora
Hosting guest speaker Jan-Ivar Bruaroey of Mozilla Firefox WebRTC R&D team and contributor to adapter.js talking about Chrome and Firefox interoperability.
Video and slides synchronized, mp3 and slide download available at URL http://bit.ly/20SN0dP.
Tammer Saleh talks about the mistakes people make when building a microservices architecture. He also talks about: when microservices are appropriate, and where to draw the lines between services, dealing with performance issues, testing and debugging techniques, managing a polyglot landscape and the explosion of platforms, managing failure and graceful degradation. Filmed at qconlondon.com.
Tammer Saleh is a long time developer, leader, and author of the acclaimed book *Rails AntiPatterns*. Saleh is currently building the Cloud Foundry platform at Pivotal.
Ranch, Caesar or Olive Oil? Different dressings for your SIP salad with Janus! An overview of the different plugins existing (and WIP) in Janus to help with SIP needs, made at the OpenSIPS Summit 2017 in Amsterdam.
This presentation was used in the context of a FI-WARE webminar for introducing Kurento. Kurento is a framework for building multimedia and streaming applications based on predefined blocks. Send and receive median through RTP, WebRTC, HTTP and RTSP. Use processing for making face detection, plate recognition or object tracking. Use augmented reality, group communications or media mixing and blending among others. During the webminar, we used Kurento APIs for showing how to create media applications for videoconferencing or video streaming in a simple and seamless manner. We also demonstrated how these applications can be enriched with Kurento's advanced processing capabilities.
WebRTC Webinar & Q&A - W3C WebRTC JS API Test Platform & Updates from W3C Lis...Amir Zmora
On September 19-23 there was the W3C TPAC meeting in Lisbon. Dan will cover some of the highlights of the recent Lisbon WebRTC meeting, including what items are the sticking points, where work is focusing, progress estimates, and thoughts on what might go into the next version of WebRTC after 1.0 is finished.
Alex will cover the W3C testing platform: "Test The Web Forward". W3C, unlike IETF, is developing and maintaining a complete test suite for all its JS APIs. No specification is actually accepted by W3C and final without the corresponding test suite. Topics that will be addressed include what this testing platform implements, its status with respect to WebRTC and now it is used by different browser vendors as an indication of their compliance with the standards.
As always, we encourage you to submit your general WebRTC related questions beforehand in the Questions & Topics section to make sure we answer them during the session.
Event sponsored by WebRTC.Ventures & Blacc Spot Media
These slides cover a workshop called "Having fun with Janus and WebRTC" at the virtual edition of OpenSIPS 2021. The workshop guided viewers to how they could use different features in Janus to build a WebRTC Social TV application, including how to write a new plugin in JavaScript to build a virtual remote.
Developing rich multimedia applications with FI-WARE.Luis Lopez
The document discusses the Stream Oriented Generic Enabler (SO GE) which provides multimedia capabilities to the FI-WARE infrastructure through a simple API. It allows sending and receiving media, processing media through elements like computer vision and augmented reality filters, and transforming media formats. Examples are given of media elements like HttpEndpoint, RtpEndpoint, and filters like JackVaderFilter. The SO GE API allows dynamically creating media pipelines by connecting these reusable elements. An overview is also given of developing applications using this API in JavaScript or Java.
This document discusses WebRTC and its capabilities and components. WebRTC allows for real-time communication like low-latency video calling directly in the browser. It includes APIs for accessing media devices, recording media, and setting up peer-to-peer connections. WebRTC works across browsers but support varies, and signaling, NAT traversal, or media servers may be needed for production apps. New versions of WebRTC will support newer codecs, transports, and allow for more advanced media processing and machine learning.
CreaTiVù is a web application that can distribute video content through different platforms like web, IPTV, and DVB. It allows users to build custom TV channels by uploading videos, creating formats and schedules, and designing layouts. The application provides tools to control channel programming and broadcast video content on different client displays.
Understanding User Behavior with Google Analytics.pdfSEO Article Boost
Unlocking the full potential of Google Analytics is crucial for understanding and optimizing your website’s performance. This guide dives deep into the essential aspects of Google Analytics, from analyzing traffic sources to understanding user demographics and tracking user engagement.
Traffic Sources Analysis:
Discover where your website traffic originates. By examining the Acquisition section, you can identify whether visitors come from organic search, paid campaigns, direct visits, social media, or referral links. This knowledge helps in refining marketing strategies and optimizing resource allocation.
User Demographics Insights:
Gain a comprehensive view of your audience by exploring demographic data in the Audience section. Understand age, gender, and interests to tailor your marketing strategies effectively. Leverage this information to create personalized content and improve user engagement and conversion rates.
Tracking User Engagement:
Learn how to measure user interaction with your site through key metrics like bounce rate, average session duration, and pages per session. Enhance user experience by analyzing engagement metrics and implementing strategies to keep visitors engaged.
Conversion Rate Optimization:
Understand the importance of conversion rates and how to track them using Google Analytics. Set up Goals, analyze conversion funnels, segment your audience, and employ A/B testing to optimize your website for higher conversions. Utilize ecommerce tracking and multi-channel funnels for a detailed view of your sales performance and marketing channel contributions.
Custom Reports and Dashboards:
Create custom reports and dashboards to visualize and interpret data relevant to your business goals. Use advanced filters, segments, and visualization options to gain deeper insights. Incorporate custom dimensions and metrics for tailored data analysis. Integrate external data sources to enrich your analytics and make well-informed decisions.
This guide is designed to help you harness the power of Google Analytics for making data-driven decisions that enhance website performance and achieve your digital marketing objectives. Whether you are looking to improve SEO, refine your social media strategy, or boost conversion rates, understanding and utilizing Google Analytics is essential for your success.
Instagram has become one of the most popular social media platforms, allowing people to share photos, videos, and stories with their followers. Sometimes, though, you might want to view someone's story without them knowing.
More Related Content
Similar to Developing a Media Fragment Node.JS Server
The future of multimedia communications and services: Kurento and it's roleLuis Lopez
This is a presentation specifically created for the GSMA interest group on WebRTC. This presentations introduces Kurento from the perspective of operators. Kurento is a multimedia development framework. It has been created to ease the life of multimedia application developers. Using multimedia capabilities such as embedding a video onto your app or establishing a video conferencing link between two clients may be tricky, but there is no rocket science there. However, for applications requiring more advanced features things quickly get unmanageable. If you have been involved in multimedia projects, you probably know that features such as interoperable group communications, different communication roles (e. g.. publishers/viewers), video transforming and transcoding, video storage and tagging, integration into legacy video/voice infrastructures, computer vision, augmented reality, integration with external systems and databases and many others, pose quite a complex challenge, which usually requires huge expertise and effort. Specially when real-time communications are involved. If this is your case, Kurento will help you.
Quality of Experience of Web-based Adaptive HTTP Streaming Clients in Real-Wo...Alpen-Adria-Universität
This document summarizes a presentation on evaluating the quality of experience (QoE) of adaptive HTTP streaming clients like DASH in real-world environments using crowdsourcing. The study evaluated three clients (DASH-JS, dash.js, YouTube) playing video content with different quality representations. Results found that DASH-JS had high startup times but low stalls and good throughput/QoE, while dash.js had low startup but high stalls and lower throughput/QoE. YouTube performed best with low startup, few stalls, and highest throughput and QoE. The methodology and results provide insights into QoE aspects of DASH clients over the open internet.
Kurento: a media server architecture and API for WebRTCLuis Lopez
Introducing Kurento for WebRTC Expo 2013 (Paris). Kurento is an Open Source multimedia framework, which provides a Java EE compatible API suitable for adding real-time communication capabilities to any WWW application in a simple and seamless way.
[ElastixWorld 2016] mediasoup: Powerful WebRTC SFU for Node.jsIñaki Baz Castillo
This document discusses mediasoup, a WebRTC SFU (selective forwarding unit) module for Node.js. It allows building multi-party video applications and exposes a JavaScript API. Mediasoup handles the media layer and routing of streams between participants without mixing or decoding/encoding streams. The document outlines different topology options like full mesh, MCU, and SFU and how mediasoup implements the SFU topology. It emphasizes that mediasoup is a minimalist Node.js module that exposes APIs for low-level and high-level WebRTC control and just handles media forwarding, not signaling. An example demo application called Firstsight is shown that uses mediasoup on the backend with React on the frontend.
Slides for the "WebRTC broadcasting: standardization, challenges and opportunities" presentation I made at TADSummit 2023 in Paris. It presents the problems traditional broadcasting has with new scenarios that would benefit from a much lower latency solution, and how WebRTC can help. It also introduces the standard WHIP and WHEP protocols for ingestion and egress, with a few details on how a WebRTC stream could be scaled to a very wide audience using something like SOLEIL (Streaming Of Large scale Events over Internet cLouds).
Simplifying and accelerating converged media with Open Visual CloudLiz Warner
Challenges exist with media transformation into Visual Cloud services and the flexibility to migrate those services to new HW platforms. Learn how Intel and partners are solving these challenges with highly optimized cloud native media processing, media analytics, and graphics/rendering components to quickly and easily deliver end-to-end visual cloud services with scalable open source software. Two visual cloud services around media delivery and media analytics will be demonstrated to showcase how to enable faster time to market for innovative “new media” services.
voip2day 2016: mediasoup, powerful WebRTC SFU for Node.jsIñaki Baz Castillo
This document introduces mediasoup, a WebRTC SFU (selective forwarding unit) module for Node.js. It handles the media layer for multi-party video conferencing without mixing or decoding streams. The document discusses mediasoup's topology options and how it can support clients with varying bandwidth through simulcast/SVC. It emphasizes that mediasoup is minimalist and exposes a JavaScript API to create rooms and peers for real-time media routing. An example demo application is shown to illustrate how mediasoup could be used to build multi-party video conferencing solutions.
This presentation was carried out at the different FI-WARE Bootcamps, for presenting Kurento, its capabilities and APIs to a group of startups.
Kurento makes it possible to create rich video applications supporting WebRTC and HTTP pseudo-streaming (video tag) and exposing Kurento Media Server capabilities, which include computer vision, augmented reality, group communications and recording.
Developing rich multimedia applications with Kurento: a tutorial for JavaScri...Luis Lopez
- The document discusses Kurento, an open-source media server platform that allows building multimedia applications through simple APIs.
- Kurento provides a media server called Kurento Media Server (KMS) that handles media processing and streaming, along with JavaScript, Java and REST APIs called the Kurento Media API to access KMS capabilities.
- The document provides examples of using Kurento to build WebRTC applications including a basic file player, WebRTC loopback, adding a face overlay filter to WebRTC, and recording WebRTC streams. It also discusses promises and generators as ways to simplify asynchronous JavaScript code for Kurento applications.
WebRTC Standards & Implementation Q&A - All about browser interoperabilityAmir Zmora
Hosting guest speaker Jan-Ivar Bruaroey of Mozilla Firefox WebRTC R&D team and contributor to adapter.js talking about Chrome and Firefox interoperability.
Video and slides synchronized, mp3 and slide download available at URL http://bit.ly/20SN0dP.
Tammer Saleh talks about the mistakes people make when building a microservices architecture. He also talks about: when microservices are appropriate, and where to draw the lines between services, dealing with performance issues, testing and debugging techniques, managing a polyglot landscape and the explosion of platforms, managing failure and graceful degradation. Filmed at qconlondon.com.
Tammer Saleh is a long time developer, leader, and author of the acclaimed book *Rails AntiPatterns*. Saleh is currently building the Cloud Foundry platform at Pivotal.
Ranch, Caesar or Olive Oil? Different dressings for your SIP salad with Janus! An overview of the different plugins existing (and WIP) in Janus to help with SIP needs, made at the OpenSIPS Summit 2017 in Amsterdam.
This presentation was used in the context of a FI-WARE webminar for introducing Kurento. Kurento is a framework for building multimedia and streaming applications based on predefined blocks. Send and receive median through RTP, WebRTC, HTTP and RTSP. Use processing for making face detection, plate recognition or object tracking. Use augmented reality, group communications or media mixing and blending among others. During the webminar, we used Kurento APIs for showing how to create media applications for videoconferencing or video streaming in a simple and seamless manner. We also demonstrated how these applications can be enriched with Kurento's advanced processing capabilities.
WebRTC Webinar & Q&A - W3C WebRTC JS API Test Platform & Updates from W3C Lis...Amir Zmora
On September 19-23 there was the W3C TPAC meeting in Lisbon. Dan will cover some of the highlights of the recent Lisbon WebRTC meeting, including what items are the sticking points, where work is focusing, progress estimates, and thoughts on what might go into the next version of WebRTC after 1.0 is finished.
Alex will cover the W3C testing platform: "Test The Web Forward". W3C, unlike IETF, is developing and maintaining a complete test suite for all its JS APIs. No specification is actually accepted by W3C and final without the corresponding test suite. Topics that will be addressed include what this testing platform implements, its status with respect to WebRTC and now it is used by different browser vendors as an indication of their compliance with the standards.
As always, we encourage you to submit your general WebRTC related questions beforehand in the Questions & Topics section to make sure we answer them during the session.
Event sponsored by WebRTC.Ventures & Blacc Spot Media
These slides cover a workshop called "Having fun with Janus and WebRTC" at the virtual edition of OpenSIPS 2021. The workshop guided viewers to how they could use different features in Janus to build a WebRTC Social TV application, including how to write a new plugin in JavaScript to build a virtual remote.
Developing rich multimedia applications with FI-WARE.Luis Lopez
The document discusses the Stream Oriented Generic Enabler (SO GE) which provides multimedia capabilities to the FI-WARE infrastructure through a simple API. It allows sending and receiving media, processing media through elements like computer vision and augmented reality filters, and transforming media formats. Examples are given of media elements like HttpEndpoint, RtpEndpoint, and filters like JackVaderFilter. The SO GE API allows dynamically creating media pipelines by connecting these reusable elements. An overview is also given of developing applications using this API in JavaScript or Java.
This document discusses WebRTC and its capabilities and components. WebRTC allows for real-time communication like low-latency video calling directly in the browser. It includes APIs for accessing media devices, recording media, and setting up peer-to-peer connections. WebRTC works across browsers but support varies, and signaling, NAT traversal, or media servers may be needed for production apps. New versions of WebRTC will support newer codecs, transports, and allow for more advanced media processing and machine learning.
CreaTiVù is a web application that can distribute video content through different platforms like web, IPTV, and DVB. It allows users to build custom TV channels by uploading videos, creating formats and schedules, and designing layouts. The application provides tools to control channel programming and broadcast video content on different client displays.
Similar to Developing a Media Fragment Node.JS Server (20)
Understanding User Behavior with Google Analytics.pdfSEO Article Boost
Unlocking the full potential of Google Analytics is crucial for understanding and optimizing your website’s performance. This guide dives deep into the essential aspects of Google Analytics, from analyzing traffic sources to understanding user demographics and tracking user engagement.
Traffic Sources Analysis:
Discover where your website traffic originates. By examining the Acquisition section, you can identify whether visitors come from organic search, paid campaigns, direct visits, social media, or referral links. This knowledge helps in refining marketing strategies and optimizing resource allocation.
User Demographics Insights:
Gain a comprehensive view of your audience by exploring demographic data in the Audience section. Understand age, gender, and interests to tailor your marketing strategies effectively. Leverage this information to create personalized content and improve user engagement and conversion rates.
Tracking User Engagement:
Learn how to measure user interaction with your site through key metrics like bounce rate, average session duration, and pages per session. Enhance user experience by analyzing engagement metrics and implementing strategies to keep visitors engaged.
Conversion Rate Optimization:
Understand the importance of conversion rates and how to track them using Google Analytics. Set up Goals, analyze conversion funnels, segment your audience, and employ A/B testing to optimize your website for higher conversions. Utilize ecommerce tracking and multi-channel funnels for a detailed view of your sales performance and marketing channel contributions.
Custom Reports and Dashboards:
Create custom reports and dashboards to visualize and interpret data relevant to your business goals. Use advanced filters, segments, and visualization options to gain deeper insights. Incorporate custom dimensions and metrics for tailored data analysis. Integrate external data sources to enrich your analytics and make well-informed decisions.
This guide is designed to help you harness the power of Google Analytics for making data-driven decisions that enhance website performance and achieve your digital marketing objectives. Whether you are looking to improve SEO, refine your social media strategy, or boost conversion rates, understanding and utilizing Google Analytics is essential for your success.
Instagram has become one of the most popular social media platforms, allowing people to share photos, videos, and stories with their followers. Sometimes, though, you might want to view someone's story without them knowing.
Gen Z and the marketplaces - let's translate their needsLaura Szabó
The product workshop focused on exploring the requirements of Generation Z in relation to marketplace dynamics. We delved into their specific needs, examined the specifics in their shopping preferences, and analyzed their preferred methods for accessing information and making purchases within a marketplace. Through the study of real-life cases , we tried to gain valuable insights into enhancing the marketplace experience for Generation Z.
The workshop was held on the DMA Conference in Vienna June 2024.
Meet up Milano 14 _ Axpo Italia_ Migration from Mule3 (On-prem) to.pdfFlorence Consulting
Quattordicesimo Meetup di Milano, tenutosi a Milano il 23 Maggio 2024 dalle ore 17:00 alle ore 18:30 in presenza e da remoto.
Abbiamo parlato di come Axpo Italia S.p.A. ha ridotto il technical debt migrando le proprie APIs da Mule 3.9 a Mule 4.4 passando anche da on-premises a CloudHub 1.0.
1. Master Degree Course in
Cinema and Media Engineering
SUPERVISOR
Giovanni Malnati
INTERNSHIP SUPERVISORS
Raphaël Troncy
José Luis Redondo Garcìa
CANDIDATE
Pasquale Lisena
2. Pasquale Lisena
Developing a Media Fragment Server in Node.JS
PART I What is a «Media Fragment»?
PART II State of the art
PART III Implementation
2
3. Pasquale Lisena
Developing a Media Fragment Server in Node.JS
PART I What is a «Media Fragment»?
PART II State of the art
PART III Implementation
3
4. Pasquale Lisena
Developing a Media Fragment Server in Node.JS
4
• Share
• Bookmark
• Save band
• Annotate
• Save time
• Search
• …and more
ADVANTAGES
PARTI
5. Pasquale Lisena
Developing a Media Fragment Server in Node.JS
5
TEMPORAL DIMENSION (T)
SPATIAL DIMENSION (XYWH)
MEDIA FRAGMENTS
URI 1.0
RECOMENDATION
PARTI
6. Pasquale Lisena
Developing a Media Fragment Server in Node.JS
6
MEDIA FRAGMENTS
URI 1.0
RECOMENDATION
TRACK DIMENSION
NAMED DIMENSION (ID)
PARTI
7. Pasquale Lisena
Developing a Media Fragment Server in Node.JS
Query format
7
Hash format
http://www.example.com/example.ogv#t=10,20
http://www.example.com/example.ogv?t=10,20
Server generates the fragment
resource
HTTP Range request (time)
User Agent is in charge of display it
correctly
PARTI
8. Pasquale Lisena
Developing a Media Fragment Server in Node.JS
PART I What is a «Media Fragment»?
PART II State of the art
PART III Implementation
8
9. Pasquale Lisena
Developing a Media Fragment Server in Node.JS
9
CLIENTS VIDEO PLATFORMS
TEMPORAL
NPT (hh:mm:ss)
SMPTE - Clock
SPATIAL
Only start
Not standard syntax
PARTII
10. Pasquale Lisena
Developing a Media Fragment Server in Node.JS
10
CLIENT
IMPLEMENTATIONS
• Synote Media Fragment Player
• NinSuna Media Fragment Player
SERVER
IMPLEMENTATIONS
• NinSuna Media Fragment Server
• Rafael
POLYFILL PARSER
LIBRARY
• MediaFragment.js
PARTII
11. Pasquale Lisena
Developing a Media Fragment Server in Node.JS
11
CLIENT IMPLEMENTATIONS
SYNOTE MEDIA FRAGMENT PLAYER
• Cross-browser (Flash fallback)
• HTML5, YouTube, Daylimotion,
Vimeo support
• HTML5-like interface
https://github.com/pasqLisena/Media-Fragment-Player
• JavaScript plugin
• Spatial and temporal support
• No Time range requests
• Highlight of fragment in timeline
• Dark mask for spatial fragment
OUR
CONTRIBUTION
PARTII
12. Pasquale Lisena
Developing a Media Fragment Server in Node.JS
12
SERVER IMPLEMENTATIONS
NINSUNA MEDIA FRAGMENT
SERVER RAFAEL
• Pre-processing
• Annotation-based
• Support for Time range
request
• Extraction on the fly
• Fragment stored on file
system
• Support only for query
fragments
http://ninsuna.elis.ugent.be/MediaFragmentsServer https://github.com/Noterik/Rafael
PARTII
13. Pasquale Lisena
Developing a Media Fragment Server in Node.JS
13
MEDIAFRAGMENT.JS
http://www.example.com/video.ogv
?t=1:00:00#t=npt:10,20
&xywh=percent:25,25,50,50
{
"query":{
"t":[
{
"value":"1:00:00",
"unit":"npt",
"start":"1:00:00",
"end":"",
"startNormalized":3600,
"endNormalized":""
}
]
},
"hash":{
"t":[
{
"value":"npt:10,20",
"unit":"npt",
https://github.com/tomayac/Media-Fragments-URI/
OUR
CONTRIBUTION
PARSING
+
UNIT NORMALIZATION
+
ERROR DETECTION
PARTII
14. Pasquale Lisena
Developing a Media Fragment Server in Node.JS
PART I What is a «Media Fragment»?
PART II State of the art
PART III Implementation
14
15. Pasquale Lisena
Developing a Media Fragment Server in Node.JS
Query Fragment
• Time (npt)
• Track (video/audio)
• Xywh
15
Hash fragment
• Range request
(npt)
PARTIII
17. Pasquale Lisena
Developing a Media Fragment Server in Node.JS
17
FRAGMENT QUERY FFMPEG OPTION NOTE
t=10 -ss 10
t=,20 -to 20
t=10,20 -ss 10 -to 20
track=video -an no audio
track=audio -vn no video
xywh=10,10,50,60 -filter:v "crop=50:60:10:10" require transcoding
xywh=percent:10,10,50,60
-filter:v "crop=in_w*50/100:
in_h*60/100:in_w*10/100:
in_h*10/100"
require transcoding
PARTIII
18. Pasquale Lisena
Developing a Media Fragment Server in Node.JS
18
400px
220px
00:21:43
video.mp4
? t= 00:00:10, 00:00:20
& xywh=0,0,400,220
PARTIII
19. Pasquale Lisena
Developing a Media Fragment Server in Node.JS
ALIAS
collection
19
t=10,20 and t=11,20 are byte identical
video_10.45-19.41
video_10-20
video_11-20
GridFS
Auto-deletion of older resources.
PARTIII
22. Pasquale Lisena
Developing a Media Fragment Server in Node.JS
22
HTTP/1.1 206 Partial Content
Accept-Ranges: bytes, t, id
Content-Length: 3795
Content-Type: video/ogg
Content-Range-Mapping:
{ t:npt 9.85-21.16/0.0-653.79;include-setup } =
{ bytes 0-52,19147-22880/35614993 }
Content-type: multipart/byteranges; boundary=BOUNDARY
Etag: "b7a60-21f7111-46f3219476580"
--BOUNDARY
Content-type: video/ogg
Content-Range: bytes 0-52/35614993
{binary data}
--BOUNDARY
Content-type: video/ogg
Content-Range: bytes 19147-22880/35614993
{binary data}
---BOUNDARY--
METADATA
DATA
PARTIII
23. Pasquale Lisena
Developing a Media Fragment Server in Node.JS
23
localhost:3000/video/video.mp4?t=10,20
localhost:3000/video/video.mp4#t=10,20
24. Pasquale Lisena
Developing a Media Fragment Server in Node.JS
24
• We contributed to the generic "media-fragment.js" polyfill and
prepare a Node.JS version (open source)
• We contributed to the Synote Media Player to build a more
generic media fragment player (open source)
• We discovered bugs in the W3C specification and proposed
amendments (revised text) to be endorsed by W3C
• We implemented a media fragment server in Node.JS (using
ffmeg) + a smart cache (based on MongoDB)
• Future work: finalize the Chrome extension so that the
browser understand the response from the server, extend
support to all media and test MaFFiN on a more large scale
environment.