min117の日記

初期desireもち。趣味Mac,メインFedora,仕事xp。

macOSのターミナルで command + Shift + ¥ を押すとタブ一覧を表示できる

macOSのターミナルで

 

こうやってタブ複数開いてて

f:id:min117:20220116095417p:plain

 

command + Shift + ¥ を押すとタブ一覧を表示できる

f:id:min117:20220116095428p:plain

Escを押すか、もっかいcommand + Shift + ¥ を押すと戻る。

 

他にもあるみたい。

f:id:min117:20220116095803p:plain

 

command + D は、vimの画面分割と似た感じ。

f:id:min117:20220116095853p:plain

command + Shift + D で元に戻る。

 

偶然知った。

分割は活用できそう。

 

 

 

 

 

 

その買うを、もっとハッピーに。|ハピタス

「全ての遺伝子が利己的である という説が正しければ、生き物は、みな本質的に孤独なんだ」

www.youtube.com

 

普遍的な愛なんてものは、進化の過程においては、なんの意味も持たないと言われているんだよ」

生物学者は、ある意味で、みなそう思っている」

f:id:min117:20220116000647p:plain

「例えば、母性という母親の持つ愛情も、精子よりたくさんの栄養を持つ卵子を提供しているメスが、その見返りを求めて、子供に執着しているとも考えられる」

 

全ての遺伝子が利己的である という説が正しければ、生き物は、みな本質的に孤独なんだ

 

「こうして集う水鳥たちも、人間だって、ひとりぼっちなんだ」

「生まれてくるときも、死ぬ時も…」

f:id:min117:20220116001306p:plain

 

 

「平凡…それこそが僕の理想だ」

「優しい時の流れは、いつも、そこに用意されているのだから…」

f:id:min117:20220116002741p:plain

 

 しかし。

 

f:id:min117:20220116001119p:plain

「僕は、何もかも失ってしまった」

 

「ささやかな…未来も…」

 

「はじまりはどうであれ、僕は彼女を…」

「だからあんなとこをみてさ…」

f:id:min117:20220116001608p:plain

 


 

「あなたは、私を愛してる?あんなとこ見て、見ぬふりしようと思うなんて…」

f:id:min117:20220116001726p:plain

 


 

いろんなことが詰まっている

 

人は(遺伝子レベルで)運命的に利己的であること

ゆえに孤独であること

 

平凡こそが幸せであること

それは壊されること。

※「不埒な偏見と暴虐によって」だろう。

 

失った者の苦悩。

奪った者の身勝手。

 

 

※「正しき者の道は、悪しき者の不埒な偏見と暴虐によって行く手を阻まれる」

f:id:min117:20220116003408p:plain

youtu.be



I never gave much thought to what it meant.getyarn.io

 

 

 

 

 

その買うを、もっとハッピーに。|ハピタス

映画「寝ても覚めても」トレイラーBGM「À la Folie(激しく)」Juliette Armanet

濱口竜介監督がまた受賞したらしい。

natalie.mu

 

この監督の作品は好きだ。

とくに寝ても覚めても。英語名「Asako I & II」

人の心というのを深く考えさせられる。

 

映画のトレイラー動画は日本と海外とでは全然違ったものになっている。

www.youtube.com

www.youtube.com

www.youtube.comwww.google.com

 

この背景で流れてる曲が気になった。やっと見つけた。

À la Folie - Hagueshuki (Japanese version) - Juliette Armanet

www.bilibili.com

 

原曲はこれ。なんて美しい曲だ。

www.youtube.com

 

 

Juliette Armanetという歌手らしい。ググってもなかなか出てこず見つけるのホント苦労した。

www.google.com

 

日本にいると、日本の情報しか取れていない。汚染された情報、絞られた情報の中に生かされている。限られた生簀の中で泳ぐ金魚のようだ。

 

異国にあるということは、それ自体なにごとかである

f:id:min117:20220110085120j:plain

痛感する。

 


 

 

日本だとこのトレイラーしか出てこない。

www.youtube.com

 

min117.hatenablog.com

min117.hatenablog.com

 

 

 

 

その買うを、もっとハッピーに。|ハピタス

fedora30 uconvをインストールするには yum install icu

シェル芸勉強会…最高。ほんと勉強になる。

www.youtube.com

 

この中に「今の年号」は何個あるか?という問題。

f:id:min117:20220109151251p:plain

日本の令和と、韓国の文字コードの令和が入っているので、答えは14じゃなくて20が正解。

 

自分で出した回答だとかなり冗長。

uconvで効率化できるぽい。

 

