Tag Archive : Docker

/ Docker

動画のダウンローダー

2021-05-29 | Python, ストリートファイターV | コメントはまだありません

格ゲーみたいにちょっとした連携やコンボをSNSでシェアするのが盛んなホビーをやっていると、クリップしておこうかなと思うような動画によく出会う。
ダウンロードサイト(SYNCERとか)で落としてくるのもありなんだけど、あの手のは消えたり、いつめんどくさい何かが仕込まれても文句を言えない。なので道具をこさえた。

ダウンロード用のツールと言うとlivedlyoutube-dlがあればだいたい要件を満たせそうだ。
niconicoはlivedlに、ほかはyoutube-dlにやってもらおう。
両方突っ込んだコンテナを用意。
niconicoはセッションIDがいるので、そのへんを外部ファイルにして渡せるように作りマウント。
DL済のファイルが置かれるフォルダもマウント。

ダウンロード実行はpythonで書く。
URLを渡すためローカルのテキストファイルをマウントしておいて、そこのURLを一行ずつ読むようにする。同じものを何度もDLしたくないので、動画のIDを保存しておいて参照して新規の動画のみ処理対象にする。
URLからDL方式を判別して、コマンドの文字列を作りsubprocess呼ぶ。

niconicoはうまく行かないこともあるっぽいのだが、もはや見に行くこともほぼないので積極的なメンテはしていない。見るときに困ったら直せばいいやという感じ。いっそ機能外してもいいかなくらい。

「こさえた」と書いたが、出来上がったのは1年くらい前で、改良しながら快適に使っている。
Youtube、Twitch、Twitter相手を問わずURLをコピってテキストに貼り、コンテナを起動するだけでよくなった。
全部のDL作業が終わったらコンテナはかってに落ちる。
楽でよいのだが、さいきんコンテナを起動して~の手順が面倒に思えてきた。
いっこバッチ叩いたら起動してくんないかなあ。
こちらも今朝なんとかなった。コマンドプロンプトでbashと叩くとシェルが起動するというのを知り、

bash -c <起動したい諸々>

を書くだけで終わった。いきなりbash呼べるの感動する。。。
最初はbatからwindows terminalを呼びそこからubuntuを呼ぼうとしていたが、そもそもそんなこと必要なかったですというのが学び。
これ以上になるとファイルにurl書いたら勝手に起動してDLしてコンテナ落とすとかになるけど、さすがにそこまではしないだろう。なんか常駐させておくのも邪魔だろうし。

流行りのDockerとかをアレする際の選択肢として、Vagrantの上にLinuxを構築し、その上にDockerを構築するというパターンがポピュラーです。
※あたしはWindowsを使っています

VagrantまではだいたいOK、さあDocker動かすかという時に掲題のエラーメッセージ。
sudo docker info
Segmentation Fault or Critical Error encountered. Dumping core and aborting.

abortってこのやろう。

違うの入れてた

sudo yum info dockerやってみる

Installed Packages
Name : docker
Arch : x86_64
Version : 1.5
Release : 5.el6
Size : 37 k
Repo : installed
From repo : epel
Summary : KDE and GNOME2 system tray replacement docking application
URL : http://icculus.org/openbox/2/docker/
License : GPL+
Description : Docker is a docking application (WindowMaker dock app) which acts as a system
: tray for KDE and GNOME2. It can be used to replace the panel in either
: environment, allowing you to have a system tray without running the KDE/GNOME
: panel or environment.

なんだこれ、と思ってググったら世界中の人がコレぼやいてる。あたしの入れたいDockerとは別のアプリケーションみたいだ。
そうだ、docker-ioじゃないとだめだったんだ思い出した。本にも書いてあった。

sudo yum info docker-ioやってみる

Available Packages
Name : docker-io
Arch : x86_64
Version : 1.1.2
Release : 1.el6
Size : 4.5 M
Repo : epel
Summary : Automates deployment of containerized applications
URL : http://www.docker.com
License : ASL 2.0
Description : Docker is an open-source engine that automates the deployment of any
: application as a lightweight, portable, self-sufficient container that will
: run virtually anywhere.
:
: Docker containers can encapsulate any payload, and will run consistently on
: and between virtually any server. The same container that a developer builds
: and tests on a laptop will run at scale, in production*, on VMs, bare-metal
: servers, OpenStack clusters, public instances, or combinations of the above.

ヘイヘイヘイヘーイ
またvagrantのboxファイル作りなおしねー!もう2万回くらい作りなおしてんじゃないのか。
回数は盛りました。

sudo yum install docker-io -y
sudo chkconfig docker on
sudo service docker start
sudo docker search centos

かいけつかいけつ。

参考書は、

これを使っています。