如何获取下载的 Youtube-DL 文件的路径?

AKA*_*ing 3 youtube-dl

我设计了一个脚本,可以轻松快速地从 YouTube 下载视频,该脚本使用末尾的选项来询问您是否要下载另一个视频。

这是我的脚本:

#!/bin/bash

cd ~/Videos

read -p "Enter A Valid YouTube URL: "  url

reset

youtube-dl -f 'bestvideo[ext=mp4]+bestaudio[ext=m4a]/mp4' $url

reset

while true; do
    read -p "Do you wish to download another? " yn
    case $yn in
    [Yy]* ) reset; cd ~/Desktop; ./Youtube-DL-Video.sh;;       
    [Nn]* ) exit;;
        * ) echo "Please answer yes or no.";;
    esac
done
Run Code Online (Sandbox Code Playgroud)

我的目标

我想添加一个选项来播放刚刚下载的文件(通过 OMXPlayer)。

Youtube-DL 是否有任何命令可以提供下载路径?

小智 6

youtube-dl--output允许您设置输出目的地的选项:

-o, --output TEMPLATE
输出文件名模板,请参阅“输出模板”以获取所有信息

作为示例,我使用以下模板

--output "$XDG_DOWNLOAD_DIR/youtube/%(title)s.%(ext)s"
Run Code Online (Sandbox Code Playgroud)

它将视频下载到youtube我的下载目录中的文件夹中,并使用视频标题作为文件名。

为了添加一个选项来播放您刚刚下载的文件,您可以使用--get-filename不下载视频但仅返回与您的模板相对应的文件名的选项:

youtube-dl -f 'bestvideo[ext=mp4]+bestaudio[ext=m4a]/mp4' -o <insert_your_ template_here> $url
file=$(youtube-dl -o <insert_your_template_here> --get-filename)
...
<video_player> $file
Run Code Online (Sandbox Code Playgroud)