Merge branch 'best-fallback-on-outdated-avconv' of https://github.com/dstftw/youtube-dl into dstftw-best-fallback-on-outdated-avconv
Conflicts: youtube_dl/YoutubeDL.py
This commit is contained in:
		
						commit
						98b8ec8616
					
				
					 2 changed files with 22 additions and 4 deletions
				
			
		| 
						 | 
				
			
			@ -1086,9 +1086,10 @@ class YoutubeDL(object):
 | 
			
		|||
        if req_format is None:
 | 
			
		||||
            req_format_list = []
 | 
			
		||||
            if (self.params.get('outtmpl', DEFAULT_OUTTMPL) != '-' and
 | 
			
		||||
                    info_dict['extractor'] in ['youtube', 'ted'] and
 | 
			
		||||
                    FFmpegMergerPP(self).available):
 | 
			
		||||
                req_format_list.append('bestvideo+bestaudio')
 | 
			
		||||
                    info_dict['extractor'] in ['youtube', 'ted']):
 | 
			
		||||
                merger = FFmpegMergerPP(self)
 | 
			
		||||
                if merger.available and merger.can_merge():
 | 
			
		||||
                    req_format_list.append('bestvideo+bestaudio')
 | 
			
		||||
            req_format_list.append('best')
 | 
			
		||||
            req_format = '/'.join(req_format_list)
 | 
			
		||||
        formats_to_download = []
 | 
			
		||||
| 
						 | 
				
			
			@ -1848,7 +1849,7 @@ class YoutubeDL(object):
 | 
			
		|||
            thumb_ext = determine_ext(t['url'], 'jpg')
 | 
			
		||||
            suffix = '_%s' % t['id'] if len(thumbnails) > 1 else ''
 | 
			
		||||
            thumb_display_id = '%s ' % t['id'] if len(thumbnails) > 1 else ''
 | 
			
		||||
            t['filename'] = thumb_filename = os.path.splitext(filename)[0] + suffix + '.' + thumb_ext
 | 
			
		||||
            thumb_filename = os.path.splitext(filename)[0] + suffix + '.' + thumb_ext
 | 
			
		||||
 | 
			
		||||
            if self.params.get('nooverwrites', False) and os.path.exists(encodeFilename(thumb_filename)):
 | 
			
		||||
                self.to_screen('[%s] %s: Thumbnail %sis already present' %
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -591,6 +591,23 @@ class FFmpegMergerPP(FFmpegPostProcessor):
 | 
			
		|||
        os.rename(encodeFilename(temp_filename), encodeFilename(filename))
 | 
			
		||||
        return info['__files_to_merge'], info
 | 
			
		||||
 | 
			
		||||
    def can_merge(self):
 | 
			
		||||
        # TODO: figure out merge-capable ffmpeg version
 | 
			
		||||
        if self.basename != 'avconv':
 | 
			
		||||
            return True
 | 
			
		||||
 | 
			
		||||
        required_version = '10-0'
 | 
			
		||||
        if is_outdated_version(
 | 
			
		||||
                self._versions[self.basename], required_version):
 | 
			
		||||
            warning = ('Your copy of %s is outdated and unable to properly mux separate video and audio files, '
 | 
			
		||||
                       'youtube-dl will download single file media. '
 | 
			
		||||
                       'Update %s to version %s or newer to fix this.') % (
 | 
			
		||||
                           self.basename, self.basename, required_version)
 | 
			
		||||
            if self._downloader:
 | 
			
		||||
                self._downloader.report_warning(warning)
 | 
			
		||||
            return False
 | 
			
		||||
        return True
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class FFmpegFixupStretchedPP(FFmpegPostProcessor):
 | 
			
		||||
    def run(self, info):
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue