|
|
@ -7,6 +7,7 @@ import time |
|
|
|
from .common import AudioConversionError, PostProcessor |
|
|
|
|
|
|
|
from ..utils import ( |
|
|
|
check_executable, |
|
|
|
compat_subprocess_get_DEVNULL, |
|
|
|
encodeFilename, |
|
|
|
PostProcessingError, |
|
|
@ -27,14 +28,8 @@ class FFmpegPostProcessor(PostProcessor): |
|
|
|
|
|
|
|
@staticmethod |
|
|
|
def detect_executables(): |
|
|
|
def executable(exe): |
|
|
|
try: |
|
|
|
subprocess.Popen([exe, '-version'], stdout=subprocess.PIPE, stderr=subprocess.PIPE).communicate() |
|
|
|
except OSError: |
|
|
|
return False |
|
|
|
return exe |
|
|
|
programs = ['avprobe', 'avconv', 'ffmpeg', 'ffprobe'] |
|
|
|
return dict((program, executable(program)) for program in programs) |
|
|
|
return dict((program, check_executable(program, ['-version'])) for program in programs) |
|
|
|
|
|
|
|
def run_ffmpeg_multiple_files(self, input_paths, out_path, opts): |
|
|
|
if not self._exes['ffmpeg'] and not self._exes['avconv']: |
|
|
|