月別アーカイブ: 2024年12月

サムネールを自動保存する仕組みを考える(2)

(1)の方法だと一覧が保存されるだけなので特定の人を選んで見るのには向きません。配信者ごとに分けて保存するためには全体ではなく、それぞれを分割して保存する必要があります。しかし表示される位置は毎回変わるし、いわゆる画面コピー機能ではほぼ無理です。

そこでアプリの出番です。
とはいえそんな都合の良いアプリは多分ないので何とかするしかありません。
ということでやり方の一つを提案します。

方法はわりと簡単。
サイトのhtml(Webページを表示するための言語)を読み込んで解析、欲しい情報を引き出します。

例えばこんな感じで表示されている一覧があるとします。

このページを開いた状態で開発メニューから「ページのソースを表示」を選び、出てきたソース表示の上にあるタブから「要素」を選びます。
左側に「三角形」のマークが出ている英字の文字列が出てきますからとりあえず
▶️<body と出ている所の三角形をクリック。

実際にはその行にカーソルを持っていくと一覧が出ている画面に薄青い四角形が表示されると思いますので配信者サムネールの一人分だけ四角が出るまでどんどん三角を開いていきます。

こんな感じ

この時の「要素」画面側の表示はこんな感じ
source
この部分がサムネール画像を表示しているhtml文です。
この場合はbackground-image(背景画像)がサムネール画像のようです。

ここまでが理解できたなら後はプログラムを作るだけ。
htmlを読み込む命令を書き(macならURLSession.shared,dataTaskなど)文字列を分割する命令を使って必要となる配信者名、サムネール画像のURLを人数分取り出します。
(例だと “lady-pic__image” がサムネールを識別するのに使えそうです)
そしてそれをパソコンに保存する命令を書き、何分か待って同じ作業を繰り返すループを組み込みます。

これが一つのヒントになれば幸いです。

サムネールを自動保存する仕組みを考える(1)

ライブ配信をしているサイトを見ている時に思った事はないですか。
何時も見る時間帯以外にはどんな人がいるのかなと。

サイトによってはオンライン(配信中)じゃない人も検索できますが配信中の状況はわかりません。それを見て見たいと思ったら何らかの自動保存アプリを作って一覧画面を保存してみる方法が一番簡単です。

方法は以下の感じ
パソコンがスリープしないように設定
ブラウザーでサイトの配信者一覧を出し、自動更新を設定
何らかのスクリプトで画面(ブラウザーウィンドウ)を定期的にファイル保存

これで配信している時の雰囲気ぐらいは掴めると思います。
その後どうするかは人それぞれですが。

Webに表示されている画像が保存できない

たまに思いますよね。この壁紙欲しいな、とかこの写真が欲しいとか。
良い悪いについては話しません。
もしかしたら保存できるかもしれない方法をご紹介。
できなかったらごめんなさい。
Safariでの話ですが他のブラウザーでも同様の事ができるかもしれません。

まずはSafariの設定を変更。
設定にある「詳細」を選び下の方にある「Webデベロッパ用の機能を表示」にチェックを入れます。設定するとメニューバーに「開発」が出ていると思います。

欲しい画像のあるページを開き「開発」メニューから「ページのリソースを表示」を選びます。アルファベットのテキストが表示されますがとりあえず無視。

欲しい画像のあるページに戻って「リロード」(URLの後ろにある丸い矢印)
さっき出たWebインスペクタに戻って左に出ている「画像」を開いて出ている名前を順番に押してみると右に画像が出るはずです(出ないものもあります)

うまく見つかったら名前を右クリックすると保存ができます(できない場合もあります)

もちろんサイトによっては何らかの対策がなされていて保存できないこともあります。
残念ですがこの方法では無理と諦めてください。

ちなみに短い動画もこの方法で保存できるサイトもありますが最近は少ないです。
(見つかるのは広告ぐらいかもしれません)

fc2rokuというアプリの仕組み

この話をするためには前提としてライブ配信の情報が必須なので簡単に。

多くの人は動画の配信は知っていると思います。(Youtube,Instagram,TikTokなど多数)
それに付随して「ライブ配信」というのも知っているかと思います。Youtube,Instagramなどもできますし最近だとスマホアプリで簡単に始められますね。
しかしスマホがここまで普及する前はニコ生、FC2ライブが有名でした。

そんな中、今の人でも思う「ライブ配信」を「録画」したい!!
という思いに応えて各種アプリやツールが作られ、その一つがfc2rokuです。
しかし昨今の著作権の厳格化や権利意識の向上から各サイトでも対策がとられていますし、日本国内では専用アプリなども無くなってしまった感じです。

それでも完全に防ぐことはできませんし「私的使用のための複製」は認められているので自分でなんとかする分には問題にならないのではないかと。そこで自分でなんとかするためにfc2roku(FC2ライブを録画?)が何をしているのか考えてみました。

といっても中身を見る手段がないので仕組みを推測。
サイトから送られてくる動画情報をファイルにするのはffmpeg
動画情報のURLはサイトのhtmlなどをブラウザーの開発ツールで表示して見つける
あとはこれをどういった手段(アプリを作るかシェルスクリプトを作るか)

気になった方は多くのサイトで「まだ」使われているHLS(HTTP Live Streaming)の「.m3u8」を見つけて見ましょう。

ただスマホアプリしか対応していない最近のライブ配信はそもそもPCで見えなかったり新しいストリーミングツールを使っているので無理な場合もあります。
蛇足ですが「動画配信(ライブじゃない物)」はどんどん新しいストリーミングツールになっているのでこの方法では録画できないと思った方が良いです。

あくまでも個人でお試しください。間違っても他人に渡すようなことはしないように。
著作権の侵害はとても重い罪になりますのでご注意を