|
@@ -9,10 +9,22 @@ from config import set_config
|
|
|
from log import Log
|
|
|
import ODPSQueryUtil
|
|
|
from ReadXlsxFile import getVideoInfoInXlxs
|
|
|
+import requests
|
|
|
config_ = set_config()
|
|
|
log_ = Log()
|
|
|
features = ['videoid', 'title', 'video_path']
|
|
|
|
|
|
+cdn_domain = 'http://rescdn.yishihui.com/'
|
|
|
+
|
|
|
+
|
|
|
+def download_file(url, local_path):
|
|
|
+ response = requests.get(url)
|
|
|
+ if response.status_code == 200:
|
|
|
+ with open(local_path, 'wb') as f:
|
|
|
+ f.write(response.content)
|
|
|
+ else:
|
|
|
+ print(f"Failed to download {url}")
|
|
|
+
|
|
|
|
|
|
def download_video_from_oss(video_id, video_path, download_folder):
|
|
|
"""从oss下载视频"""
|
|
@@ -26,17 +38,10 @@ def download_video_from_oss(video_id, video_path, download_folder):
|
|
|
os.makedirs(video_local_dir)
|
|
|
video_filename = video_path.split('/')[-1]
|
|
|
video_local_path = os.path.join(video_local_dir, video_filename)
|
|
|
-
|
|
|
-
|
|
|
- auth = oss2.Auth(access_key_id=config_.OSS_CONFIG['accessKeyId'],
|
|
|
- access_key_secret=config_.OSS_CONFIG['accessKeySecret'])
|
|
|
-
|
|
|
- bucket = oss2.Bucket(
|
|
|
- auth, endpoint=config_.OSS_CONFIG['endpoint'], bucket_name='art-pubbucket')
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- bucket.get_object_to_file(video_path, video_local_path)
|
|
|
+
|
|
|
+
|
|
|
+ video_url = cdn_domain + video_path
|
|
|
+ download_file(video_url, video_local_path)
|
|
|
|
|
|
|
|
|
if video_filename.split('.')[-1] == 'm3u8':
|
|
@@ -47,9 +52,9 @@ def download_video_from_oss(video_id, video_path, download_folder):
|
|
|
line = line.strip()
|
|
|
print(line)
|
|
|
if line[-3:] == '.ts':
|
|
|
- ts_path = os.path.join(root_path, line)
|
|
|
+ ts_url = cdn_domain + os.path.join(root_path, line)
|
|
|
ts_local_path = os.path.join(video_local_dir, line)
|
|
|
- bucket.get_object_to_file(ts_path, ts_local_path)
|
|
|
+ download_file(ts_url, ts_local_path)
|
|
|
print(f"{video_id} download end!")
|
|
|
except:
|
|
|
print(f"{video_id} download fail!")
|