library(devtools)
library(youtubeDownloader)

Installing required softwares

According to the output of \code{installDownloader} function to install required softwares: youtube_dl and ffmpeg. The youtube_dl is a python package, which is used to trace the true video URL from YouTube/Bilibili. The ffmpeg software is to convert video/audio formats.

installDownloader()

Downloading a list of videos

Youtube

# Sequence.Models
url0 = "https://www.youtube.com/watch?v=DejHQYAGb7Q&list=PLkDaE6sCZn6F6wUI9tvS_Gw1vaFAx6rd6"
# the folder to save downloaded files
folder = "~/YouTubeVideos/" 

# #### download video
newFolder = videoListDownload(urlSeed = url0, path = folder, 
                              saveFileList = TRUE, 
                              sleepTime = 5, maxDownload = 200, 
                              bothVideoAudio = TRUE)

Bilibili

# Sequence.Models
url0 = "https://www.bilibili.com/video/av30300809"
# the folder to save downloaded files
folder = "~/python_data_analysis_and_machine_learning/" 

# #### download video
bilibiliDownload(urlSeed = url0,
                 quality = 32,
                 path = folder,
                 removeSource = TRUE)

Downloading a list of audios

Downloading audios is very slow. You can download videos then convert them to audios using audio2mp3 function (see ".webm to .mp3 format" section).

url0 = "https://www.youtube.com/watch?v=DejHQYAGb7Q&list=PLkDaE6sCZn6F6wUI9tvS_Gw1vaFAx6rd6"
# #### Only download audio
newFolder = videoListDownload(urlSeed = url0, path = folder, 
                              saveFileList = TRUE, 
                              sleepTime = 5, maxDownload = 200, 
                              priority = c("audio only"), 
                              bothVideoAudio = FALSE)

Downloading one single audio

url0 = "https://www.youtube.com/watch?v=J9NQFACZYEU&list=PLMC9KNkIncKtPzgY-5rmhvj7fax8fdxoj&index=PLMC9KNkIncKtPzgY-5rmhvj7fax8fdxoj"

youTubeDownload(url0, path = paste0(folder, "music"),
                saveFile = "videoFromYoutube", 
                priority = "audio only", 
                bothVideoAudio = FALSE)

Downloading one single video

Youtube

url0 = "https://www.youtube.com/watch?v=pJON0-e_I3o&t=889s"
#### download video
youTubeDownload(url0, path = "~/YouTubeVideos/OneVideo", 
                saveFile = "videoFile",
                priority = c("best", "mp4"))

Bilibili

# Sequence.Models
url0 = "https://www.bilibili.com/video/av30300809/?p=3"
# the folder to save downloaded files
folder = "~/python_data_analysis_and_machine_learning/" 

# #### download video
bilibiliDownload(urlSeed = url0,
                 quality = 32,
                 path = folder,
                 removeSource = FALSE)

Downloading videos by table

url0 = "https://www.youtube.com/watch?v=DejHQYAGb7Q&list=PLkDaE6sCZn6F6wUI9tvS_Gw1vaFAx6rd6"
# make a table of videos
vTable = videoListTable(urlSeed = url0, path = folder)
file = file.path(vTable$folderName, "fileNameOrders.csv")
# folderName = file.path(folder, "fileByTable")
#### download video by fileNameOrders.csv table
newFolder = videoListDownloadByTable(fileList = file, 
                                     path = vTable$folderName, 
                                     bothVideoAudio = TRUE, 
                                     priority = c("best"), 
                                     sleepTime = 10, 
                                     id = NULL)
#### download video by a data.frame
newFolder = videoListDownloadByTable(fileTable = vTable$fileTable, 
                                     path = vTable$folderName, 
                                     bothVideoAudio = TRUE, 
                                     priority = c("best"), 
                                     sleepTime = 10, 
                                     id = c(1, 2, 5))

Converting video format

Converting video format is very slow.

newFolder = videoListDownloadByTable(fileTable = vTable$fileTable, 
                                     path = vTable$folderName, 
                                     bothVideoAudio = TRUE, 
                                     priority = c("webm"), 
                                     sleepTime = 10, 
                                     id = c(1, 2))
# .webm to .mp4 format
video2mp4(fileFormat = "webm", path = newFolder, 
          removeSource = FALSE)

Converting audio format

newFolder = videoListDownloadByTable(fileTable = vTable$fileTable, 
                                     path = vTable$folderName, 
                                     bothVideoAudio = TRUE, 
                                     priority = c("webm"), 
                                     sleepTime = 10, 
                                     id = c(1, 2))
# .webm to .mp3 format
audio2mp3(fileFormat = "webm", path = newFolder, 
          removeSource = FALSE)

SessionInfo

session_info()


paodan/youtubeDownloader documentation built on Nov. 15, 2020, 9:48 p.m.