Implementation of an Android Phone Based Video Streamer 2010 IEEE/ACM International Conference on Green Computing and Communications 2010 IEEE/ACM International.

Slides:



Advertisements
Similar presentations
A new Network Concept for transporting and storing digital video…………
Advertisements

Chapter 1: Voilà! Meet the Android
Extensibility, Safety and Performance in the SPIN Operating System Presented by Allen Kerr.
Google's android as an application environment for DTV decoder system Consumer Electronics (ISCE), 2010 IEEE 14th International Symposium on, 7-10 June.
CSE 4939 Alex Riordan Brian Pruitt-Goddard Remote Unit Testing.
PROJECT IN DISTRIBUTED SYSTEMS IPERF FOR ANDROID Developers: Shir Degani, Yuval Degani Supervisors: Prof. Roy Friedman, Alex Kogan.
Discovering Computers: Chapter 1
DEPARTMENT OF COMPUTER ENGINEERING
ANDROID OPERATING SYSTEM Guided By,Presented By, Ajay B.N Somashekar B.T Asst Professor MTech 2 nd Sem (CE)Dept of CS & E.
D-OSDi + Android Progress Presentation Xinyi Dong Long Qiu.
Mobile Application Development
ANDROID PROGRAMMING MODULE 1 – GETTING STARTED
01 Introduction to Java Technology. 2 Contents History of Java What is Java? Java Platforms Java Virtual Machine (JVM) Java Development Kit (JDK) Benefits.
UFCFX5-15-3Mobile Device Development UFCFX Mobile Device Development An Introduction to the Module.
Chapter 1: Voilà! Meet the Android. Smartphones –Can browse the Web –Allow you to play games –Use business applications –Check –Play music –Record.
Android Introduction Platform Overview.
Integration of SIP protocol in Android Media Framework EUROCON - International Conference on Computer as a Tool (EUROCON), 2011 IEEE April 2011,
M. Taimoor Khan * Java Server Pages (JSP) is a server-side programming technology that enables the creation of dynamic,
1 The SpaceWire Internet Tunnel and the Advantages It Provides For Spacecraft Integration Stuart Mills, Steve Parkes Space Technology Centre University.
By Mihir Joshi Nikhil Dixit Limaye Pallavi Bhide Payal Godse.
Three-tier Mobile Application Testing Framework:
Bluetooth Remote Control This paper appears in: Information and Communication Technologies, ICTTA '06. 2nd On page(s): Location: Damascus.
Adviser: Yih-Ran Sheu Adviser : Yih-Ran Sheu Student : Shin-hao Wang SN:MA Mohammed A Qadeer Dept of Computer Engg Aligarh Muslim University, Aligarh,
@2011 Mihail L. Sichitiu1 Android Introduction Platform Overview.
Android Programming By Mohsen Biglari Android Programming, Part1: Introduction 1 Part1: Introduction By Mohsen Biglari.
Chapter 1: Voilà! Meet the Android
UNIX SVR4 COSC513 Zhaohui Chen Jiefei Huang. UNIX SVR4 UNIX system V release 4 is a major new release of the UNIX operating system, developed by AT&T.
Department of Electrical Engineering Electronics Computers Communications Technion Israel Institute of Technology High Speed Digital Systems Lab. High.
Smart Phone Laboratory ECEN 489 Srinivas Shakkottai.
ANDROID Presented By Mastan Vali.SK. © artesis 2008 | 2 1. Introduction 2. Platform 3. Software development 4. Advantages Main topics.
DUE Hello World on the Android Platform.
Android for Java Developers Denver Java Users Group Jan 11, Mike
© 2016 Cengage Learning®. May not be scanned, copied or duplicated, or posted to a publicly accessible website, in whole or in part. Android Boot Camp.
Outline Overview Video Format Conversion Connection with An authentication Streaming media Transferring media.
©2007 · Georges Merx and Ronald J. NormanSlide 1 Chapter 13 Java on Various Computer Platforms.
Development of Multipoint Communication Systems for Remote Seminar Toshihiro Hayashi and Yukuo Hayashida Department of Information Science, Saga University.
CE Operating Systems Lecture 3 Overview of OS functions and structure.
National Taiwan University Department of Computer Science and Information Engineering National Taiwan University Department of Computer Science and Information.
Educational & entertraiment applications on Android platform «Piano» and «Abetare» Anisa Shehu Prof. Asoc. Elinda Meçe 14 th Workshop “Software Engineering.
Real-Time Cyber Physical Systems Application on MobilityFirst Winlab Summer Internship 2015 Karthikeyan Ganesan, Wuyang Zhang, Zihong Zheng.
Created By. Jainik B Patel Prashant A Goswami Gujarat Vidyapith Computer Department Ahmedabad.
Celluloid An interactive media sequencing language.
Real-Time Cyber Physical Systems Application on MobilityFirst Winlab Summer Internship 2015 Karthikeyan Ganesan, Wuyang Zhang, Zihong Zheng Shantanu Ghosh,
Computer Simulation of Networks ECE/CSC 777: Telecommunications Network Design Fall, 2013, Rudra Dutta.
Mobile Application Development with ANDROID Umang Patel(6537) LDCE.
By, Rutika R. Channawar. Content Introduction Open Handset Alliance Minimum Hardware Requirements Versions Feature Architecture Advantages Disadvantages.
August Video Management Software ViconNet Enterprise Video Management Software Hybrid DVR Kollector Strike Kollector Force Plug & Play NVR HDExpress.
 Can access all API’s made available by OS vendor.  SDK’s are platform-specific.  Each mobile OS comes with its own unique tools and GUI toolkit.
