projects
/
youtube-dl
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[YoutubeDL] Filter requested info fields on `--load-info` as well
[youtube-dl]
/
youtube_dl
/
downloader
/
hls.py
diff --git
a/youtube_dl/downloader/hls.py
b/youtube_dl/downloader/hls.py
index 5bb0f3cfd19632f126d4f7d7b0df407b608778fc..8be4f424907e55adfac91af5eb587b62b54b8487 100644
(file)
--- a/
youtube_dl/downloader/hls.py
+++ b/
youtube_dl/downloader/hls.py
@@
-11,7
+11,7
@@
from ..compat import (
compat_urllib_request,
)
from ..utils import (
compat_urllib_request,
)
from ..utils import (
-
check_executable
,
+
encodeArgument
,
encodeFilename,
)
encodeFilename,
)
@@
-22,26
+22,21
@@
class HlsFD(FileDownloader):
self.report_destination(filename)
tmpfilename = self.temp_name(filename)
self.report_destination(filename)
tmpfilename = self.temp_name(filename)
- args = [
- '-y', '-i', url, '-f', 'mp4', '-c', 'copy',
- '-bsf:a', 'aac_adtstoasc',
- encodeFilename(tmpfilename, for_subprocess=True)]
-
- for program in ['avconv', 'ffmpeg']:
- if check_executable(program, ['-version']):
- break
- else:
+ ffpp = FFmpegPostProcessor(downloader=self)
+ if not ffpp.available:
self.report_error('m3u8 download detected but ffmpeg or avconv could not be found. Please install one.')
return False
self.report_error('m3u8 download detected but ffmpeg or avconv could not be found. Please install one.')
return False
- cmd = [program] + args
-
- ffpp = FFmpegPostProcessor(downloader=self)
ffpp.check_version()
ffpp.check_version()
- retval = subprocess.call(cmd)
+ args = [
+ encodeArgument(opt)
+ for opt in (ffpp.executable, '-y', '-i', url, '-f', 'mp4', '-c', 'copy', '-bsf:a', 'aac_adtstoasc')]
+ args.append(encodeFilename(tmpfilename, True))
+
+ retval = subprocess.call(args)
if retval == 0:
fsize = os.path.getsize(encodeFilename(tmpfilename))
if retval == 0:
fsize = os.path.getsize(encodeFilename(tmpfilename))
- self.to_screen('\r[%s] %s bytes' % (
cmd
[0], fsize))
+ self.to_screen('\r[%s] %s bytes' % (
args
[0], fsize))
self.try_rename(tmpfilename, filename)
self._hook_progress({
'downloaded_bytes': fsize,
self.try_rename(tmpfilename, filename)
self._hook_progress({
'downloaded_bytes': fsize,
@@
-52,7
+47,7
@@
class HlsFD(FileDownloader):
return True
else:
self.to_stderr('\n')
return True
else:
self.to_stderr('\n')
- self.report_error('%s exited with code %d' % (
program
, retval))
+ self.report_error('%s exited with code %d' % (
ffpp.basename
, retval))
return False
return False