mirror of
https://github.com/yt-dlp/yt-dlp.git
synced 2024-11-27 18:41:29 +00:00
Prefer ffmpeg over avconv by default (closes #8622)
This commit is contained in:
parent
acbd0ff5df
commit
d4a24f4091
|
@ -305,8 +305,8 @@ class YoutubeDL(object):
|
||||||
http_chunk_size.
|
http_chunk_size.
|
||||||
|
|
||||||
The following options are used by the post processors:
|
The following options are used by the post processors:
|
||||||
prefer_ffmpeg: If True, use ffmpeg instead of avconv if both are available,
|
prefer_ffmpeg: If False, use avconv instead of ffmpeg if both are available,
|
||||||
otherwise prefer avconv.
|
otherwise prefer ffmpeg.
|
||||||
postprocessor_args: A list of additional command-line arguments for the
|
postprocessor_args: A list of additional command-line arguments for the
|
||||||
postprocessor.
|
postprocessor.
|
||||||
|
|
||||||
|
|
|
@ -841,11 +841,11 @@ def _comma_separated_values_options_callback(option, opt_str, value, parser):
|
||||||
postproc.add_option(
|
postproc.add_option(
|
||||||
'--prefer-avconv',
|
'--prefer-avconv',
|
||||||
action='store_false', dest='prefer_ffmpeg',
|
action='store_false', dest='prefer_ffmpeg',
|
||||||
help='Prefer avconv over ffmpeg for running the postprocessors (default)')
|
help='Prefer avconv over ffmpeg for running the postprocessors')
|
||||||
postproc.add_option(
|
postproc.add_option(
|
||||||
'--prefer-ffmpeg',
|
'--prefer-ffmpeg',
|
||||||
action='store_true', dest='prefer_ffmpeg',
|
action='store_true', dest='prefer_ffmpeg',
|
||||||
help='Prefer ffmpeg over avconv for running the postprocessors')
|
help='Prefer ffmpeg over avconv for running the postprocessors (default)')
|
||||||
postproc.add_option(
|
postproc.add_option(
|
||||||
'--ffmpeg-location', '--avconv-location', metavar='PATH',
|
'--ffmpeg-location', '--avconv-location', metavar='PATH',
|
||||||
dest='ffmpeg_location',
|
dest='ffmpeg_location',
|
||||||
|
|
|
@ -77,7 +77,7 @@ def get_versions(downloader=None):
|
||||||
|
|
||||||
def _determine_executables(self):
|
def _determine_executables(self):
|
||||||
programs = ['avprobe', 'avconv', 'ffmpeg', 'ffprobe']
|
programs = ['avprobe', 'avconv', 'ffmpeg', 'ffprobe']
|
||||||
prefer_ffmpeg = False
|
prefer_ffmpeg = True
|
||||||
|
|
||||||
self.basename = None
|
self.basename = None
|
||||||
self.probe_basename = None
|
self.probe_basename = None
|
||||||
|
@ -85,7 +85,7 @@ def _determine_executables(self):
|
||||||
self._paths = None
|
self._paths = None
|
||||||
self._versions = None
|
self._versions = None
|
||||||
if self._downloader:
|
if self._downloader:
|
||||||
prefer_ffmpeg = self._downloader.params.get('prefer_ffmpeg', False)
|
prefer_ffmpeg = self._downloader.params.get('prefer_ffmpeg', True)
|
||||||
location = self._downloader.params.get('ffmpeg_location')
|
location = self._downloader.params.get('ffmpeg_location')
|
||||||
if location is not None:
|
if location is not None:
|
||||||
if not os.path.exists(location):
|
if not os.path.exists(location):
|
||||||
|
@ -117,19 +117,19 @@ def _determine_executables(self):
|
||||||
(p, get_exe_version(p, args=['-version'])) for p in programs)
|
(p, get_exe_version(p, args=['-version'])) for p in programs)
|
||||||
self._paths = dict((p, p) for p in programs)
|
self._paths = dict((p, p) for p in programs)
|
||||||
|
|
||||||
if prefer_ffmpeg:
|
if prefer_ffmpeg is False:
|
||||||
prefs = ('ffmpeg', 'avconv')
|
|
||||||
else:
|
|
||||||
prefs = ('avconv', 'ffmpeg')
|
prefs = ('avconv', 'ffmpeg')
|
||||||
|
else:
|
||||||
|
prefs = ('ffmpeg', 'avconv')
|
||||||
for p in prefs:
|
for p in prefs:
|
||||||
if self._versions[p]:
|
if self._versions[p]:
|
||||||
self.basename = p
|
self.basename = p
|
||||||
break
|
break
|
||||||
|
|
||||||
if prefer_ffmpeg:
|
if prefer_ffmpeg is False:
|
||||||
prefs = ('ffprobe', 'avprobe')
|
|
||||||
else:
|
|
||||||
prefs = ('avprobe', 'ffprobe')
|
prefs = ('avprobe', 'ffprobe')
|
||||||
|
else:
|
||||||
|
prefs = ('ffprobe', 'avprobe')
|
||||||
for p in prefs:
|
for p in prefs:
|
||||||
if self._versions[p]:
|
if self._versions[p]:
|
||||||
self.probe_basename = p
|
self.probe_basename = p
|
||||||
|
|
Loading…
Reference in a new issue