Applications Analysis of Video Streaming in Industrial
Total Page:16
File Type:pdf, Size:1020Kb
Analysis of video streaming in industrial IoT applications Cédric Surmont Student number: 01502396 Supervisors: Prof. dr. Bruno Volckaert, Prof. dr. ir. Filip De Turck Counsellors: Dwight Kerkhove, Tom Goethals Master's dissertation submitted in order to obtain the academic degree of Master of Science in Information Engineering Technology Academic year 2019-2020 Word of thanks During this semester I have been working on this dissertation that ends my Master of Science in Information Engineering Technology at the Ghent University. This would not have been possible without the help of the following people. First of all I would like to thank my counsellors Dwight Kerkhove and Tom Goethals for guiding me, answering all my questions and giving me helpful tips and tricks. I want to thank Prof. dr. Bruno Volckaert and Prof. dr. ir. Filip De Turck for allowing me to choose this interesting subject for my dissertation. Finally I want to thank my parents, Peter Surmont and Ann Verschelde, for giving me the opportunity to obtain this degree and my girlfriend, Justine Opsomer, for the support. Cédric Surmont De auteur geeft de toelating deze masterproef voor consultatie beschikbaar te stellen en delen van de masterproef te kopiëren voor persoonlijk gebruik. Elk ander gebruik valt onder de bepalingen van het auteursrecht, in het bijzonder met betrekking tot de verplichting de bron uitdrukkelijk te vermelden bij het aanhalen van resultaten uit deze masterproef. The author gives permission to make this master dissertation available for consultation and to copy parts of this master dissertation for personal use. In all cases of other use, the copyright terms have to be respected, in particular with regard to the obligation to state explicitly the source when quoting results from this master dissertation. ii Analyse van video streaming in industriële IoT applicaties (NL) door Cédric Surmont Academiejaar 2019-2020 Universiteit Gent Faculteit Ingenieurswetenschappen en Architectuur Promotoren: Prof. dr. Bruno Volckaert, Prof. dr. ir. Filip De Turck Begeleiders: Dwight Kerkhove, Tom Goethals Abstract - NL Het Internet of Things groeit zeer snel en steeds meer apparaten zijn verbonden met het Internet. Ook in de industrie wordt dit concept gebruikt, bijvoorbeeld in het City of Things1 project van imec. In dat project worden zeer veel sensoren geïnstalleerd in Antwerpen en met die data kunnen allerlei experimenten en voorspellingen gedaan worden. Het grootste deel van deze sensoren produceren numerieke data die gemakkelijk verwerkt en opgeslagen worden. Een andere soort data, die ook moet verwerkt worden, bestaat uit video beelden, die geproduceerd worden door de vele security camera’s in de stad. De beelden van deze camera’s, en ook andere zoals inspectiecamera’s in de industrie, ondergaan meestal een transcoding proces vooraleer de data kan gebruikt worden. Dit (live) proces verwerkt de inkomende videobeelden van verschillende bronnen en zet dit om naar de gewenste output. Deze output kan dan live getoond worden, soms in verschillende kwaliteiten, of wordt opgeslagen om later opgevraagd te worden. Dergelijke processen vormen een zware last op de architectuur en de verschillende aspecten ervan zullen in deze scriptie geanalyseerd worden. Trefwoorden: Video streamen, transcoden, live, compressie, automatisatie, bash, codec 1https://www.imec-int.com/cityofthings/city-of-things-for-researchers iii Analysis of video streaming in industrial IoT applications (EN) by Cédric Surmont Academic Year 2019-2020 University Ghent Faculty of Engineering and Architecture Supervisors: Prof. dr. Bruno Volckaert, Prof. dr. ir. Filip De Turck Counsellors: Dwight Kerkhove, Tom Goethals Abstract - EN The Internet of Things is a rapidly growing space. More and more devices get smarter and are connected to the Internet. In an industrial context IoT is widely used to obtain huge amounts of sensor data from machines, which is analyzed and distilled into useful metrics such as maintenance prediction, anomaly detection and performance. Imec’s City of Things project2 is the perfect example of an industrial IoT environment. One example of these machines in the City of Things project that transfer data for processing are the CCTV cameras. These cameras produce video files 24/7 that have to be available for live monitoring and Video On Demand (VOD) services. Processing video streams require a different kind of architecture than other sensor data. Therefore, in this dissertation, the effects of video streaming in an industrial IoT context will be analyzed. Specifically, the live transcoding process that takes place at the main framework will be tested and experimented on. This process accepts its input video from multiple sources and transforms each input to an output format with certain well defined properties. The different aspects of this operation will be thoroughly inspected and tested for multiple scenarios. Keywords: Video streaming, transcoding, live, compression, automation, bash, codec 2https://www.imec-int.com/cityofthings/city-of-things-for-researchers Analyse van video streaming in industriële IoT applicaties Cédric Surmont Promotoren: Bruno Volckaert, Filip De Turck Begeleiders: Dwight Kerkhove, Tom Goethals Abstract— Dit artikel analyseert het live transcoding proces dat een reeks data uitdrukken in een som van cosinus functies gebruikt wordt om live video aan te bieden. Dit proces zal worden met verschillende frequenties. Deze som heeft specifieke ei- opgezet om de videobeelden van het City of Things project van imec te verwerken. De huidige opstelling zorgt voor een te grote last op de genschappen die veel gemakkelijker gecomprimeerd kunnen CPU’s van de architectuur en dit zorgt ervoor dat buffers vollopen worden met bijvoorbeeld Huffman coding. De implemen- waardoor het proces stil kan vallen. De invloed van verschillende pa- taties van de H.264 specificatie en haar opvolger H.265 die rameters, opties en codecs op de performantie zal onderzocht worden. in deze scriptie gebruikt worden zijn respectievelijk libx264 en libx265. Kernwoorden— Video streamen, transcoden, live, compressie, au- tomatisatie, bash, codec Dit geheel kan zeer snel worden uitgevoerd door een computer, maar veel verschillende aspecten beïnvloeden dit I. Introductie proces. De verschillende eigenschappen van de input zoals de resolutie van de beelden, de frame rate, maar ook de in- ET Internet of Things groeit zeer snel en steeds meer houd spelen een rol in de snelheid waarmee een CPU deze Happaraten zijn verbonden met het Internet. Ook in transcoding kan uitvoeren. de industrie wordt dit concept gebruikt, bijvoorbeeld in het City of Things project van imec. In dat project wor- III. Testomgeving den zeer veel sensoren geïnstalleerd in Antwerpen en met Met de hulp van tools zoals Docker, FFmpeg en de die data kunnen allerlei experimenten en voorspellingen ge- Virtual wall van imec kan dit proces grondig onderzocht daan worden. Het grootste deel van deze sensoren produ- worden door middel van verschillende experimenten. Het ceren numerieke data die gemakkelijk verwerkt en opgesla- transcoding proces wordt telkens uitgevoerd in een custom gen worden. Een andere soort data, die ook moet verwerkt Docker container. Deze container heeft als basis de Ubuntu worden, bestaat uit video beelden, die geproduceerd wor- 18.04 image en is uitgebreid met de FFmpeg en youtube- den door de vele security camera’s in de stad. dl packages. Door middel van een entrypoint script, ge- schreven in bash, wordt bij de start van deze container een De beelden van deze camera’s, en ook andere zoals inspec- meegegeven video file doorgepipet, zoals een livestream, tiecamera’s in de industrie, ondergaan meestal een trans- naar het live transcoding script. Dit transcoding script be- coding proces vooraleer de data kan gebruikt worden. Dit staat voornamelijk uit een groot FFmpeg commando dat (live) proces verwerkt de inkomende videobeelden van ver- een DASH1 output genereert. DASH splits een video be- schillende bronnen en zet dit om naar de gewenste output. stand in korte fragmenten die afzonderlijk over het internet Deze output kan dan live getoond worden, soms in verschil- kunnen verstuurd worden om video streaming mogelijk te lende kwaliteiten, of wordt opgeslagen om later opgevraagd maken zonder eerst de volledige video te moeten downloa- te worden. Dergelijke processen vormen een zware last op den. Dit FFmpeg commando voert de transcoding uit met de architectuur en zullen in dit artikel geanalyseerd wor- de verschillende meegegeven parameters en opties. Om het den. effect van deze opties te testen wordt in elk experiment telkens één optie gewijzigd en worden de resultaten verge- II. Probleemstelling leken met de originele. Niet enkel de opties van het proces Het transcoding proces bestaat uit twee fases: De bin- worden onderzocht maar ook de invloed die verschillende nenkomende beelden worden eerst gedecodeerd naar een soorten input hebben. raw video formaat zoals YUV. Vanuit dit formaat kan de Deze resultaten bestaan uit onder andere de peak signal- video terug geëncodeerd worden tot de gewenste output. to-noise ratio (PSNR) en de structural similarity index De technologieën die dit enCOderen en DECoderen uitvoe- (SSIM) om de kwaliteit van de output te kunnen meten. ren worden codecs genoemd. Deze codecs zijn implementa- Deze waardes worden per frame berekend en geven een idee ties van gestandaardiseerde formaten, de meest gebruikte van de visuele kwaliteit van de geproduceerde bestanden is de H.264 standaardisatie.