wiki:Other/Summer/2015/hVideo

Version 7 (modified by kushoza94, 9 years ago) ( diff )

Dynamic Video Encoding

Introduction

Live-streaming video from a device to the Internet in an efficient manner can be a tricky task. The concept of video-streaming itself is simple; the device records whatever is going on and then streams the video file information live to a video-hosting website. The problem arises with the nature of internet/data/WiFi connections. Having an unstable connection will result in a low, partially corrupted, and blurry video file on the streaming server. The original video file can always be uploaded later on to wherever the video was streamed to, but just simply re-uploading the same video file is a waste of bandwidth and time. Bits and pieces of the video file were already sent to the streaming server during the live-streaming process; why not use the information previously sent to figure out and upload whatever is missing? That's the goal and name of our project: Dynamic Video Encoding.

What We've Accomplished So Far

-Attempt ORBIT tutorials.
-Establish WiFi connectivity between two nodes in the ORBIT network.
-Simulate video corruption using a network emulator (netem) by transmitting videos from one node to another with varying degrees of packet loss.
-Establish a working knowledge of Ruby.

Goals

-Automation of bash script procedures via Ruby scripts.
-Dynamic adaptive streaming over HTTP (DASH).

Background Information

-Anatomy of a Video File:

  1. Container

Defined by file extension
Holds various audio/video streams
Specifies contained encoding scheme
Encoding scheme defines algorithm(s) used to encode/decode video

  1. Content stream

Contains encoded audio/video streams
Limits video use to only specific codecs

What is a CODEC?
Encoder-Decoder
Algorithms defined in compression standard
Can sometimes encode/decode several compression algorithms
Popular compression algorithms include JPEG/MPEG family

People

Professor Anand Sarwate
Professor Roy Yates
Danny Ayoub
Kush Oza

Attachments (19)

Note: See TracWiki for help on using the wiki.