Software Sec Asked:2022-08-04 21:10:27 +0000 UTC2022-08-04 21:10:27 +0000 UTC 2022-08-04 21:10:27 +0000 UTC 蟒蛇| 来自youtube视频的声音[关闭] 772 如何从 youtube 视频中删除声音 python mp3 1 个回答 Voted Best Answer DavidusCorvus 2022-08-04T21:32:23Z2022-08-04T21:32:23Z 使用 api 站点 mp4.to 文档和代码在同一个地方 ( https://mp4.to/api/#g-i18n-mp4_to_opus ) (来自网站的信息) import requests import time import shutil import json headers = {'Authorization': 'f134382194a844c8bb589af58ef283e9'} file_list = ['testfiles/blah.mp4', 'testfiles/blah.mp4', 'testfiles/blah.mp4'] params = { 'lang': 'en', 'convert_to': 'mp4-mp3' } api_url = 'https://api.mp4.to/v1/convert/' results_url = 'https://api.mp4.to/v1/results/' def download_file(url, local_filename): with requests.get("https://api.mp4.to/%s" % url, stream=True) as r: with open(local_filename, 'wb') as f: shutil.copyfileobj(r.raw, f) return local_filename def convert_files(api_url, params, headers): files = [eval(f'("files", open("{file}", "rb"))') for file in file_list] print(files) r = requests.post( url=api_url, files=files, data=params, headers=headers ) return r.json() def get_results(params): if params.get('error'): return params.get('error') r = requests.post( url=results_url, data=params ) data = r.json() finished = data.get('finished') while not finished: if int(data.get('queue_count')) > 0: print('queue: %s' % data.get('queue_count')) time.sleep(5) results = get_results(params) print(results) results = json.dumps(results) if results: break if finished: print(data.get('files')) for f in data.get('files'): print(f.get('url')) download_file("%s" % f.get('url'), "%s" % f.get('filename')) return {"finished": "files downloaded"} return r.json() get_results(convert_files(api_url, params, headers)) 将文件名列表写入 mp.4 代码将返回文件 /path/to/local/file_processed.mp3 在标题中,您需要将密钥替换为您的个人密钥。您可以在网站https://mp4.to/上获得它
使用 api 站点 mp4.to
文档和代码在同一个地方 ( https://mp4.to/api/#g-i18n-mp4_to_opus )
(来自网站的信息)
将文件名列表写入 mp.4
代码将返回文件 /path/to/local/file_processed.mp3
在标题中,您需要将密钥替换为您的个人密钥。您可以在网站https://mp4.to/上获得它