1 Get All Answers Get All Answers. Contents History of Android Android Fragmentation The Role of Google Features and Architecture Android Software Development.
By : Abhishek Verma Main Topics : 1. Introduction 2. Platform 3. Software Development 4. Overall Evaluation.
Google Web Toolkit for Mobile Applications Development INGENUITY AT ITS BEST……………….
By Adam Reimel. Outline Introduction Platform Architecture Future Conclusion.
Introduction to Programming 1 1 2Introduction to Java.
Best 5 Mobile App Development Tools for Developer's to think beyond the Limitation.
 Project Team: Suzana Vaserman David Fleish Moran Zafir Tzvika Stein  Academic adviser: Dr. Mayer Goldberg  Technical adviser: Mr. Guy Wiener.
Accelerometer based motion gestures for mobile devices Presented by – Neel Parikh Advisor Committee members Dr. Chris Pollett Dr. Robert Chun Dr. Mark.
 This work confers an application which makes possible to use a Bluetooth enabled mobile phone to remote control home appliances such electric fan, LEDs.
ISC321 Database Systems I Chapter 2: Overview of Database Languages and Architectures Fall 2015 Dr. Abdullah Almutairi.
Android. Android An Open Handset Alliance Project A software platform and operating system for mobile devices Based on the Linux kernel Developed by Google.
Google. Android What is Android ? -Android is Linux Based OS -Designed for use on cell phones, e-readers, tablet PCs. -Android provides easy access to.
The Basics of Android App Development Sankarshan Mridha Satadal Sengupta.
Computer System Structures
Mobile Device Development
Android Mobile Application Development
Obtaining the Required Tools
Architecture of Android
Monitoring Robot Prepared by: Hanin Mizyed ,Abdalla Melhem
Development-Introduction
John D. McGregor Module 0 Session 2 Infrastructure and problem
Presentation transcript:

Implementation of an Android Phone Based Video Streamer 2010 IEEE/ACM International Conference on Green Computing and Communications 2010 IEEE/ACM International Conference on Cyber, Physical and Social Computing N Vun, Y H Ooi School of Computer Engineering Nanyang Technological University Digital Object Identifier : /GreenCom-CPSCom Date of Conference: Dec Page(s): Adviser : Yih-Ran Sheu Student : Chun-Chang Tu SN : MA120110

Motivation

OUTLINE ABSTRACT INTRODUCTION ANDROID ARCHITECTURE OVERVIEW DEVELOPMENT TOOLS AND ENVIRONMENT SETUP VIDEO CAMERA STREAMING SYSTEM IMPLEMENTATION RESULTS AND DISCUSSION CONCLUDING REMARKS

Abstract This paper presents the implemented of the camera on the mobile phone to capture real time video which is then streamed over the WiFi network. Then the video can be viewed on other station connected to the same network using the standard VLC media player.

Introduction 1/3 Android technology become popular in the consumer electronics market. They provide very convenient hardware platforms for the developers to implement and test their ideas with much lower cost.

Introduction 2/3 The main objective of this paper is implement a video streamer on an Android based mobile phone. The implementation is done completely using open source software tools, software modules and technologies without the need of any special or propriety development tool.

Introduction 3/3 Figure 1 illustrates the use of an Android phone as the embedded platform, connecting to an IP network using its WiFi interface. The video can be viewed on LAN PCs using the open-source VLC media player.

Android Architecture Overview

JVMdxSDK

