ユーザ用ツール

サイト用ツール


linux:video_download

Video Download

Web上のLiveStreamingを後で見たい,デモなどで使うのでVODをofflineで見たい.回線が低速で低画質しか見られない.回線の質が悪くよく止まる. とかとかのときに助かるツールとか.

大体youtube-dlかそれでサポートされていない場合はStreamlinkでという感じで使っている。

自分は自宅回線では画質悪くよく止まるのでこれらを使って一手間かけて動画視聴しているが、視聴管理などもされず面倒なので通常はあまり必要ないと思う……。

Video DownloadHelper

youtube-dl

Youtube以外にも様々なsiteに対応している. 詳細は別ページに

nicovideo-dl

ダウンロードにはログインが必要

  -u USERNAME, --username=USERNAME
                        account username
  -p PASSWORD, --password=PASSWORD
                        account password

netrc も使える

  -n, --netrc           use .netrc authentication data

netrcのmachineは nicovideo

$ echo "machine nicovideo
login $USER
password $PASSWORD" >> ~/.netrc

ダウンロードファイル名はID担って分かりづらいので -t オプションでタイトルをファイル名にする.

  -t, --title           use title in file name
$ nicovideo-dl -n -t $URL

認証に使ったアカウントが無料アカウントだと時間帯により制限を受けるので制限を受けない時間に動くようにしておくといい.

(youtube-dlもニコニコ動画に対応しているのでそっちのほうが便利かも)

ffmpeg

動画URLがわかっているならffmpegでもダウンロードできる.回線が細いときにリモートのサーバで高画質ダウンロードするなどできる. (Video DownloadHelperでcopy urlしたものも使える)

$ ffmpeg -i $URL -movflags faststart -c copy $TITLE.mp4

livestreamer

ライブ外リーミングを視聴するのに特化したコマンドラインツール.

対応site

URLとstreamを指定する.streamは一度なしで実行すると取得できる,以下の例では 144p, 240p, 360p, 480p, 720p が選べる.若しくは worst or best この2つはいつでも指定できる.

$ streamlink 'https://www.youtube.com/watch?v=kL090M6qtXQ' 
[cli][info] Found matching plugin youtube for URL https://www.youtube.com/watch?v=kL090M6qtXQ
Available streams: 144p (worst), 240p, 360p, 480p, 720p (best)

480pで再生

$ streamlink 'https://www.youtube.com/watch?v=kL090M6qtXQ' 480p

360pの解像度をmpvを使いフルスクリーンで開く例

$ streamlink -p "mpv --fs" 'https://www.youtube.com/watch?v=kL090M6qtXQ' 360p

360pの解像度をvlcを使い壁紙として開く例

$ streamlink -p "vlc --video-wallpaper" 'https://www.youtube.com/watch?v=kL090M6qtXQ' 360p

-o オプションでファイルへの書き出しが可能

$ streamlink 'https://www.youtube.com/watch?v=kL090M6qtXQ' 360p -o ISS.mp4

-r オプションでファイルへの書き出ししつつストリーミング再生が可能

$ streamlink 'https://www.youtube.com/watch?v=kL090M6qtXQ' 360p -r ISS.mp4

※abema.tvをPCのウェブブラウザで見るとしょっちゅう解像度変更→映像と音が途切れて辛い→ウェブブラウザからは解像度指定できない(◞‸◟) Streamlinkで解像度を下げて再生すると止まらず快適.とか.(Androidアプリ版にはいくつかの解像度の選択が可能)

プレイリスト作成

順番にダウンロードした(順番に作成された)ならls -1tr で済むことも多い.

%02dみたいな一番助かるパターン

$ ls -1 未確認で進行形 #*.mp4| sort -n | tee 未確認で進行形.m3u8
未確認で進行形 #01 何事も最初が肝心です.mp4
未確認で進行形 #02 ロリ小姑ってのも悪くないわ.mp4
未確認で進行形 #03 ラブコメの波動を感じる.mp4
未確認で進行形 #04 あれはただのへんたいです.mp4
未確認で進行形 #05 これが経産婦だと.mp4
未確認で進行形 #06 そうだ、小姑でうめよう.mp4
未確認で進行形 #07 それはそれ、これはこれ.mp4
未確認で進行形 #08 妹の悲しみをいやすのは、妹.mp4
未確認で進行形 #09 くつじょくです、はずかしめをうけました.mp4
未確認で進行形 #10 デレ期という単語を調べたら.mp4
未確認で進行形 #11 ハンカチを楽しんでるのよ.mp4
未確認で進行形 #12 わかってる? ……わかってる.mp4

%dみたいな桁上がりだと単純にsortすると10話が先頭に来るので sort -V で並べる.

$ ls -1 メイドインアビス 第*.mp4 | sort -V | tee メイドインアビス.m3u8
メイドインアビス 第1話 大穴の街.mp4
メイドインアビス 第2話 復活祭.mp4
メイドインアビス 第3話 出発.mp4
メイドインアビス 第4話 アビスの淵.mp4
メイドインアビス 第5話 火葬砲.mp4
メイドインアビス 第6話 監視基地(シーカーキャンプ).mp4
メイドインアビス 第7話 不動卿.mp4
メイドインアビス 第8話 生存訓練.mp4
メイドインアビス 第9話 大断層.mp4
メイドインアビス 第10話 毒と呪い.mp4
メイドインアビス 第11話 ナナチ.mp4
メイドインアビス 第12話 呪いの正体.mp4
メイドインアビス 第13話 挑む者たち.mp4

利用規約違反?

動画のダウンロードと視聴は私的複製の範囲なら問題ないと思うが,サービスの規約には違反してしまいそう.

例えばYoutubeはこの辺?

本サービスの利用には制限があり、以下の行為が禁止されています。

本サービスまたはコンテンツのいずれかの部分に対しても、アクセス、複製、ダウンロード、配信、送信、放送、展示、販売、ライセンス供与、改変、修正、またはその他の方法での使用を行うこと。ただし、(a)本サービスによって明示的に承認されている場合、または(b)YouTube および(適用される場合)各権利所持者が事前に書面で許可している場合を除きます。
本サービスのいずれかの部分を迂回、無効化、不正利用、またはその他の方法で妨害すること(またはこれらのいずれかを試みること)。なお、この「本サービスのいずれかの部分」には、セキュリティ関連の機能、または(a)コンテンツのコピーもしくはその他の利用法を防止もしくは制限する機能、もしくは(b)本サービスもしくはコンテンツの利用を制限する機能が含まれます。
自動化された手段(ロボット、ボットネット、スクレーパなど)を使用して本サービスにアクセスすること。ただし、(a)公開されている検索エンジンを YouTube の robots.txt ファイルに従って使用する場合、または(b)YouTube が事前に書面で許可している場合を除きます。

その他CMの挟まるサービスやコンテンツでもそれが再生されないという問題もある.

URL

鹿児島Linux勉強会 2020.01での発表スライド

コメント

コメントを入力. Wiki文法が有効です:
71᠎ +0 =
 
linux/video_download.txt · 最終更新: 2020/01/20 05:45 by matoken