Deutsch Intern
Chair of Computer Science III

Tool: YoMoApp

YoMoApp for Researchers/Developers


YoMoApp is a valuable tool for conducting measurements and subjective studies about YouTube QoE. In the following, you can find related links.

Public WebsitePDF  | Getting Started [PDF]  |   Android App (Google Play Store) |
Screencast 1 (ACM MobiCom 2016) | Screencast 2 (EuCNC '15) | Publications | Technical Guide for Researcher 

If you are a researcher/developer and want to use YoMoApp, please contact us (Florian Wamser, Michael Seufert, Nikolas Wehner) by e-mail: Send e-mail to YoMoApp team

 

In order to foster research with YoMoApp, we will provide some information for researchers/developers in the following:

App Versions

Several versions of YoMoApp exist, such as (with/without subjective rating, with/without map, etc.). Currently, you can download the following versions:

  • Public version (Google Play Store)
  • YoMoApp without subjective rating

If you need a customized version, please contact us:  Send e-mail to YoMoApp team

Technical Guide for Researchers

In addition to the technical specifications below, a comprehensive document with monitoring features and description of the YomoApp is available at the following URL: Technical Guide for Researchers. This document will be updated and adjusted as the app is updated. If you have any questions, please do not hesitate to contact us.

Data

With YoMoApp, we will export three different log files. The first log file contains information about the playout buffer in intervals of approx. 1s. The format is:

timestamp#video playback time#buffered playback time#available playback time\n

Example:

1470910804858#0.0#0.0#0.0
1470910807497#0.0#16.370067596435547#16.370067596435547
1470910808498#0.826777#20.396260719726563#21.223037719726563
1470910809499#1.825088#32.285023236572265#34.110111236572266
1470910810503#2.823342#32.0298074140625#34.8531494140625
...

The second log contains all player information (playback events, video informtion) and all streaming-related events of the device monitored from Android. These include device information (screen size, volume, display orientation) and network related information, such as transmitted bytes (total/mobile, every 1s), signal strength, RAT, position (every 10s).

Example:

1470910804844#ytid:o5E7cG54VoA
1470910804858#cellid:165014005
1470910804858#rssi:-26
1470910804858#network:WIFI
1470910804858#ssid:"i3-QoE-Studie"
1470910804858#bssid:9c:c7:a6:e9:69:85
1470910804858#screenorientation:portrait
1470910804858#volume:0
1470910804858#location:49.7813698,9.9733074
1470910804858#state:seeking
1470910804863#screen:360x202
1470910804865#state:paused
1470910804879#trbytes:1504567334
1470910804879#ttbytes:35269813
1470910804880#mrbytes:107523304
1470910804880#mtbytes:3446149
1470910804883#abort
1470910804885#emptied
1470910805282#trbytes:1504589450
1470910805282#ttbytes:35270229
1470910805283#mrbytes:107523304
1470910805285#mtbytes:3446149
...
1470910806381#rssi:-26
1470910806382#trbytes:1504598617
1470910806382#ttbytes:35283691
1470910806383#mrbytes:107523304
1470910806383#mtbytes:3446149
1470910806410#state:playing
1470910806415#title:Cicadas (Web Exclusive): Last Week Tonight with John Oliver (HBO) - YouTube
1470910806430#play
1470910806471#waiting
1470910806479#loadstart
1470910806533#trbytes:1504803708
1470910806533#ttbytes:35287979
1470910806534#mrbytes:107523304
1470910806534#mtbytes:3446149
1470910806545#trbytes:1504803708
1470910806546#ttbytes:35287979
1470910806546#mrbytes:107523304
1470910806547#mtbytes:3446149
1470910806548#trbytes:1504803708
1470910806548#ttbytes:35287979
1470910806549#mrbytes:107523304
1470910806550#mtbytes:3446149
1470910806884#trbytes:1504906140
1470910806884#ttbytes:35291669
1470910806886#mrbytes:107523304
1470910806886#mtbytes:3446149
1470910806956#canplay
1470910807025#playing
1470910807337#trbytes:1505539523
1470910807337#ttbytes:35303447
1470910807338#mrbytes:107523304
1470910807338#mtbytes:3446149
1470910807393#trbytes:1505597795
1470910807394#ttbytes:35305321
1470910807395#mrbytes:107523304
1470910807398#mtbytes:3446149
1470910807502#duration:212.8108843537415
1470910807512#quality:360p (640x360, 16:9)
1470910807543#trbytes:1505764609
1470910807544#ttbytes:35305997
1470910807545#mrbytes:107523304
1470910807546#mtbytes:3446149
...

The third log gives a summary of the online analysis of the previous two logs and also includes the subjective quality rating of the user:

Example:

Video-ID#o5E7cG54VoA
Date#2016-08-11
Time#12:20:04
Device-ID#5996c486916f1af7
Screen size#540x888
Screen density#240 dpi
Network#WIFI
Mobile operator#Vodafone.de
Country#Germany
Initial delay#3.65
Quality switches#0
360p (640x360, 16:9)#161.54
Stalling events#0
Total stalling length#0.00
Average stalling length#0.00
Maximal stalling length#0.00
Video title#Cicadas (Web Exclusive): Last Week Tonight with John Oliver (HBO)
Video log time#165.18
Length of video#212.81
Average buffer level#32.12
Maximal buffer level#33.28
Pause events#0
Subjective rating#4.23

 

To discuss access to the monitored log files and analysis scripts, please contact us:

Send e-mail to YoMoApp team

Browser Version

Additionally, the browser version of YoMo logs the request headers. This feature will also be integrated into YoMoApp soon.

Format of output response:

[YOMO] timestamp | user: default | ##Q## | yomoid ## signature ## request_id ## response_header

Example:

[YOMO] 1484053127741 | user: default | ##Q## | yomoid: 99620##signature: 8B46FCB43EBE1CA7CCD762D315EC9AAC1D854812.B3A4E4492117CAC4C50610F7F89CC56A423D614A##request_id:1484053127725##response_header: HTTP/1.1 200 OK%%%%Last-Modified: Thu, 22 Dec 2016 05:06:37 GMT%%%%Content-Type: video/webm%%%%Date: Tue, 10 Jan 2017 12:58:47 GMT%%%%Expires: Tue, 10 Jan 2017 12:58:47 GMT%%%%Cache-Control: private, max-age=21296%%%%Accept-Ranges: bytes%%%%Content-Length: 107288%%%%Connection: keep-alive%%%%Alt-Svc: quic=":443"; ma=2592000 %%%%Access-Control-Allow-Origin: https://www.youtube.com%%%%Access-Control-Allow-Credentials: true%%%%Timing-Allow-Origin: https://www.youtube.com%%%%Access-Control-Expose-Headers: Client-Protocol, Content-Length, Content-Type, X-Bandwidth-Est, X-Bandwidth-Est2,  X-Bandwidth-Est-Comp, X-Bandwidth-Avg, X-Walltime-Ms%%%%x-content-type-options: nosniff%%%%Server: gvs 1.0%%%%%%%% 

Format of request information:

[YOMO] timestamp | user: default | ##R## | yomoid ## signature ## request_id ## url ## url_hashcode ## algorithm ## range ## begin_parameter ## id_parameter ## mime  ## itag ## timestamp

Example:

[YOMO] 1484053127748 | user: default | ##R## | yomoid: 99620##signature: 8B46FCB43EBE1CA7CCD762D315EC9AAC1D854812.B3A4E4492117CAC4C50610F7F89CC56A423D614A##request_id: 1484053127725##url:https://r15---sn-4g57knzk.googlevideo.com/videoplayback?mm=31&source=youtube&mn=sn-4g57knzk&ip=132.187.253.28&gir=yes&mt=1484052967&pl=16&mv=m&ei=g9p0WI-yK8aKigatx5rwCQ&id=o-AAaSoCUge-jVfLS3eHjXsttBtPuuF2kAVZ9FVhbx5yB_&ms=au&beids=%5B9452307%5D&key=yt6&initcwndbps=3887500&lmt=1482383197257242&clen=11412954&expire=1484074723&sparams=clen%2Cdur%2Cei%2Cgir%2Cid%2Cinitcwndbps%2Cip%2Cipbits%2Citag%2Ckeepalive%2Clmt%2Cmime%2Cmm%2Cmn%2Cms%2Cmv%2Cnh%2Cpl%2Crequiressl%2Csource%2Cupn%2Cexpire&nh=IgpwcjAyLmZyYTE2Kgw3Mi4xNC4xOTQuNTk&requiressl=yes&keepalive=yes&ipbits=0&signature=8B46FCB43EBE1CA7CCD762D315EC9AAC1D854812.B3A4E4492117CAC4C50610F7F89CC56A423D614A&dur=322.781&mime=video%2Fwebm&itag=243&upn=YkZSr96_o00&alr=yes&ratebypass=yes&cpn=n3RXUliUlGxTFaub&c=WEB&cver=1.20170105&range=0-107287&rn=0&rbuf=0##url_hashcode: 2025493549##algorithm: undefined##range: 0-107287##begin_parameter: undefined##id_parameter: o-AAaSoCUge-jVfLS3eHjXsttBtPuuF2kAVZ9FVhbx5yB_##mime:  video/webm##itag: 243##timestamp_other_data: 1484053127748

To discuss access to the monitored log files and analysis scripts, please contact us:

Send e-mail to YoMoApp team

 

Screencasts - YoMoApp