compat_str
try_rename
Otherwise on python 2.x we get `UnicodeDecodeError` because it may contain non ascii characters.
A suitable downloader can be found using the 'get_suitable_downloader' function. Each subclass implements 'real_download', for downloading an info dict you call the 'download' method, which first checks if the video has already been downloaded