Merge pull request 'Python conversion' (#2) from issue#1 into master

Reviewed-on: #2
This commit is contained in:
20xd6 2023-09-13 18:58:01 -04:00
commit ec7e2036fb
6 changed files with 59 additions and 2 deletions

9
.gitignore vendored
View File

@ -1,3 +1,5 @@
*.mp3
*.webp
# ---> Linux
*~
@ -143,6 +145,13 @@ venv/
ENV/
env.bak/
venv.bak/
bin/
include/
lib/
lib64/
share/
pyvenv.*
lib64
# Spyder project settings
.spyderproject

30
download.py Normal file
View File

@ -0,0 +1,30 @@
import yt_dlp as yt
def get(yt_url):
ytdl_options = {
'continuedl': True,
'ignoreerrors': True,
'outtmpl': '%(title)s.%(ext)s',
'no_warning': True,
'progress_hooks': [dl_progress],
#'quiet': True,
'writethumbnail': True,
'embed_metadata': True,
'format': 'any/bestaudio/best',
# See help(yt_dlp.postprocessor) for a list of available Postprocessors and their arguments
'postprocessors': [{ # Extract audio using ffmpeg
'key': 'FFmpegMetadata'
},{
'key': 'FFmpegExtractAudio',
'preferredcodec': 'mp3',
}]
}
with yt.YoutubeDL(ytdl_options) as ytdl:
ytdl.download(yt_url)
def dl_progress(d):
if (d['status'] == 'finished'):
print("\nDownload completed.")

1
requierments.txt Normal file
View File

@ -0,0 +1 @@
yt-dlp

1
yt2mp3 Symbolic link
View File

@ -0,0 +1 @@
yt2mp3.py

18
yt2mp3.py Executable file
View File

@ -0,0 +1,18 @@
#!/usr/bin/env python3
import argparse
import download
script_version = "0.2"
help_epilog = ("This script is very dependent on yt-dlp.\n"+
"If it's not working properly try updating yt-dlp.")
cmd_option_set = argparse.ArgumentParser(description='Backup YouTube channels.', epilog=help_epilog)
cmd_option_set.add_argument('--version', '-v', dest='print_version', action='store_true', help='Print the current version number.')
cmd_option_set.add_argument(dest='url_to_convert', help="The URL of the YouTube video you're converting to a local mp3.")
cmd_options = cmd_option_set.parse_args()
if (cmd_options.print_version):
print("Version: " + script_version)
else:
download.get(cmd_options.url_to_convert)

View File

@ -1,2 +0,0 @@
url=$1
yt-dlp -ci --extract-audio --audio-format mp3 -o '%(title)s.' --add-metadata $url