Use both on-page markup and video sitemaps. A common scenario is to use on-page markup for all of your videos and a video sitemap to tell Google about any new, time-sensitive, or hard to find videos.
Afaik, the video sitemap is more widely supported among search engine providers, e.g. Bing seems to just start supporting JSON-LD.
Is there any reason that speaks for using video markups in addition to video sitemaps?