[Review, Do not merge] Refactor "startVideo"

"startVideo" is now split into "getVideoUrl", "getSubtitle" and "startVideo" to make this section of the code more readable.
Furthermore, "getVideoUrl" now passes along an error message if no stream is found so that we can give the user better error information.