mirror of
https://github.com/ytdl-org/youtube-dl
synced 2025-07-25 04:44:14 +09:00
Merge 9aa66caa5b4be3ed91b9a75b8ad1ca2b2306fc29 into 66ab0814c4baa2dc79c2dd5287bc0ad61a37c5b9
This commit is contained in:
commit
987e67232e
@ -468,7 +468,7 @@ class FFmpegFD(ExternalFD):
|
|||||||
args += ['-f', 'mpegts']
|
args += ['-f', 'mpegts']
|
||||||
else:
|
else:
|
||||||
args += ['-f', 'mp4']
|
args += ['-f', 'mp4']
|
||||||
if (ffpp.basename == 'ffmpeg' and is_outdated_version(ffpp._versions['ffmpeg'], '3.2', False)) and (not info_dict.get('acodec') or info_dict['acodec'].split('.')[0] in ('aac', 'mp4a')):
|
if (ffpp.basename == 'ffmpeg' and is_outdated_version(ffpp._lavf_version.get('runtime'), '57.56.100', False)) and (not info_dict.get('acodec') or info_dict['acodec'].split('.')[0] in ('aac', 'mp4a')):
|
||||||
args += ['-bsf:a', 'aac_adtstoasc']
|
args += ['-bsf:a', 'aac_adtstoasc']
|
||||||
elif protocol == 'rtmp':
|
elif protocol == 'rtmp':
|
||||||
args += ['-f', 'flv']
|
args += ['-f', 'flv']
|
||||||
|
@ -78,7 +78,22 @@ class FFmpegPostProcessor(PostProcessor):
|
|||||||
prefer_ffmpeg = True
|
prefer_ffmpeg = True
|
||||||
|
|
||||||
def get_ffmpeg_version(path):
|
def get_ffmpeg_version(path):
|
||||||
ver = get_exe_version(path, args=['-version'])
|
if os.path.basename(path) == 'ffmpeg':
|
||||||
|
# get ffmpeg and libavformat runtime versions
|
||||||
|
vers = get_exe_version(
|
||||||
|
path, args=['-version'],
|
||||||
|
version_re=r'(?s)version\s+([-0-9._a-zA-Z]+)(?:.*?libavformat\s+([0-9. ]+)\s+/\s+([0-9. ]+))?')
|
||||||
|
if isinstance(vers, (list, tuple)):
|
||||||
|
ver = vers[0]
|
||||||
|
if len(vers) > 2 and vers[1] and vers[2]:
|
||||||
|
self._lavf_version = {
|
||||||
|
'build': vers[1].replace(' ', ''),
|
||||||
|
'runtime': vers[2].replace(' ', '')
|
||||||
|
}
|
||||||
|
else:
|
||||||
|
ver = vers
|
||||||
|
else:
|
||||||
|
ver = get_exe_version(path, args=['-version'])
|
||||||
if ver:
|
if ver:
|
||||||
regexs = [
|
regexs = [
|
||||||
r'(?:\d+:)?([0-9.]+)-[0-9]+ubuntu[0-9.]+$', # Ubuntu, see [1]
|
r'(?:\d+:)?([0-9.]+)-[0-9]+ubuntu[0-9.]+$', # Ubuntu, see [1]
|
||||||
@ -96,6 +111,7 @@ class FFmpegPostProcessor(PostProcessor):
|
|||||||
|
|
||||||
self._paths = None
|
self._paths = None
|
||||||
self._versions = None
|
self._versions = None
|
||||||
|
self._lavf_version = {}
|
||||||
if self._downloader:
|
if self._downloader:
|
||||||
prefer_ffmpeg = self._downloader.params.get('prefer_ffmpeg', True)
|
prefer_ffmpeg = self._downloader.params.get('prefer_ffmpeg', True)
|
||||||
location = self._downloader.params.get('ffmpeg_location')
|
location = self._downloader.params.get('ffmpeg_location')
|
||||||
|
@ -3993,7 +3993,10 @@ def detect_exe_version(output, version_re=None, unrecognized='present'):
|
|||||||
version_re = r'version\s+([-0-9._a-zA-Z]+)'
|
version_re = r'version\s+([-0-9._a-zA-Z]+)'
|
||||||
m = re.search(version_re, output)
|
m = re.search(version_re, output)
|
||||||
if m:
|
if m:
|
||||||
return m.group(1)
|
if len(m.groups()) == 1:
|
||||||
|
return m.group(1)
|
||||||
|
else:
|
||||||
|
return m.groups()
|
||||||
else:
|
else:
|
||||||
return unrecognized
|
return unrecognized
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user