diff --git a/src/you_get/common.py b/src/you_get/common.py index e3000854..b73e9a4c 100755 --- a/src/you_get/common.py +++ b/src/you_get/common.py @@ -134,7 +134,6 @@ force = False player = None extractor_proxy = None cookies = None -output_filename = None auto_rename = False fake_headers = { @@ -838,9 +837,8 @@ class DummyProgressBar: pass -def get_output_filename(urls, title, ext, output_dir, merge): +def get_output_filename(urls, title, ext, output_dir, merge, output_filename=None): # lame hack for the --output-filename option - global output_filename if output_filename: if ext: return output_filename + '.' + ext @@ -897,7 +895,7 @@ def download_urls( pass title = tr(get_filename(title)) - output_filename = get_output_filename(urls, title, ext, output_dir, merge) + output_filename = get_output_filename(urls, title, ext, output_dir, merge, **kwargs) output_filepath = os.path.join(output_dir, output_filename) if total_size: @@ -1029,7 +1027,7 @@ def download_rtmp_url( def download_url_ffmpeg( url, title, ext, params={}, total_size=0, output_dir='.', refer=None, - merge=True, faker=False, stream=True + merge=True, faker=False, stream=True, output_filename=None ): assert url if dry_run: @@ -1046,7 +1044,7 @@ def download_url_ffmpeg( from .processor.ffmpeg import has_ffmpeg_installed, ffmpeg_download_stream assert has_ffmpeg_installed(), 'FFmpeg not installed.' - global output_filename + # global output_filename if output_filename: dotPos = output_filename.rfind('.') if dotPos > 0: @@ -1435,7 +1433,6 @@ def script_main(download, download_playlist, **kwargs): global json_output global player global extractor_proxy - global output_filename global auto_rename output_filename = args.output_filename @@ -1497,6 +1494,8 @@ def script_main(download, download_playlist, **kwargs): extra['extractor_proxy'] = extractor_proxy if stream_id: extra['stream_id'] = stream_id + if output_filename: + extra['output_filename'] = output_filename download_main( download, download_playlist, URLs, args.playlist, diff --git a/src/you_get/extractor.py b/src/you_get/extractor.py old mode 100644 new mode 100755 index 4c9ccaa5..e916b1d1 --- a/src/you_get/extractor.py +++ b/src/you_get/extractor.py @@ -225,7 +225,8 @@ class VideoExtractor(): download_urls(urls, self.title, ext, total_size, headers=headers, output_dir=kwargs['output_dir'], merge=kwargs['merge'], - av=stream_id in self.dash_streams) + av=stream_id in self.dash_streams, + output_filename=kwargs.get('output_filename')) if 'caption' not in kwargs or not kwargs['caption']: print('Skipping captions or danmuku.') return diff --git a/src/you_get/extractors/douyutv.py b/src/you_get/extractors/douyutv.py old mode 100644 new mode 100755 index 72a41a0a..833c9b62 --- a/src/you_get/extractors/douyutv.py +++ b/src/you_get/extractors/douyutv.py @@ -74,7 +74,7 @@ def douyutv_download(url, output_dir='.', merge=True, info_only=False, **kwargs) print_info(site_info, title, 'flv', float('inf')) if not info_only: - download_url_ffmpeg(real_url, title, 'flv', params={}, output_dir=output_dir, merge=merge) + download_url_ffmpeg(real_url, title, 'flv', params={}, output_dir=output_dir, merge=merge, **kwargs) site_info = "douyu.com" diff --git a/src/you_get/extractors/huomaotv.py b/src/you_get/extractors/huomaotv.py old mode 100644 new mode 100755 index 6e98c800..50424983 --- a/src/you_get/extractors/huomaotv.py +++ b/src/you_get/extractors/huomaotv.py @@ -28,7 +28,7 @@ def huomaotv_download(url, output_dir='.', merge=True, info_only=False, **kwargs print_info(site_info, title, 'm3u8', float('inf')) if not info_only: - download_url_ffmpeg(m3u8_url, title, 'm3u8', None, output_dir=output_dir, merge=merge) + download_url_ffmpeg(m3u8_url, title, 'm3u8', None, output_dir=output_dir, merge=merge, **kwargs) site_info = 'huomao.com' diff --git a/src/you_get/extractors/iqiyi.py b/src/you_get/extractors/iqiyi.py old mode 100644 new mode 100755 index 8e93959a..ce9c5420 --- a/src/you_get/extractors/iqiyi.py +++ b/src/you_get/extractors/iqiyi.py @@ -206,7 +206,7 @@ class Iqiyi(VideoExtractor): # For legacy main() #Here's the change!! - download_url_ffmpeg(urls[0], self.title, 'mp4', output_dir=kwargs['output_dir'], merge=kwargs['merge'], stream=False) + download_url_ffmpeg(urls[0], self.title, 'mp4', output_dir=kwargs['output_dir'], merge=kwargs['merge'], stream=False, **kwargs) if not kwargs['caption']: print('Skipping captions.') diff --git a/src/you_get/extractors/showroom.py b/src/you_get/extractors/showroom.py old mode 100644 new mode 100755 index 606dc806..70d6eb15 --- a/src/you_get/extractors/showroom.py +++ b/src/you_get/extractors/showroom.py @@ -53,7 +53,7 @@ def showroom_download_by_room_id(room_id, output_dir = '.', merge = False, info_ type_, ext, size = url_info(stream_url) print_info(site_info, title, type_, size) if not info_only: - download_url_ffmpeg(url=stream_url, title=title, ext= 'mp4', output_dir=output_dir) + download_url_ffmpeg(url=stream_url, title=title, ext= 'mp4', output_dir=output_dir, **kwargs) #---------------------------------------------------------------------- diff --git a/src/you_get/extractors/universal.py b/src/you_get/extractors/universal.py old mode 100644 new mode 100755 index 6a1c2d30..4883d911 --- a/src/you_get/extractors/universal.py +++ b/src/you_get/extractors/universal.py @@ -52,7 +52,7 @@ def universal_download(url, output_dir='.', merge=True, info_only=False, **kwarg print_info(site_info, page_title, type_, size) if not info_only: download_url_ffmpeg(url=hls_url, title=page_title, - ext='mp4', output_dir=output_dir) + ext='mp4', output_dir=output_dir, **kwargs) return # most common media file extensions on the Internet diff --git a/src/you_get/extractors/youtube.py b/src/you_get/extractors/youtube.py old mode 100644 new mode 100755 index 33dc470e..59f86835 --- a/src/you_get/extractors/youtube.py +++ b/src/you_get/extractors/youtube.py @@ -205,7 +205,7 @@ class YouTube(VideoExtractor): if 'info_only' in kwargs and kwargs['info_only']: return else: - download_url_ffmpeg(hlsvp, self.title, 'mp4') + download_url_ffmpeg(hlsvp, self.title, 'mp4', **kwargs) exit(0) for stream in stream_list: diff --git a/src/you_get/extractors/zhanqi.py b/src/you_get/extractors/zhanqi.py old mode 100644 new mode 100755 index 8daf3413..f299684d --- a/src/you_get/extractors/zhanqi.py +++ b/src/you_get/extractors/zhanqi.py @@ -33,7 +33,7 @@ def zhanqi_live(room_id, merge=True, output_dir='.', info_only=False, **kwargs): print_info(site_info, title, 'm3u8', 0, m3u8_url=m3u8_url, m3u8_type='master') if not info_only: - download_url_ffmpeg(m3u8_url, title, 'mp4', output_dir=output_dir, merge=merge) + download_url_ffmpeg(m3u8_url, title, 'mp4', output_dir=output_dir, merge=merge, **kwargs) def zhanqi_video(video_id, output_dir='.', info_only=False, merge=True, **kwargs): api_url = 'https://www.zhanqi.tv/api/static/v2.1/video/{}.json'.format(video_id)