def __init__(self, browser_backend, platform_backend, output_path, state): super(AndroidScreenRecordingProfiler, self).__init__(browser_backend, platform_backend, output_path, state) self._output_path = output_path + '.mp4' self._recorder = screenshot.VideoRecorder( browser_backend.device, megabits_per_second=_VIDEO_MEGABITS_PER_SECOND) self._recorder.Start()
def StartVideoCapture(self, min_bitrate_mbps): """Starts the video capture at specified bitrate.""" min_bitrate_mbps = max(min_bitrate_mbps, 0.1) if min_bitrate_mbps > 100: raise ValueError('Android video capture cannot capture at %dmbps. ' 'Max capture rate is 100mbps.' % min_bitrate_mbps) if self.is_video_capture_running: self._video_recorder.Stop() self._video_recorder = screenshot.VideoRecorder( self._device, megabits_per_second=min_bitrate_mbps) self._video_recorder.Start() util.WaitFor(self._video_recorder.IsStarted, 5)
def StartVideoCapture(self, min_bitrate_mbps): min_bitrate_mbps = max(min_bitrate_mbps, 0.1) if min_bitrate_mbps > 100: raise ValueError('Android video capture cannot capture at %dmbps. ' 'Max capture rate is 100mbps.' % min_bitrate_mbps) self._video_output = tempfile.mkstemp()[1] if self.is_video_capture_running: self._video_recorder.Stop() self._video_recorder = screenshot.VideoRecorder( self._adb, self._video_output, megabits_per_second=min_bitrate_mbps) self._video_recorder.Start() util.WaitFor(self._video_recorder.IsStarted, 5)
def _CaptureVideo(device, host_file, options): size = tuple(map(int, options.size.split('x'))) if options.size else None recorder = screenshot.VideoRecorder(device, megabits_per_second=options.bitrate, size=size, rotate=options.rotate) try: recorder.Start() _PrintMessage('Recording. Press Enter to stop...', eol='') raw_input() finally: recorder.Stop() host_file = recorder.Pull(host_file) _PrintMessage('Video written to %s' % os.path.abspath(host_file))