When I say youtube-dl I literally mean youtube-dl. It packages the python interpreter as a jni extnesion and builds a sort of rpc interface on top of it to talk to youtube-dl.
As a user you don't need to think about python, though, all you have to do is call PyBridige.resolveUrl.
This lets you get all the information you need to be able to play videos from a huge list of websites without having to maintain your own scrapers.