uconv使いたい。母艦fedora30にインストールする。

$ sudo -yum -y install icu

f:id:min117:20220109150948p:plain

入った。

f:id:min117:20220109150916p:plain

 



 

 

 

 

 

 

その買うを、もっとハッピーに。|ハピタス

fedora30 streamlinkをインストールしてテスト@bem@

ちょっと気になった。

f:id:min117:20220109100050p:plain

気になったらすぐ試す。クセにしてる。

 

github.com

 

$ wget https://github.com/streamlink/streamlink/releases/download/3.0.3/streamlink-3.0.3.tar.gz

$ tar xzvf streamlin-3*gz

$ cd  stream*3.0.3

$ sudo python3 setup.py install

f:id:min117:20220109100726p:plain

 

入った。

f:id:min117:20220109100827p:plain

 

試す。

$ streamlink 'URL' best -o out.ts

f:id:min117:20220109100419p:plain

うむ。

 

egg.5ch.net

 

 

 

 

 

その買うを、もっとハッピーに。|ハピタス

我流yt-dlpフロントエンド実装 → phpのexec()実行結果output配列からawkで任意列を取り出し成功

こんな感じのフロントエンド

f:id:min117:20220109084801p:plain

URL受け取ったサーバ側のphpbashコマンド(yt-dlp)を叩く。

min117.hatenablog.com

 

実行したコマンド文字列は画面にも表示する。

f:id:min117:20220109084900p:plain

bashコマンド(赤文字)は

 ・バックグラウンドで実行しないと処理待ちになっちゃうから、末尾にアンパサンド(&)つけてノンブロッキング実行にしてる。

 ・エラーも含めてログに落としたいので 2>&1 にしてる。

 ・ログはdoTUBEDL_F.logに書き込み。

 

ログはcatで確認

 $ cat doTUBEDL_F.log

f:id:min117:20220109090745p:plain

これもフロント画面(Web上)に表示したいからphpで作った。

 

下向き丸ヤジルシの青色アイコン

f:id:min117:20220109090039p:plain

クリックするとログ($ cat doTUBEDL_F.logの結果 すなわち yt-dlp -F URLの結果)が表示される。

mp4を含む行は青色、webmは赤色に着色。

f:id:min117:20220109085307p:plain

 

ログの左列にあるID番号は例えば

 yt-dlp -f 248 'URL'

とすればwebm(1920x1080)を指定してDLできるから

f:id:min117:20220109091102p:plain

これもフロントからできるようにする。

 

yt-dlp -F URL のログのうちmp4またはwebmが含まれる行左列にあるID番号だけを取り出して、それを指定してDLできるボタンにしちゃう。

f:id:min117:20220109090430p:plain


cat doTUBEDL_F.logした結果配列outputFDの各行($FDに格納)それぞれに対してawkで1列目を取り出して(print $1)、それを配列outputGNに格納していく。

 

つまりこんな感じ。

$ cat doTUBEDL_F.log | awk '{print $1}'

f:id:min117:20220109092352p:plain

結果、248だけを取り出せるので、それをphp配列outputGNに格納していくイメージ。

 

まずは失敗例。こうなっちゃった。

f:id:min117:20220109092018p:plain

 

170行目で実行したawkの結果を配列outputGNに格納してるんだけど

f:id:min117:20220109092559p:plain

その配列outputGNクリアしないままループの中で使い続けちゃってるので、Array内部にどんどん数字が溜まってちゃってる。

 

だから配列の先頭outputGN[0]を取り出しても常に139番のまま変わらない

f:id:min117:20220109092803p:plain

全部が「139番のダウンロード」になっちゃった。これじゃダメ。

 

本来はこうしたい。

f:id:min117:20220109093439p:plain

それぞれの番号ごとにダウンロードボタンができる。

 

正しいコードはこう。

f:id:min117:20220109093707p:plain

awkの結果を格納する配列outputGNループの毎回でunset()してクリアしてあげる。

 

これで正しくなった。

 

コピペ用保存

$commandFD =  'cat doTUBEDL_F.log 2>&1 &';

// ---------------------------------------------------

print '<b><font color="red">' . "$commandFD" . 'が生成されました</font></b><br>';

// print 'exec($commandFD, $outputFD, $retFD);<br>';

// shell_exec("$commandFD");

print '<br>';

// FD -> File to Download

exec($commandFD, $outputFD, $retFD);

