mirror of
https://github.com/yt-dlp/yt-dlp.git
synced 2024-11-23 09:01:43 +00:00
Catch possible exceptions when running ffprobe
This commit is contained in:
parent
1bd9258272
commit
da273188f3
@ -2619,11 +2619,14 @@ class FFmpegExtractAudioPP(PostProcessor):
|
||||
|
||||
@staticmethod
|
||||
def get_audio_codec(path):
|
||||
try:
|
||||
handle = subprocess.Popen(['ffprobe', '-show_streams', path],
|
||||
stderr=file(os.path.devnull, 'w'), stdout=subprocess.PIPE)
|
||||
output = handle.communicate()[0]
|
||||
if handle.wait() != 0:
|
||||
return None
|
||||
except (IOError, OSError):
|
||||
return None
|
||||
audio_codec = None
|
||||
for line in output.split('\n'):
|
||||
if line.startswith('codec_name='):
|
||||
@ -2646,7 +2649,7 @@ class FFmpegExtractAudioPP(PostProcessor):
|
||||
|
||||
filecodec = self.get_audio_codec(path)
|
||||
if filecodec is None:
|
||||
self._downloader.to_stderr(u'WARNING: no audio codec found in file')
|
||||
self._downloader.to_stderr(u'WARNING: unable to obtain file audio codec with ffprobe')
|
||||
return None
|
||||
|
||||
more_opts = []
|
||||
|
Loading…
Reference in New Issue
Block a user