Development Tools and Environment Setup (1/3) Development of Android Apps can be conveniently performed using the Eclipse IDE. For Android App development, extension tools are needed. These extension tools are packaged in the Android Development Tools. Android SDK starter package contains various development tool chains and libraries are needed by the Eclipse to compile and package the application into the Android Package file.

Development Tools and Environment Setup (2/3)

Development Tools and Environment Setup (3/3) The emulator cannot support emulation of specific hardware features like camera. Application that involves networking will also need proper setup of the virtual router. As such, sometimes it is more convenient, or inevitable, that testing has to be done with the actual phone when the App makes use of the hardware feature.

VIDEO CAMERA STREAMING SYSTEM (1/11) The application in the Android phone is made up of two modules: a video recorder module and a cross-compiled LIVE555 streamer module.

VIDEO CAMERA STREAMING SYSTEM (2/11) Implementation of the video recorder module makes use of the Media Libraries provided in the Android SDK. It involves extending the SurfaceView class, creating a SurfaceHolder class and a MediaRecorder class, and implementing a SurfaceHolder.Callback function.

VIDEO CAMERA STREAMING SYSTEM (3/11)

VIDEO CAMERA STREAMING SYSTEM (4/11) LIVE555 is used as the engine for streaming the video file in this implementation.

VIDEO CAMERA STREAMING SYSTEM (5/11) As the source code of the Live 555 is created in C/C++, it cannot be compiled to run as a native Android App. There are two ways to integrate the package into this system: cross compiled the code and run it as a standalone C program, or modify it and compiled as a shared library package.

VIDEO CAMERA STREAMING SYSTEM (6/11) LIVE555 uses the glibc for its library, which is not included in the standard Android libraries. To overcome this, Live 555 has to be linked statically during compilation, i.e. all the library functions needed are included in the executable code.

VIDEO CAMERA STREAMING SYSTEM (7/11) The compiled LIVE555 program is then transferred to the appropriate file directory in the phone.

VIDEO CAMERA STREAMING SYSTEM (8/11) Another complication is standard Android phone is set to restrict user with limited access to its lower level functions and features. To start the LIVE555 server through a shell command, the user needs to have root access in the operating environment. Hence a further step is needed here, the ‘rooting’ of the Android phone.

VIDEO CAMERA STREAMING SYSTEM (9/11) Another alternative is integrate the LIVE555 code together with the Video recorder code and package them as an.apk file. This will involve the modification of the LIVE555 code to make it as a library function, and combination of the C/C++ and Java languages in an application.

VIDEO CAMERA STREAMING SYSTEM (10/11) This can be achieved by Android’s recent release toolkit, viz. the Android Native Development Kit. This toolkit allows the programmers to embed native C/C++ code into Android application. Java Native Interface method is used to bridge the communication between the Java application and the native C/C++ code.

VIDEO CAMERA STREAMING SYSTEM (11/11)

IMPLEMENTATION RESULTS AND DISCUSSION (1/5)

IMPLEMENTATION RESULTS AND DISCUSSION (2/5) The video of the clock running on the first PC monitor is captured by the Android phone, then streamed through the phone WiFi link to a LAN router, which is then playback in real time by a VLC player running on the second PC. There is no observable throughput delay in the streaming process under normal network condition.

IMPLEMENTATION RESULTS AND DISCUSSION (3/5) However, though not clearly noticeable in the photo, there is playback frame delay between the source and the playback image. The delay will depend on the instance the VLC media player is started. This is due to the use of the file as a buffer between the two software modules running on the Android phone.

IMPLEMENTATION RESULTS AND DISCUSSION (4/5) While the video recorder module will start recording the video into the file upon launching by the user, the LIVE555 will only start streaming the video upon receiving the request from the VLC player. As the LIVE555 streamer starts the video from the beginning of the file, it streams the image that was recorded earlier.

IMPLEMENTATION RESULTS AND DISCUSSION (5/5) Another consequence of using the file buffer is that the system will stop operation once the file size exceeds the maximum limit that the Android platform can support. To overcome these limitations, the two software modules have to be further modified such that data can be passed directly between them in real time

CONCLUDING REMARKS This paper describes the successful implementation of a video streamer system using an Android phone as the video capturing device. As the system was setup as a preliminary investigation and evaluation of using the Android platform for embedded applications, certain limitations remain in the implemented system.

REFERENCES [1] [2] [3] [4] LIVE555 Media Server, [5] VLC Media Player, [6] N. Vun and M Ansary, “Implementation of an Embedded H.264 Live Video Streaming System”, IEEE ISCE 2010 [7]