{"id":36,"date":"2024-11-08T00:50:32","date_gmt":"2024-11-08T00:50:32","guid":{"rendered":"https:\/\/networks.cpsc.ucalgary.ca\/group\/?page_id=36"},"modified":"2024-11-12T18:55:39","modified_gmt":"2024-11-12T18:55:39","slug":"multimedia-streaming","status":"publish","type":"page","link":"https:\/\/networks.cpsc.ucalgary.ca\/group\/multimedia-streaming\/","title":{"rendered":"Multimedia Streaming"},"content":{"rendered":"\n<p>Description<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Featured Projects<\/h2>\n\n\n\n<div class=\"wp-block-media-text is-stacked-on-mobile\" style=\"padding-top:0;padding-right:0;padding-bottom:0;padding-left:0;grid-template-columns:41% auto\"><figure class=\"wp-block-media-text__media\"><img loading=\"lazy\" decoding=\"async\" width=\"420\" height=\"511\" src=\"https:\/\/networks.cpsc.ucalgary.ca\/group\/wp-content\/uploads\/2024\/11\/istream.png\" alt=\"\" class=\"wp-image-105 size-full\" srcset=\"https:\/\/networks.cpsc.ucalgary.ca\/group\/wp-content\/uploads\/2024\/11\/istream.png 420w, https:\/\/networks.cpsc.ucalgary.ca\/group\/wp-content\/uploads\/2024\/11\/istream-247x300.png 247w\" sizes=\"(max-width: 420px) 100vw, 420px\" \/><\/figure><div class=\"wp-block-media-text__content\">\n<p class=\"has-medium-font-size\"><strong>iStream Player: <br><\/strong>We present iStream Player, a versatile video player framework featuring fully extendable and independent micro-modules similar to Lego blocks. Constructing a video player in iStream Player is as simple as assembling Lego pieces. Our case studies demonstrate that it is effortless to create a diverse range of players by making only minor changes, such as extending or replacing only one or two micro-modules. As a result, iStream Player significantly reduces the time and effort required to develop and validate new solutions, providing researchers and developers in the video streaming field with a shared platform to explore and to share their innovative ideas.<\/p>\n\n\n\n<p class=\"has-medium-font-size\"><a href=\"https:\/\/github.com\/NetMedia-Sys-Lab\/istream-player\">https:\/\/github.com\/NetMedia-Sys-Lab\/istream-player<\/a><\/p>\n<\/div><\/div>\n\n\n\n<div class=\"wp-block-media-text is-stacked-on-mobile\" style=\"grid-template-columns:41% auto\"><figure class=\"wp-block-media-text__media\"><img loading=\"lazy\" decoding=\"async\" width=\"749\" height=\"366\" src=\"https:\/\/networks.cpsc.ucalgary.ca\/group\/wp-content\/uploads\/2024\/11\/temporalAdaptation.png\" alt=\"\" class=\"wp-image-107 size-full\" srcset=\"https:\/\/networks.cpsc.ucalgary.ca\/group\/wp-content\/uploads\/2024\/11\/temporalAdaptation.png 749w, https:\/\/networks.cpsc.ucalgary.ca\/group\/wp-content\/uploads\/2024\/11\/temporalAdaptation-300x147.png 300w\" sizes=\"(max-width: 749px) 100vw, 749px\" \/><\/figure><div class=\"wp-block-media-text__content\">\n<p class=\"has-medium-font-size\"><strong>Temporal Adaptation in DASH:<\/strong> Conventional bandwidth-based HTTP Adaptive Streaming (HAS) is not robust to bandwidth fluctuation at small time scales, which can consequently lead to stalls, bandwidth waste, and unstable quality. We propose temporal adaptation to refine the quality level within video segments on the fly, according to the actual bandwidth conditions experienced while downloading each segment. We have developed a series of HAS extensions for HEVC and AV1 that facilitates decodability of partial frames and paves the way for changing the paradigm from discrete to continuous bitrate ladders for HAS. Our extensions can work with any adaptation algorithm or HAS player to significantly improve robustness and efficiency in dynamic network environments and for low-latency streams, as well as to dramatically reduce content storage and encoding infrastructure requirements.<\/p>\n<\/div><\/div>\n\n\n\n<div class=\"wp-block-media-text is-stacked-on-mobile\" style=\"grid-template-columns:41% auto\"><figure class=\"wp-block-media-text__media\"><img loading=\"lazy\" decoding=\"async\" width=\"635\" height=\"667\" src=\"https:\/\/networks.cpsc.ucalgary.ca\/group\/wp-content\/uploads\/2024\/11\/VideoTranscoding.png\" alt=\"\" class=\"wp-image-108 size-full\" srcset=\"https:\/\/networks.cpsc.ucalgary.ca\/group\/wp-content\/uploads\/2024\/11\/VideoTranscoding.png 635w, https:\/\/networks.cpsc.ucalgary.ca\/group\/wp-content\/uploads\/2024\/11\/VideoTranscoding-286x300.png 286w\" sizes=\"(max-width: 635px) 100vw, 635px\" \/><\/figure><div class=\"wp-block-media-text__content\">\n<p class=\"has-medium-font-size\"><strong>Video Transcoding: <\/strong><br>On one hand, since the introduction of UHD (ultra-high definition) videos, e.g., 4K and 8K videos, it is becoming more resource and time intensive to transcode videos. On the other hand, the increasing demand for video streaming implies more videos need to be transcoded. These two facts motivate the need for techniques to speedup coding and transcoding time. We propose distributed video transcoding schemes that leverages distributed computing platforms (e.g., Apache Spark) and Docker Container technologies for real-time transcoding of videos. The design is transcoder agnostic, meaning it can adopt any transcoder implementation (e.g., FFMPEG) without any modification. We also propose CRF-based real-time adaptation protocol to realize true live streaming of high quality videos, from transcoding to decoding.<\/p>\n<\/div><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Description Featured Projects iStream Player: We present iStream Player, a versatile video player framework featuring fully extendable and independent micro-modules similar to Lego blocks. Constructing a video player in iStream Player is as simple as assembling Lego pieces. Our case studies demonstrate that it is effortless to create a diverse range of players by making [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-36","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/networks.cpsc.ucalgary.ca\/group\/wp-json\/wp\/v2\/pages\/36"}],"collection":[{"href":"https:\/\/networks.cpsc.ucalgary.ca\/group\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/networks.cpsc.ucalgary.ca\/group\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/networks.cpsc.ucalgary.ca\/group\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/networks.cpsc.ucalgary.ca\/group\/wp-json\/wp\/v2\/comments?post=36"}],"version-history":[{"count":10,"href":"https:\/\/networks.cpsc.ucalgary.ca\/group\/wp-json\/wp\/v2\/pages\/36\/revisions"}],"predecessor-version":[{"id":164,"href":"https:\/\/networks.cpsc.ucalgary.ca\/group\/wp-json\/wp\/v2\/pages\/36\/revisions\/164"}],"wp:attachment":[{"href":"https:\/\/networks.cpsc.ucalgary.ca\/group\/wp-json\/wp\/v2\/media?parent=36"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}