First commit
This commit is contained in:
commit
ffbeba2c6c
0
Sounds/.gitkeep
Normal file
0
Sounds/.gitkeep
Normal file
47
main.py
Executable file
47
main.py
Executable file
@ -0,0 +1,47 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
import yt_dlp
|
||||
import os
|
||||
from pydub import AudioSegment
|
||||
|
||||
|
||||
sounds_folder = 'Sounds'
|
||||
|
||||
def downloadAndCutVideo(url, filename, start = -1, end = -1):
|
||||
if start == -1 and end == -1:
|
||||
downloadVideo(url, filename)
|
||||
return
|
||||
|
||||
tmpFilename = filename + "tmp"
|
||||
downloadVideo(url, tmpFilename)
|
||||
song = AudioSegment.from_mp3(computePath(tmpFilename))
|
||||
|
||||
if start != -1:
|
||||
start = start * 1000
|
||||
if end != -1:
|
||||
end = end * 1000
|
||||
cutted_song = song[start:end].export(computePath(filename), format="mp3")
|
||||
os.remove(computePath(tmpFilename))
|
||||
|
||||
def downloadVideo(url, filename):
|
||||
ydl_opts = {"format": "bestaudio", "outtmpl": sounds_folder + "/" + filename + ".%(ext)s"}
|
||||
ydl_opts = {
|
||||
'format': 'm4a/bestaudio/best',
|
||||
# ℹ️ See help(yt_dlp.postprocessor) for a list of available Postprocessors and their arguments
|
||||
'postprocessors': [{ # Extract audio using ffmpeg
|
||||
'key': 'FFmpegExtractAudio',
|
||||
'preferredcodec': 'mp3',
|
||||
}],
|
||||
"outtmpl": sounds_folder + "/" + filename + ".%(ext)s"
|
||||
}
|
||||
with yt_dlp.YoutubeDL(ydl_opts) as ydl:
|
||||
ydl.download([url])
|
||||
|
||||
def computePath(filename):
|
||||
return sounds_folder + '/' + filename + ".mp3"
|
||||
|
||||
def refreshAvailableSounds():
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
downloadAndCutVideo('https://www.youtube.com/watch?v=wyNOM_HIv0U', "jesuislelaitier", 6, 10)
|
Loading…
Reference in New Issue
Block a user