Version 9 (modified by 9 years ago) ( diff ) | ,
---|
Dynamic Video Encoding
Table of Contents
- 2015 Winlab Summer Internship
- LTE Unlicensed (LTE-U)
- Introduction
- Objectives
- Theory
- Analyzing Tools
- Experiment 1: Transmit and Receive LTE Signal
- Experiment 2: The Waterfall Plot
- Experiment 3: eNB and UE GUI
- Experiment 4: Varying Bandwidths
- Experiment 5: Working with TDD or FDD
- Experiment 6: TDD with Varying Bandwidths
- Experiment 7: TDD Waterfall Plot
- Poster
- Members
- Materials
- Resources
- LTE Unlicensed (LTE-U)
- Body Sensor Networks
- 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).
- Streamline DASH encoding
- DASH video streaming tests with variable bitrate control
Background Information
Anatomy of a Video File
- Container
- Defined by file extension
- Holds various audio/video streams
- Specifies contained encoding scheme
- Encoding scheme defines algorithm(s) used to encode/decode video
- 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
H.264 Compression Algorithm
- Defined in MPEG-4 Part 10: Advanced Video Coding
- Implements many common image/video compression techniques
- Discrete Cosine Transform (DCT)
- Motion Compensation
- Implements many common image/video compression techniques
Scalable Video Coding
- Uses various methods to split a high quality bit stream into component layers
- Temporary Scalability
- Spatial Scalability
- SNR Scalability
- Decoder recombines selected layers to form output video stream
Network Emulator Test Results
- Images Pending *
DASH Multi-Bitrate Encoding
- DASH - Dynamic Adaptive Streaming over HTTP
- Encodes single video into multiple resolutions/bitrates
- Video files are segmented in certain time intervals
- Manifest file describes resolutions and bitrates of separately encoded files
- Client and server monitor network connections and switch video files as necessary
DASH Content Generation
- Minimal existing software support for encoding/playing DASH content
- Encode multiple copies of videos using ffmpeg
- Generate manifest files using MP4Box and manually combine
People
Professor Anand Sarwate
Professor Roy Yates
Danny Ayoub
Kush Oza
Attachments (19)
- Scalable Video Coding.png (76.8 KB ) - added by 9 years ago.
- original.gif (2.0 MB ) - added by 9 years ago.
- 5Loss.gif (3.5 MB ) - added by 9 years ago.
- 8mbit.gif (2.4 MB ) - added by 9 years ago.
- 12mbit.gif (3.8 MB ) - added by 9 years ago.
- Camerabandwidth.png (16.5 KB ) - added by 9 years ago.
- Clientbandwidth.png (15.3 KB ) - added by 9 years ago.
- Completebandwidth.PNG (18.6 KB ) - added by 9 years ago.
- DashAlgorithm.png (26.0 KB ) - added by 9 years ago.
- DashAlgorithm2.png (21.1 KB ) - added by 9 years ago.
- ThroughputEstimation.png (2.4 KB ) - added by 9 years ago.
- ThroughputEstimation2.png (7.4 KB ) - added by 9 years ago.
- ExperimentRig.png (29.3 KB ) - added by 9 years ago.
- GPACScript.png (191.2 KB ) - added by 9 years ago.
- GPacScriptResults.png (157.1 KB ) - added by 9 years ago.
- GPACScriptResults.png (157.1 KB ) - added by 9 years ago.
- Kush.jpg (34.7 KB ) - added by 9 years ago.
- Danny.jpg (78.9 KB ) - added by 9 years ago.
- Poster.pptx (2.9 MB ) - added by 9 years ago.