Virtual Front View - Wifi-Direct video streaming on Android devices
Java CSS
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.gradle
Screenshots
app
bin
build/intermediates Built the functionality required to manage wifi-direct connections in… Feb 5, 2015
gradle/wrapper
libs
libstreaming
res
src
.classpath
.gitignore
.project
AndroidManifest.xml
README.md
TestPlan.pdf
VirtualFrontView.iml
build.gradle
gradlew
gradlew.bat
ic_launcher-web.png Attempting to fix issues.. Jan 23, 2015
import-summary.txt
local.properties Updated gradle files / SDK files etc. to work with new Android Studio… Jan 29, 2015
log_from_example_2.txt
proguard-project.txt
project.properties
settings.gradle

README.md

Virtual Front View

Motivation

Virtual Front View is a method to extend the visual range of the driver by providing a video stream of downstream traffic and/or road conditions that may not be visible to the driver. The video stream may be generated by a Road Side Unit (RSU) or by a downstream vehicle and the video stream may be received using single-hop or multi-hop using vehicle-to-vehicle communication. The motivation is to improve the driving safety by extending the visual range of the driver. This project is motivated by a multi-disciplinary Nation Science Foundation (NSF) project that is currently underway and led by Prof. Michael Zhang (CEE), Prof. Chen-Nee Chuah (ECE), and Prof. Dipak Ghosal (CS).

Project Scope

Within the broader scope, the goal of our project was to develop a prototype Android application that can be used to demonstrate the feasibility of the idea using standard Android devices. An additional goal of the project was to characterize the packet loss and delay in single hop communication and its impact on the quality of the video stream. Towards this end we adopted Android Wi-Fi Direct for ad-hoc communcation between the Android devices. For video streaming, we adopted the libstreaming library which uses the standard Real Time Streaming Protocol (RTSP) utilizng Real Time Protocol (RTP) for streaming video data.

Architecture

Our Android application is based on the standard client-server architecture. The architecture uses the standard TCP/IP network protocl stack. The application uses libstreaming to handle the top two layers of the network stack (Application and Transport layers). Wi-Fi Direct uses the IEEE 802.11 protocl and implements the data link and physical layers of the network stack.

Wi-Fi Direct retrieves the network layer identifier, the IP Address, and passes it to the application process which makes it accessible to the lisbtreaming library. At the sender side, the libstreaming library provides functions to convert video into RTP packets which are transported using UDP/IP. At the receiver, libstreaming library functions are used to render the video based on the received video packets.