Merge pull request 'Python conversion' (#2) from issue#1 into master
Reviewed-on: #2
This commit is contained in:
commit
ec7e2036fb
9
.gitignore
vendored
9
.gitignore
vendored
@ -1,3 +1,5 @@
|
|||||||
|
*.mp3
|
||||||
|
*.webp
|
||||||
# ---> Linux
|
# ---> Linux
|
||||||
*~
|
*~
|
||||||
|
|
||||||
@ -143,6 +145,13 @@ venv/
|
|||||||
ENV/
|
ENV/
|
||||||
env.bak/
|
env.bak/
|
||||||
venv.bak/
|
venv.bak/
|
||||||
|
bin/
|
||||||
|
include/
|
||||||
|
lib/
|
||||||
|
lib64/
|
||||||
|
share/
|
||||||
|
pyvenv.*
|
||||||
|
lib64
|
||||||
|
|
||||||
# Spyder project settings
|
# Spyder project settings
|
||||||
.spyderproject
|
.spyderproject
|
||||||
|
30
download.py
Normal file
30
download.py
Normal 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
1
requierments.txt
Normal file
@ -0,0 +1 @@
|
|||||||
|
yt-dlp
|
18
yt2mp3.py
Executable file
18
yt2mp3.py
Executable 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)
|
Loading…
x
Reference in New Issue
Block a user