+ return dict((p, get_exe_version(p, args=['-version'])) for p in programs)
+
+ @property
+ def _executable(self):
+ if self._downloader.params.get('prefer_ffmpeg', False):
+ prefs = ('ffmpeg', 'avconv')
+ else:
+ prefs = ('avconv', 'ffmpeg')
+ for p in prefs:
+ if self._versions[p]:
+ return p
+ return None
+
+ @property
+ def _probe_executable(self):
+ if self._downloader.params.get('prefer_ffmpeg', False):
+ prefs = ('ffprobe', 'avprobe')
+ else:
+ prefs = ('avprobe', 'ffprobe')
+ for p in prefs:
+ if self._versions[p]:
+ return p
+ return None
+
+ def _uses_avconv(self):
+ return self._executable == 'avconv'