Ubuntu 18.04でYouTubeの動画ダウンロード

LaPotatoのUbuntu 18.04上で動画の検証をしたかったので、手っ取り早くYoutubeの動画をダウンロードした。

Ubuntu 18.04に限らずLinux上ならyoutube-dlというコマンドを使えば簡単なんだけど、インストールするのにちょい引っかかった。

というわけで、今後のためにメモ。

 

最初はシンプルにaptによるインストール。

 $ sudo apt install youtube-dl
その後、youtube-dltと落としたい動画のURLで一番高画質のものがダウンロードできるはず。
 $ youtube-dl  (YouTubeのURL)
しかし、
WARNING: unable to extract uploader nickname

と、
ERROR: Signature extraction failed: Traceback (most recent call last):

というエラーが出てダウンロードできない。

 

どうやら最新のyoutube-dlでないとダウンロードできないらしい。

YouTube側もダウンロードされないようにせっせと改善してるだろうから、それもそうだ。

アップデートにはオプションを付ければいいんだけど、
 $ sudo youtube-dl -U
It looks like you installed youtube-dl with a package manager, pip, setup.py or a tarball. Please use that to update.

うーん、これはバージョンアップできてないな。

試しに確認すると、
 $ youtube-dl --version
2016.02.22

…と、ずいぶん古いバージョンが入ってることがわかった。

 

エラーの文章で検索して見つけたブログから、

 http://blog.madadipouya.com/2016/02/27/how-to-update-youtube-dl-in-ubuntu/

簡単に言うと、直接youtube-dlをダウンロードして使えるようにするのが良いらしい。

 $ sudo wget https://yt-dl.org/downloads/latest/youtube-dl -O /usr/local/bin/youtube-dl

 $ sudo chmod a+x /usr/local/bin/youtube-dl

この後リブートが必要。

一応確認。

 $ sudo youtube-dl -U
youtube-dl is up-to-date (2018.09.18)

となって、最新のものがインストールできてた。

これでもう一度ダウンロードしてみると、今度は成功。

オプションで画質を選択したり音声のみダウンロードしたりできるらしいので、必要なときはhelpで確認してみるといいと思う。

 

他のところで検索してみたら、brewでインストールすると行けるとかあったのでインストールしちゃったりして、ここまでたどり着くのにまただいぶ遠回りした。

とはいえbrewも入ってて困ることはないので、放置してある。

 

ここまで頑張ってダウンロードしたけど、検証用に使いたかっただけだし容量がもったいないのでファイルの置き場に困る。

SBCを使ってる以上ストレージはSDカードなので、あんまり大きいファイルは置きたくないんだな。

なんだかんだでYoutubeを直接見た方が早いけど、インストールしておけは便利な時もあるかも(?)。

Sponsered Link

Le Potato(その4)

Le PotatoとOrangePiのせめぎ合いで連休が過ぎました。
OrangePiはちょっと置いといて、いきなりLe Potatoをいじっていた。
テレビでYouTubeを見ようと思ったらサービスが終わってたんで、Linux入れたボードでブラウザ起動して見ればいけるかな、と、単純に考えた。

Le Potatoなら映像系に強いと聞いたんだけど、実際に確認したことはない。
(まあ自分が持ってるOrangePiよりは確実に良いと思う…)


以前Android入れて満足してたけど、Le Potato用のUbuntu 18.04もリリースされているのでいじってみたい考えもあった。
 https://libre.computer/products/boards/aml-s905x-cc/
Ubuntu 18.04 Bionicなら他のボードにも使ってるんで、わかりやすいだろうと思いさっそくSDカードに焼いて起動。
最終的に居間のテレビで使いたいんで、セッティングもそこで行うことにした。


起動したらいきなりログイン画面。

パスワードは「computer」。
非常にシンプルに、問題なく起動できたので正直メモする必要はなかった。

ただ、右上をクリックして出てくるメニューからでは設定できなかった。
各種設定は画面上を右クリックして出てくるメニューの一番下、「Applications」のところから。

ドングル挿してwifi使えるようにしたり、一応日本語設定したり(でも反映されない、これは課題)と必要最低限の準備は整えた。

ブラウザはFirefoxをインストールしようと思ったんだけど、既に入ってたのでそのまま起動。
YouTubeのページで動画再生。が、854x480でも音声のみそのままで動画は時々止まる。
うーん、ネットそのものがヘタレなので、リアルタイムの処理は重いな。

 

試しにyoutube-dlでYouTubeの動画を落としてきて再生してみたところ、最高画質でも画面を3分の2ぐらいのサイズにすれば問題なかった。

(youtube-dlについてもめんどくさいことがあってメモっておいたので、また別途整理する)

さすがに42インチのテレビ画面いっぱいに再生するとキツかったらしい。

 

でも手持ちのSBCの中では動画の再生能力は悪くない。数字じゃなくて体感で、だけど。

しかしハード的な問題より、OSのほうが関係してそうな気がするな。

Ubuntuのバージョンを下げるか、Raspianを使ったほうがもしかしたら良かったのかも。

それとSDカードの容量が小さいのがまずかったなあ。動画を落とすならもっと大きいのにしておけば良かった。

それの対策もいずれ考えよう。

Sponsered Link

OrangePi PC Plus(その2)

