Mp3 в base64 в pythonPython

Программы на Python
Ответить
Anonymous
 Mp3 в base64 в python

Сообщение Anonymous »

У меня есть этот код Python:
def download_song_as_base64(song_name):
try:
# Create a temporary directory for the downloaded and converted files
temp_dir = "./temp"
os.makedirs(temp_dir, exist_ok=True)

# Define file paths
output_path = os.path.join(temp_dir, "%(title)s.%(ext)s")
mp3_file = os.path.join(temp_dir, "song.mp3")

# Download the video from YouTube
ydl_opts = {
'format': 'bestaudio/best',
'outtmpl': output_path,
'postprocessors': [{
'key': 'FFmpegExtractAudio',
'preferredcodec': 'mp3',
'preferredquality': '192',
}],
}

with YoutubeDL(ydl_opts) as ydl:
info = ydl.extract_info(f"ytsearch:{song_name}", download=True)

# Get the downloaded MP3 file name
downloaded_file = ydl.prepare_filename(info['entries'][0]).replace(".webm", ".mp3").replace(".m4a", ".mp3")
if not os.path.isfile(downloaded_file):
raise FileNotFoundError(f"The file {downloaded_file} was not found.")
# Encode the MP3 file in Base64
with open(downloaded_file, 'rb') as audio_file:
audio_data = audio_file.read()
base64_audio = "data:audio/mpeg;base64," + base64.b64encode(audio_data).decode('utf-8')
print(base64_audio)

# Clean up temporary files
for file in os.listdir(temp_dir):
os.remove(os.path.join(temp_dir, file))
os.rmdir(temp_dir)

return base64_audio
except Exception as e:
print(f"Error downloading or converting song: {e}")
return None
< /code>
Но независимо от того, какой файл я загружаю, кодирование на Base64 выходит плохо. Второе из самой песни и останавливается. < /p>
Кто знает, где здесь вина? > И это не просто в одном файле, это просто неверно создает кодирование BASE64. < /P>
Где проблема здесь? Надлежащий Base64 будет создан для моего mp3 -файла.

Подробнее здесь: https://stackoverflow.com/questions/793 ... -in-python
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»