RoboTutorLLC / RoboTutor_2019

Main code for RoboTutor. Uploaded 11/20/2018 to XPRIZE from RoboTutorLLC/RoboTutor.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

3.0.0.1 programmatically control screen recording

JackMostow opened this issue · comments

On Tue, Jan 22, 2019 Amogh Gupta amogh112@gmail.com wrote:

What are the pros and cons of programmatically making an apk or integrating in RoboTutor a screen recorder?
It can be done using MediaProjectionAPI. The configuration and naming can be controlled with a configuration file. I found this answer useful.

Pros:

  • Only needs changes in the configuration file which can be provided within/outside apk
  • Can launch and close programmatically with FaceLogin or RoboTutor, no need to start and configure AZScreenRecorder beforehand or press stop button
  • Gives us control over recording data for particular activity to save space. eg- if we need data from reading activity, or if a particular frame rate suffices
  • Based on activity, we can set an area of the screen that we are interested in. eg- For writing activities, just capturing the writing area can save space.
  • We only use a subset of features of AZ Screen Recorder anyways

Cons

  • Robustness. What amount of testing is required?

On Tue, Jan 22, 2019 Jack Mostow mostow@cs.cmu.edu wrote:
Amogh – Relevant pointer and question!

  1.   I prefer separating the screen recorder from RoboTutor itself as more modular, but is it feasible?
    

    a. It can’t include audio input because it would disable ASR. We’ll need RoboTutor to record audio for the entire session and/or for each utterance given to the ASR.
    b. Will a separate screen recorder work if the screen image includes camera input?
    c. As you pointed out, confining screen recording to activity-specific screen areas – or time intervals – would save memory, but would require integration of screen recording into RoboTutor.
    d. Making the screen recorder a separate apk would keep its crash or hangs from stopping RoboTutor, thereby reducing the amount of testing required.

  2.   Some requirements for screen recording:
    

    a. I’d prefer it to be activated automatically, so as to reduce labor for on-site personnel.
    b. I’d prefer that it not require explicit user permission each time, but it might, due to privacy safeguards built into Android OS or particular APIs.
    c. We need programmatic configuration, launch, and termination as you described.
    d. The configuration file should be identical on all tablets, but the file name of the screen recording should include the tablet ID, which it doesn’t in AZ Screen Recorder.
    e. Screen recording can’t require running in the development environment.
    f. Screen recording can’t require running using adb over a wire from a PC.
    g. Screen recording needs to avoid eating up memory, so it should probably be per RoboTutor session (or FaceLogin), and it must terminate on crash. Would that require integrating it into RoboTutor (and FaceLogin) rather than running as a separate apk?