昨日の話の続き。

その後、調べたら修正方法はわかったのでメモ。

自分のOrange Piが悪いというわけではないので、こういう場合の普通の直し方だと思う。

 

なぜipv6を使っちゃうかは不明だけど、ipv4の方を優先させる方法があったのでそれを参照。

とりあえずipv6のIPアドレスでSSHを使ってログインし、gai.confを修正。

どのアドレスを使うかを制御してるファイルらしい。

 $ sudo nano /etc/gai.conf

を開き、

 # precedence ::ffff:0:0/96 100

の、#を削除。コメントアウトしてこの行を有効にする。

次に

 $ sudo nano /etc/sysctl.conf

という設定ファイルを開いて、

 net.ipv6.conf.all.disable_ipv6 = 1 

 net.ipv6.conf.default.disable_ipv6 = 1

の、2行を追加。

sysctl.confって何かと調べたら、カーネルのパラメータを管理するファイルで、この内容を修正するとsysctlコマンドで一時的(リブートすると元に戻る)に変更できる設置を、恒久的に対応できるようになる。

正直、普段はあんまり触らない気がする。

 

その後

 $ reboot

で再起動し、改めてMac上のLanScanで確認すると、見慣れないIPアドレスが出てきた。

このアドレスでSSHで接続すると、無事ログインできました。

 

どうもipv6の無効化で検索すると、CentOSがよく引っかかる。

ipv6のせいで悪さをしちゃうらしいけど、そのおかげであまり変わらない方法で修正できた。

ただ、ip aで確認するとipv6のアドレスも出てくるので、無効化にはなってない。

(ついでにhostname -Iすると、ipv4もipv6も出てくる)

それとホスト名を作成したのに、LanScan上には表示されてないし。

気になるところはあるけど、一応解決したということにしておこう。キリがないし。

Sponsered Link

OrangePi PC Plus(その1)

ArduinoやM5Stackを構いつつも古いもの発掘メモ、いきなりOrangePi。

古いと言ってもまだ2年ぐらいしか経ってないはず。自分が購入したのは去年だったと思う。

最近RK3399の載ったSBCを検討して調べてるんだけど、OrangePiにまで進出していて驚いた。
でも新しいのを買う前に、そういえば起動確認後にろくに遊ばずに放置してたやつがあったなと思い出したのでいじってた。


手元にあるのはOrangePi ZeroとOrangePi PC Plusなんだけど、OrangePi PC PlusはeMMC Flashから起動できることを初めて知った。
詳細は以下。
 http://nopnop2002.webcrow.jp/OrangePiPCPlus/OrangePi-Plus-2.html
armbianのドキュメントにもeMMCにインストールする方法が記載されている。
 https://docs.armbian.com/User-Guide_Getting-Started/
OrangePiは公式のファームウェアが微妙なので、armbianが命綱。

 

せっかくなのでOrangePi PC Plusを使用することにした。

以前起動してからだいぶ経ってるので、再度SDカードにファームウェアを入れ直しする。

 https://www.armbian.com/orange-pi-pc-plus/

Armbian StretchはDebianベースのディストリビューション、Armbian BionicはUbuntuベースだそうだ。自分はBionicを選択。

いつも通りEtcherで焼いてOrangePiに挿してSSH経由で起動&セッティング…しようとしたけど、LanScanでOrangePiのIPアドレスが見つからない。

これがSDカードを挿した時だけで、挿すとどっかに行ってしまう感じ。(感じ、というのはどうもはっきりしないので)

探し回ったけどどうしても見つからないので、結局HDMI端子に接続して別モニタで起動。

 

Armbianは起動直後にrootのパスワード変更とユーザーの新規作成を求められる。ここは前と一緒。

無事起動したんだけど、最初に出てくる仕様のところで

 Welcome to ARMBIAN 5.59 stable Ubuntu 18.04.1 LTS 4.14.65-sunxi   

 System load:   0.03 0.02 0.00      Up time:       55 min        

 Memory usage:  7 % of 1000MB     IP:            

 CPU temp:      43°C               

 Usage of /:    3% of 29G     

となっていて、IPアドレス欄が空欄。ここに期待してたのになあ。

 

ログイン後、IPアドレスを確認しようとすると、

 $ hostname -I

 2400:2651:93e2:7100:81:9dff:fe04:2147

なんか長い。

…って、もしかしなくてもIPv4じゃなくてIPv6だなこれ。

 $ ip a

してみても、inet6になってるなあ。うーん。

 

でもどうしてもSSHで接続したかったので、

 $ ssh  (ユーザー名)@2400:2651:93e2:7100:81:9dff:fe04:2147

で、接続できた。まあ、とりあえずはこれでいいか。

 

しかしアドレスが長くて嫌だったんで、

 $ hostnamectl set-hostname (ホスト名)

 $ apt -y install avahi-utils

(この後リブート)

で名前を変えたはずなんだけど、変えたホスト名でSSHでログインできない。

ログイン後はこのホスト名になってるんですけどね。

 

なんでOrangePiだけこんなことになるのか謎。

それに以前は普通にIPv4でIPアドレスを取得できたはずなんだけど。

なんか盛大な勘違いをしてる気もしなくもないので、OrangePiとしては遊びつつもこれもまた引き続き調査する。

Sponsered Link