
FACULDADE DE ENGENHARIA DA UNIVERSIDADE DO PORTO Dashcam Video Streaming and Storage José Costa DISSERTATION Mestrado Integrado em Engenharia Informática e Computação Supervisor: Profa Maria Teresa Andrade July 21, 2019 Dashcam Video Streaming and Storage José Costa Mestrado Integrado em Engenharia Informática e Computação July 21, 2019 Abstract With the incessant growth of the Internet-of-Things paradigm where all sorts of devices, from the, now trivial, smartphone to smart thermostats and smart fridges, are connected and interact with each other, exchanging data, it’s imperative to keep up with the current landscape. A particular device of growing interest and success is the dashboard camera or dashcam. A dashcam is a video recording device usually placed on the dashboard of vehicles, pointing forward, with the purpose of recording the journey to use the footage as proof for insurance companies in case of any incidents, among other motives. Purpose-built dashcams have a set of features that distinguishes them from the typical camera, hardware, and software-wise. Despite the, seemingly limitless, options in the market, the use of cloud storage and cloud connectivity, in general, can be a bit of a lackluster experience, with only a handful of devices even supporting those features. This is where this dissertation comes in. Proposed by WIT-Software, its main objective consists of the implementation of a proof of concept of a platform capable of interacting with different camera models and use the cloud features to allow users remote access, via mobile app, among other useful features. It integrates the Cloud features and the backend side with the already existing V- Auto app, developed by WIT-Software, that tracks the trips a user makes by using a device placed on their vehicle, and then presents that data in an appropriate way. The research surrounding the dashcam market and all the technologies relevant to the desired system helped to narrow the score of concepts and define what the platform will be in a more specific way. Simultaneously to the development of this system, there was a documentation of the process, along with the analysis, and consequent recommendation, of the best practices when it comes to cloud interaction in regards to video handling, storing, streaming, etc. The end result consists in a demonstrable, centralized and integrated system that uses the cloud features and interacts with the recording device and the mobile app. i ii Resumo Com o crescimento incessante do paradigma Internet-of-Things onde todo o tipo de dispositivos, desde dos, agora triviais, smartphones até aos termostatos inteligentes e frigoríficos inteligentes, estão conectados e interagem uns com os outros, trocando dados, é imperativo manter-se a par do panorama atual. Um dispositivo particular de interesse e sucesso crescentes é a dashboard camera ou dashcam. Um dashcam é um dispositivo de gravação de vídeo normalmente colocado no tablier de um veículo, apontado para a frente, com o propósito de filmar a viagem para uso das filmagens como provas para companhias de seguros no caso de algum incidente, entre outros motivos. Daschams feitas para esse efeito têm uma série de funcionalidades que as distingue da câmara típica, em termos de hardware e software. Apesar das opções, aparentemente sem lim- ite, no mercado, o uso de armazenamento na cloud e conectividade com a cloud no geral pode ser uma experiência pouco conseguida, com apenas um número escasso de dispositivos com su- porte para estas funcionalidades. É aqui que esta dissertação entra. Proposta pela WIt-Software, o seu objetivo principal consiste na implementação de uma prova de conceito de uma plataforma capaz de interagir com modelos diferentes de camaras e usar as funcionalidades da cloud para permitir aos utilizadores acesso remoto, via aplicação mobile, entre outras funcionalidades úteis. Integra as funcionalidades Cloud e a lado backend com a app existente V-Auto, desenvolvida pela WIT-Software, que monitoriza as viagens de um utilizador usando um dispositivo no veículo e a apresenta da forma apropriada. A pesquisa à volta do mercado das dashcams e de todas as tecnolo- gias relevantes para o sistema desejado ajudar a restringir a extensão dos conceitos e a definir o que a plataforma será duma maneira mais específica. Simultaneamente ao desenvolvimento deste sis- tema, houve uma documentação do processo, junto com a análise, e consequente recomendação, das melhores práticas no que toca a interação com a cloud no que toca a manuseamento de vídeo, armazenamento, streaming, etc. O resultado final consiste num sistema centralizado, integrado e demonstrável que usa funcionalidades cloud e interage com o dispositivo de gravação e com a aplicação mobile. iii iv Acknowledgements Despite the personal effort that was necessary throughout the entire process, it wouldn’t have been possible without the help of several people. First and foremost my supervisor, Prof. Maria Teresa Andrade, and everyone at WIT-Software, more specifically my coordinators, João Alves and Pedro Marques, and Miguel Goyanes. And not forget my friends and family that kept me going through these few months with highs and lows but always focused and moving forward. José Costa v vi “I’d been going to college for nine years, and before I completed my dissertation, I quit.” Robert Weinberg vii viii Contents 1 Introduction1 1.1 Overview . .1 1.2 Context . .1 1.3 Motivation and Goals . .2 1.4 Dissertation Structure . .3 1.5 Summary . .3 2 State of the Art5 2.1 Overview . .5 2.2 Dashcam Solutions . .5 2.2.1 Analysis . .5 2.2.2 Devices & Features . .6 2.2.3 Companion Applications . 10 2.3 Video Compression . 12 2.3.1 H.264/AVC . 13 2.3.2 H.265/HEVC . 13 2.3.3 VP9 . 14 2.3.4 AV1 . 14 2.4 Storage . 14 2.4.1 Video Metadata . 14 2.4.2 SD Card/Flash Memory . 14 2.4.3 Cloud Storage . 15 2.4.3.1 Amazon Web Services . 15 2.4.3.2 Azure Media Services . 16 2.4.3.3 OpenStack . 16 2.5 Streaming . 17 2.5.1 DASH . 17 2.6 Content Delivery Networks . 18 2.7 Connectivity . 18 2.7.1 Wi-Fi Direct . 18 2.7.2 WAN Connection . 18 2.8 Related Work . 19 2.9 Summary . 20 3 Solution 23 3.1 Overview . 23 3.2 Problem & Solution . 23 3.3 Requirements . 24 ix CONTENTS 3.3.1 Functional . 24 3.3.1.1 R01 - Login . 24 3.3.1.2 R02 - Cameras . 24 3.3.1.3 R03 - List Clips . 25 3.3.1.4 R04 - Stream Clips . 26 3.3.1.5 R05 - Download Clips . 26 3.3.1.6 R06 - Play Local Clips . 27 3.3.1.7 R07 - Delete Clips . 27 3.3.1.8 R08 - Navigable Video Player Bar . 28 3.3.1.9 R09 - Clip Information . 28 3.3.1.10 R10 - Edit Clip Information . 29 3.3.1.11 R11 - Trip View Video Selection . 29 3.3.1.12 R12 - Trip View Event Selection . 30 3.3.1.13 R13 - Trip Recap . 30 3.3.2 Non-Functional . 31 3.3.3 Requirements Revision . 31 3.4 Use Cases . 31 3.5 Work Plan . 33 3.5.1 Backend . 33 3.5.2 Frontend Integration . 33 3.5.3 Other Features . 33 3.5.4 Work Plan Revision . 33 3.6 Summary . 34 4 Implementation 35 4.1 Overview . 35 4.2 Database Structure Definition . 35 4.3 Database Setup . 37 4.4 Server Environment Setup . 37 4.5 Server Implementation . 38 4.5.1 Authentication . 38 4.5.2 Entities . 38 4.5.2.1 User . 39 4.5.2.2 Camera . 39 4.5.2.3 Clip . 39 4.5.2.4 Event . 39 4.5.3 REST Requests . 39 4.5.4 Web App . 40 4.6 Android Media Player . 41 4.7 Cloud Environment . 42 4.8 V-Auto App . 42 4.9 Summary . 45 5 Conclusions 47 5.1 Overview . 47 5.2 Results . 47 5.3 Future Work . 48 5.4 Summary . 48 x CONTENTS References 49 xi CONTENTS xii List of Figures 2.1 Interframe Compressions Diagram . ..
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages74 Page
-
File Size-