[hls] Fix encode issues on python2 @ Windows

This commit is contained in:
Sergey M․ 2015-02-01 23:49:23 +06:00
parent c6df692466
commit 027008b14e

View File

@ -11,6 +11,7 @@ from ..compat import (
compat_urllib_request, compat_urllib_request,
) )
from ..utils import ( from ..utils import (
encodeArgument,
encodeFilename, encodeFilename,
) )
@ -21,18 +22,17 @@ class HlsFD(FileDownloader):
self.report_destination(filename) self.report_destination(filename)
tmpfilename = self.temp_name(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) ffpp = FFmpegPostProcessor(downloader=self)
program = ffpp._executable program = ffpp._executable
if program is None: if program is None:
self.report_error('m3u8 download detected but ffmpeg or avconv could not be found. Please install one.') self.report_error('m3u8 download detected but ffmpeg or avconv could not be found. Please install one.')
return False return False
ffpp.check_version() 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) retval = subprocess.call(cmd)
if retval == 0: if retval == 0: