LoginSignup
1
0

More than 1 year has passed since last update.

TwitterのDMで送られた動画・ボイスメッセージをPowershellでダウンロード

Last updated at Posted at 2022-09-23

なんか検索しても見つからなかったので.備忘録です.

皆さんおなじみTwiDropperにも以下のように書かれています:

著作権者の許可なくアップロードされた動画をダウンロードすることは法律で禁じられています。違法ダウンロードを行ってはいけません。

違法なダウンロードをしてはいけません.

モチベーション

親しい人から送ってもらった動画やボイスメッセージ,(もちろん相手の許可を受けた上で)残しておきたいですよね?

しかしTwiDropperでダウンロードできるのはDM内の画像と動画だけで,ボイスメッセージは未対応なご様子.検索かけても画面録画を使えなどというエンジニアにとってはナンセンスな方法しか表示されなかったので,じゃあ作るかと.

余談:TwiterのDMのボイスメッセージ?

iPhoneやAndoroidのTwitterアプリから利用できる機能で,DM画面(下図)における,黄色い矢印が指すアイコンをタップすると送れます.

whatisvoice.png

送ったボイスメッセージは▶ 0:05と示されているもので,タップすると聞けます.

手法

手続きは以下です:

  1. PCのchromeでTwitterの当該DMを開く
  2. chromeのデベロッパツールを開き,Networkタブを準備する
  3. 動画 or ボイスメッセージを再生し,m3u8を見つける
  4. ffmpegでm3u8.mp4に変換する

各ステップの詳細は以下です.また以降では,ボイスメッセージをダウンロードする条件で話を進めますが,動画でも全く同じ手続きでダウンロードすることが可能です.

PCのchromeでTwitterの当該DMを開く

さあ開いてください.2022/09/23現在,以下のような画面です.以下の画面はボイスメッセージを受け取ったアカウントの画面です.

dm-screen.png

chromeのデベロッパツールを開き,Networkタブを準備する

おなじく開いてください.WinであれはCtrl + Shift + Iですね.皆さんおなじみです.

dm-develop.png

ボイスメッセージを再生し,m3u8を見つける

以下の図,黄色矢印の①,②,③に従ってください.詳細な工程は図の以下のテキストで解説します.

dm-record-2.png

まず①で,ボイスメッセージを再生します.どうやらボイスメッセージはストリーミング再生されるようですので,とかく再生して,音声のファイルを受け取っておきます.

赤矢印が示す場所をうまく使うと,ダウンロードされたファイルがわかりやすくなったりならなかったりします.

次に②で,表示するファイルがm3u8だけになるようにフィルタリングしておきます.

m3u8はストリーミングされたメディアのプレイリストのテキストファイルのようです.詳細興味ある方は適宜検索してください.

最後に③で,m3u8ファイルを選び,そのURLをコピーします.ファイルを右クリックし,Copy -> Copy link addressで,当該m3u8のURLをクリップボードに残しておいてください.

m3u8ファイルはいくつか表示される可能性があります.どれかが当たりでどれかが外れです.どちらを選んでも音声はダウンロードできるみたいですが,最終的に.mp4にした時の仕上がり?が良いものと悪いものがあるっぽいです.まあ片っ端からダウンロードして様子を見ましょう.

ffmpegでm3u8.mp4に変換する

以下のスクリプトでffmpeg経由でボイスメッセージをダウンロードし,.mp4として保存することが可能です.以下はPowershellを使用していますが,お好きなシェルでいい感じにしてください.

$m3u8 = "<さきほどコピーしたURL>"

& ffmepg -i $m3u8 -movflags faststart -c copy -bsf:a aac_adtstoasc output.mp4

余談ですが,どうやら,ボイスメッセージは映像としてストリーミングされているようです.なので映像がファイルとして残ります.

ダウンロードするスクリプトは以下のエントリを参考にしました.というかそのままです.

おわりに

仕組みがわかれば意外と簡単です.

繰り返しですが,くれぐれも違法なダウンロードはしないでください.あとこれTwitterの利用規約に反してないですよね?規約違反をしたいわけではないので,その場合は誰か教えてください.

追記@2023/04/30

DMで送られた動画に対しても同じ手続きでダウンロードができることを確認できたため,タイトルや一部文章を変更しました.

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0