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
私の目標
ダウンロードしたファイルを再生するオプションを追加したい(OMXPlayer経由)
ダウンロードパスを提供できるYoutube-DLコマンドはありますか?
答え1
youtube-dl
--output
出力先を設定するオプションがあります。
-o、--出力TEMPLATE
出力ファイル名テンプレートについては、「」を参照してください。出力テンプレート「すべての情報について
たとえば、次のテンプレートを使用します。
--output "$XDG_DOWNLOAD_DIR/youtube/%(title)s.%(ext)s"
マイダウンロードディレクトリのフォルダにビデオをダウンロード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
答え2
Raspberry Piハードウェアアクセラレーションを活用するためにomxplayerを介してWebビデオを再生することが目的の場合。
youtube-dlを使用して実際のビデオのURLを取得し、omxplayer(または再生が簡単で高速なvlc)を使用してストリーミングできます。
私が使用するエイリアスは次のとおりです。
alias omxstream='_(){ omxplayer `youtube-dl --get-url --format best[ext=mp4]/best $1`; };_'
単純なパイプコマンドでより多くのコードを使用するには、関数を使用してこれを実行することもできます。
function replay {
if test -z $1 ; then
echo -e "No arguments specified. Usage:\n${FUNCNAME[0]} replay-web-page-url"
return 1
fi
# both omxplayer and vlc are hardware accelerated on Raspberry Pi
vlc --fullscreen `youtube-dl --get-url --format best[ext=mp4]/best $1`
}
これはスクリプトを使用して行うこともできます。
ちなみにこれは私のものです現在のバージョン.bash_aliases
文書。