Changes between Version 7 and Version 8 of Other/Summer/2015/hVideo


Ignore:
Timestamp:
Jul 13, 2015, 9:42:45 PM (9 years ago)
Author:
kushoza94
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Other/Summer/2015/hVideo

    v7 v8  
    1 == Dynamic Video Encoding  ==
     1= Dynamic Video Encoding  =
    22
    33[[TOC(Other/Summer/2015*, depth=3)]]
    44
    5 === Introduction ===
     5== Introduction ==
    66
    77Live-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.
    88
    9 === What We've Accomplished So Far ===
     9== What We've Accomplished So Far ==
    1010
    11 -Attempt ORBIT tutorials.[[BR]]
    12 -Establish WiFi connectivity between two nodes in the ORBIT network.[[BR]]
    13 -Simulate video corruption using a network emulator (netem) by transmitting videos from one node to another with varying degrees of packet loss.[[BR]]
    14 -Establish a working knowledge of Ruby.[[BR]]
     11* Attempt ORBIT tutorials.
     12* Establish WiFi connectivity between two nodes in the ORBIT network.
     13* Simulate video corruption using a network emulator (netem) by transmitting videos from one node to another with varying degrees of packet loss.
     14* Establish a working knowledge of Ruby.
    1515
    16 === Goals ===
     16== Goals ==
    1717
    18 -Automation of bash script procedures via Ruby scripts.[[BR]]
    19 -Dynamic adaptive streaming over HTTP (DASH).[[BR]]
     18* Automation of bash script procedures via Ruby scripts.
     19* Dynamic adaptive streaming over HTTP (DASH).
    2020
    21 === Background Information ===
     21== Background Information ==
    2222
    23 -Anatomy of a Video File:[[BR]]
     23=== Anatomy of a Video File ===
    2424
    25 1. Container[[BR]]
    26 Defined by file extension[[BR]]
    27 Holds various audio/video streams[[BR]]
    28 Specifies contained encoding scheme[[BR]]
    29 Encoding scheme defines algorithm(s) used to encode/decode video[[BR]]
     251. Container
     26 * Defined by file extension
     27 * Holds various audio/video streams
     28 * Specifies contained encoding scheme
     29  a. Encoding scheme defines algorithm(s) used to encode/decode video
    3030
    31 2. Content stream[[BR]]
    32 Contains encoded audio/video streams[[BR]]
    33 Limits video use to only specific codecs[[BR]]
     312. Content stream
     32 * Contains encoded audio/video streams
     33 * Limits video use to only specific codecs
    3434
    35 What is a CODEC?[[BR]]
    36 Encoder-Decoder[[BR]]
    37 Algorithms defined in compression standard[[BR]]
    38 Can sometimes encode/decode several compression algorithms[[BR]]
    39 Popular compression algorithms include JPEG/MPEG family[[BR]]
     35=== What is a CODEC? ===
     361. Encoder-Decoder
     37 * Algorithms defined in compression standard
     38 * Can sometimes encode/decode several compression algorithms
     39 * Popular compression algorithms include JPEG/MPEG family
    4040
    41 === People ===
     41=== H.264 Compression Algorithm ===
     421. Defined in MPEG-4 Part 10: Advanced Video Coding
     43 * Implements many common image/video compression techniques
     44  a. Discrete Cosine Transform (DCT)
     45  b. Motion Compensation
     46
     47=== Scalable Video Coding ===
     481. Uses various methods to split a high quality bit stream into component layers
     49 * Temporary Scalability
     50 * Spatial Scalability
     51 * SNR Scalability
     522. Decoder recombines selected layers to form output video stream
     53
     54[[Image()]]
     55
     56== People ==
    4257Professor Anand Sarwate[[BR]]
    4358Professor Roy Yates[[BR]]