|
|
|
@ -11,6 +11,7 @@ from ..compat import (
|
|
|
|
|
compat_urllib_request,
|
|
|
|
|
)
|
|
|
|
|
from ..utils import (
|
|
|
|
|
encodeArgument,
|
|
|
|
|
encodeFilename,
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
@ -21,18 +22,17 @@ class HlsFD(FileDownloader):
|
|
|
|
|
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)]
|
|
|
|
|
|
|
|
|
|
ffpp = FFmpegPostProcessor(downloader=self)
|
|
|
|
|
program = ffpp._executable
|
|
|
|
|
if program is None:
|
|
|
|
|
self.report_error('m3u8 download detected but ffmpeg or avconv could not be found. Please install one.')
|
|
|
|
|
return False
|
|
|
|
|
ffpp.check_version()
|
|
|
|
|
cmd = [program] + args
|
|
|
|
|
|
|
|
|
|
args = [encodeArgument(opt) for opt in ('-y', '-i', url, '-f', 'mp4', '-c', 'copy', '-bsf:a', 'aac_adtstoasc')]
|
|
|
|
|
args.append(encodeFilename(tmpfilename, True))
|
|
|
|
|
|
|
|
|
|
cmd = [encodeArgument(program)] + args
|
|
|
|
|
|
|
|
|
|
retval = subprocess.call(cmd)
|
|
|
|
|
if retval == 0:
|
|
|
|
|