foreach($outputFD as $FD){

    // 動画番号の入った配列をクリア

    unset($outputMOV_NUM);

    if (preg_match('/.*webm.*/', "$FD")) {

        print '<b><font color="red">' . "$FD" . '</b></font><br>';

        $commandGETWEBM = 'echo "' . "$FD" . '" | awk \'{print $1}\' ';

        exec($commandGETWEBM, $outputMOV_NUM, $retMOV);

        // print '<b><font color="red">' . "$commandGETWEBM" . 'が生成されました</font></b><br>';

        // print_r($outputMOV_NUM);

        print '<b><mark>' . "$outputMOV_NUM[0]" . '</mark></b><br>';

        // print '<a href="' . 'https://www.google.co.jp' . '" class="btn btn-warning" target="_blank">' . "$outputMOV_NUM[0]" . '番のwebmをダウンロード</a><br>';

        print '<a href="doTUBEDL.php?INTXT=' . "$myINTXT" . '&SAVEDIR=' . "$myGETSAVEDIR" . '&SAVE_YT_NUM=' . "$outputMOV_NUM[0]" . '" class="btn btn-warning" target="_blank">' . "$outputMOV_NUM[0]" . '番のwebmをダウンロード</a><br>';

    } else if (preg_match('/.*mp4.*/', "$FD")){

        print '<font color="blue">' . "$FD" . '</font><br>';

        ///// 271←これ(yt-dlp -Fのログの最左列)を取り出す

        ///// 271 webm 2114x1440 24 | 396.90MiB 718k https | vp9 718k video only 1440p, webm_dash

        ///// One Hour of Baroque Music for Walking [jDGdNyTqC-k].webm

        // $commandGETMP4 = "echo 12345";

        // $commandGETMP4 = 'echo "' . "$FD" . '"';

        $commandGETMP4 = 'echo "' . "$FD" . '" | awk \'{print $1}\' ';

        exec($commandGETMP4, $outputMOV_NUM, $retMOV);

        // print '<b><font color="blue">' . "$commandGETMP4" . 'が生成されました</font></b><br>';

        // print_r($outputMOV_NUM);

        print '<b><mark>' . "$outputMOV_NUM[0]" . '</mark></b><br>';

        ///// ダウンロードボタンsubmit実装

        // print '<input type="submit" value="' . "$FD" . '" class="btn btn-info"/></a><br>';

        // print '<a href="https://www.google.co.jp"><input type="submit" value="' . "$FD" . '" class="btn btn-info"/></a><br>';

        // print '<a href="https://www.google.co.jp">mp4をダウンロード<input type="submit" value="' . "$FD" . '" class="btn btn-primary"/></a><br>';

        // print '<a href="' . "$myDOM" . rawurlencode("$n") . '" class="btn btn-primary" target="_blank">' . "$FD" . '</a><br>';

        // print '<a href="' . "$myDOM" . rawurlencode("$n") . '" class="btn btn-primary" target="_blank">mp4をダウンロード</a><br>';

        // print '<a href="' . "$myDOM" . rawurlencode("$n") . '" class="btn btn-primary" target="_blank">' . "$outputMOV_NUM[0]" . '番のmp4をダウンロード</a><br>';

        // print '<a href="' . 'https://www.google.co.jp' . '" class="btn btn-primary" target="_blank">' . "$outputMOV_NUM[0]" . '番のmp4をダウンロード</a><br>';

        print '<a href="doTUBEDL.php?INTXT=' . "$myINTXT" . '&SAVEDIR=' . "$myGETSAVEDIR" . '&SAVE_YT_NUM=' . "$outputMOV_NUM[0]" . '" class="btn btn-primary" target="_blank">' . "$outputMOV_NUM[0]" . '番のmp4をダウンロード</a><br>';

 

    } else {

        print '<font color="black">' . "$FD" . '</font><br>';

    }

    print '<hr>';

}

 

 

 

 

 

その買うを、もっとハッピーに。|ハピタス

映画 チェンジリング「ときには、使うべき言葉を使わなくては」

言わなくてはならない言葉が、

ときに至って言うべき【必要な言葉】がある

 

映画「チェンジリング

実話に基づく映画だ。

 

f:id:min117:20220103212044j:plain

f:id:min117:20220103212635j:plain

 

Fuck them...「クソくらえ… 奴ら くたばるがいい」

f:id:min117:20220103212614j:plain

f:id:min117:20220103212255j:plain

 

「いいよの。ときには、使うべき言葉を使わなくては

f:id:min117:20220103211640j:plain

 

年始から良い映画を見た。

 

 

 

 

 

その買うを、もっとハッピーに。|ハピタス

 

 

その買うを、もっとハッピーに。|ハピタス