Upgrade to Pro — share decks privately, control downloads, hide ads and more …

YouTubeの動画を高画質でダウンロードしよう

R SATO
April 08, 2023

 YouTubeの動画を高画質でダウンロードしよう

R SATO

April 08, 2023
Tweet

More Decks by R SATO

Other Decks in Programming

Transcript

  1. $ yt-dlp –F https://www.youtube.com/watch?v=TWqJ5P8oaUM [youtube] Extracting URL: https://www.youtube.com/watch?v=TWqJ5P8oaUM [youtube] TWqJ5P8oaUM:

    Downloading webpage [youtube] TWqJ5P8oaUM: Downloading android player API JSON [info] Available formats for TWqJ5P8oaUM: ID EXT RESOLUTION FPS CH │ FILESIZE TBR PROTO │ VCODEC VBR ACODEC ABR ASR MORE INFO ──────────────────────────────────────────────────────────────────────────────────────────────────────────────── sb2 mhtml 48x27 0 │ mhtml │ images storyboard sb1 mhtml 80x45 0 │ mhtml │ images storyboard sb0 mhtml 160x90 0 │ mhtml │ images storyboard 599 m4a audio only 2 │ 3.42MiB 31k https │ audio only mp4a.40.5 31k 22k ultralow, m4a_dash 600 webm audio only 2 │ 3.90MiB 35k https │ audio only opus 35k 48k ultralow, webm_dash 139 m4a audio only 2 │ 5.41MiB 49k https │ audio only mp4a.40.5 49k 22k low, m4a_dash 249 webm audio only 2 │ 5.71MiB 52k https │ audio only opus 52k 48k low, webm_dash 250 webm audio only 2 │ 7.42MiB 67k https │ audio only opus 67k 48k low, webm_dash 140 m4a audio only 2 │ 14.36MiB 129k https │ audio only mp4a.40.2 129k 44k medium, m4a_dash 251 webm audio only 2 │ 14.39MiB 130k https │ audio only opus 130k 48k medium, webm_dash 17 3gp 176x144 7 1 │ 8.73MiB 79k https │ mp4v.20.3 79k mp4a.40.2 0k 22k 144p 597 mp4 256x144 15 │ 3.60MiB 32k https │ avc1.4d400b 32k video only 144p, mp4_dash 598 webm 256x144 15 │ 3.41MiB 31k https │ vp9 31k video only 144p, webm_dash 160 mp4 256x144 30 │ 7.71MiB 69k https │ avc1.4d400c 69k video only 144p, mp4_dash 278 webm 256x144 30 │ 7.65MiB 69k https │ vp9 69k video only 144p, webm_dash 133 mp4 426x240 30 │ 16.19MiB 146k https │ avc1.4d4015 146k video only 240p, mp4_dash 242 webm 426x240 30 │ 12.47MiB 112k https │ vp9 112k video only 240p, webm_dash 134 mp4 640x360 30 │ 30.14MiB 272k https │ avc1.4d401e 272k video only 360p, mp4_dash 18 mp4 640x360 30 2 │ 40.69MiB 367k https │ avc1.42001E 367k mp4a.40.2 0k 44k 360p 243 webm 640x360 30 │ 21.36MiB 193k https │ vp9 193k video only 360p, webm_dash 135 mp4 854x480 30 │ 54.20MiB 489k https │ avc1.4d401f 489k video only 480p, mp4_dash 244 webm 854x480 30 │ 34.59MiB 312k https │ vp9 312k video only 480p, webm_dash 22 mp4 1280x720 30 2 │ ~114.93MiB 1012k https │ avc1.64001F 1012k mp4a.40.2 0k 44k 720p 136 mp4 1280x720 30 │ 98.06MiB 884k https │ avc1.64001f 884k video only 720p, mp4_dash 247 webm 1280x720 30 │ 66.66MiB 601k https │ vp9 601k video only 720p, webm_dash 137 mp4 1920x1080 30 │ 180.97MiB 1632k https │ avc1.640028 1632k video only 1080p, mp4_dash 248 webm 1920x1080 30 │ 106.35MiB 959k https │ vp9 959k video only 1080p, webm_dash
  2. 140 m4a audio only 2 │ 14.36MiB 129k https │

    audio only mp4a.40.2 129k 44k medium, m4a_dash 137 mp4 1920x1080 30 │ 180.97MiB 1632k https │ avc1.640028 1632k video only 1080p, mp4_dash
  3. 140 m4a audio only 2 │ 14.36MiB 129k https │

    audio only mp4a.40.2 129k 44k medium, m4a_dash #!/bin/sh # $ yt-dlp --get-id https://www.youtube.com/playlist?list=list_id > list.txt for i in $(cat list.txt); do filename_mp4=$(yt-dlp -f 597 --get-filename https://www.youtube.com/watch?v=$i) for fmt in 571 401 400 299 399 298 398 136; do if [ ! -e "$filename_mp4" ]; then yt-dlp -i -w -f $fmt https://www.youtube.com/watch?v=$i fi done filename_m4a=$(yt-dlp -f 599 --get-filename https://www.youtube.com/watch?v=$i) for fmt in 140 139 599; do if [ ! -e "$filename_m4a" ]; then yt-dlp -i -w -f $fmt https://www.youtube.com/watch?v=$i fi done mkdir -p out if [ -e "$filename_mp4" -a -e "$filename_m4a" ]; then ffmpeg -y -i "$filename_mp4" -i "$filename_m4a" -c copy "out/$filename_mp4“ fi rm "$filename_mp4“; rm "$filename_m4a“ done