Skip to contents


This R package provides a Shiny app for scouting volleyball data files. At this stage it is entirely experimental. Beware!


  • scouting is always done from video, even when scouting a live match (though this is probably not actually possible yet). The hope is that we can make the user interface fast enough to be “nearly real time” - while the scout might lag behind the real action at times, they can catch up at the ends of rallies or other breaks in play
  • by registering the corners of the court before scouting, we can map the court image to real-world court space. Clicking a location on the video can then be converted to its corresponding court coordinates. With a touch-screen device, this click interface can be reasonably fast
  • the scouting process avoids unnecessarily asking for information (e.g. information that can be inferred by other means, such as the player next to serve), and tries to pre-fill as much information as it can at each data entry step. It will learn a team’s patterns of play, so that it can suggest the most likely player to have attacked, passed or dug a certain ball

This software is intended for scouts who do not have access to professional scouting software or who aren’t proficient with the keyboard interface that they typically use. ovscout2 is an alternative to the many available tablet- and phone-based scouting apps that also use a click interface, but ovscout2 provides more complete match data that is fully dvw compatible, and yet (we hope) remains easy to use. It is unlikely to replace professional scouting software used by scouts who can already capture match data in real time.


  • a guided scouting interface that is easy to learn and ensures consistent data collection
  • the interface can be tailored for simple or advanced scouting, with more details in the latter
  • all contacts are recorded with precise locations (coordinates) as well as zones and subzones
  • experimental support for dual match video cameras (one from either end of the court)

After you’ve scouted your match video, the data can be analyzed with the openvolley suite of R packages, or with any other volleyball analytics software that takes dvw files as inputs.


If you are not an R user, see the user manual for standalone installers.


install.packages("ovscout2", repos = c("",

## or

## install.packages("remotes") ## if needed

Two other system utilities are recommended but not required:

  1. pandoc is required for generating match reports. If not present, the report generation menu won’t be shown. If you are using RStudio, you do not need to install pandoc because RStudio comes bundled with its own copy. Otherwise install following

  2. lighttpd is a lightweight web server that is used to play the match video (when using a local video file). Install (from within R, on Windows only) using ovscout2::ov_install_lighttpd() or manually from (for Windows) or via your package manager for other operating systems (see If lighttpd is not installed, the app falls back to servr but this is a little slower and less responsive than lighttpd.


To try it on a short match video clip:


To use with your own data:

ov_scouter(video_file = "/path/to/video.mp4", season_dir = "/path/to/existing/files")

If you don’t provide the video file path, it will pop up a file navigator for you to select one. The season directory (a directory containing existing .dvw or .ovs files) can also optionally be provided. If a new match is being scouted, the teams can be selected from those in the season directory. You can also provide it with a partially-scouted .dvw or .ovs file, to continue scouting where you left off.

See help("ov_scouter") for more options, or the user manual.