youtubeの動画を自動で文字起こしするプログラムを作成したメモ

はじめに

危険動画チェックを自動化すべく取り組んだのでメモを残しておく。

音声/動画をプログラムで扱う知識がないのでガバガバな可能性があります。

方法1 公式の文字起こしを取得

youtubeのwebページから文字起こしを取得する。

具体的なフロー

  • puppeteerを起動する
  • 対象の動画ページに飛ぶ
  • 三点マークを押して文字起こしを取得する

repo: takeokunn/movie-check

動画ごとに文字起こしされているもの、されていないものがあって全ての動画に対して対応するのは厳しい。 精度はすでに人間が文字起こしている情報を取得できるため、もちろん良い。 自動翻訳は方法2と同じくらいの制度なのでガバが多い

方法2

google speech apiを叩く https://cloud.google.com/speech-to-text/?hl=ja

Amazon Transcribeなど他のサービスは日本語対応がなかったので除外。 https://aws.amazon.com/jp/transcribe/

具体的なフロー

  • youtubeの動画をdownload (この辺使っておけば良い: https://github.com/rylio/ytdl)
  • ffmpegでflacに変換
  • google cloud storageにupload
  • gloucd speech apiを叩いて音声認識を実行する

実際に木下ゆうかさんの動画を翻訳した結果は以下

動画: https://www.youtube.com/watch?v=B--GdMR79x0

こんにちは明日の天気の三連星のお寿司ことぶきを後に迷いました皆さんあけましておめでとうございますあけましておめでとうとしちゃんは何かわかんないけどいい声してますねさすがに年末年始限定のお経ですねタイムカプセル良かれと続けたあられかりんとう金箔ごまかりんと金髪がついてます
0.9316441,ライブん時は美味しかったとしてもこんな感じボーカルお吸い物が付いて真ん中の方が入ったお吸い物です開けてみますみてくださいめっちゃ好感度真ん中に寿ってさせてありますねこの色だからおめでたいですねたら止まったのを待つ一番好きな中トロから食べますですねでももし次は行かれ青じそかな香りといいですねいかがですか答えがトップ教えてこれはマグロです
0.9012095,すごいですね丁寧なお弁当ですでも誰も釣れちゃいますけど海に居る頃元気でよかったんやなっていう漢字の意味ですね元気がいい天気だいい女ですこちらは諦めろって真面目です車もう次は大事を柔らかく
0.9093385,雨が降って積もってますが何か気が大きいですお正月っぽいやつ女か男ですねその中で寝てますね絵本独特なってな感じがいいですね今日は何歩ですかもね
0.84894085,ラーメンくらおかんくなった2018年1月はずっとですなのでサーモンから食べます今年も豪華でしたねネタバレ1年の始まりは
0.9216775,昨年は大変皆さんお世話になりました今年もよろしくお願いいたします2018年のみんなにとっても良い年になると嬉しい本日もご視聴ありがとうございました良いお茶食べて欲しいものがあったら良かったらコメントヤクルト教えてくださいこの動画が良かったら来っとモーツァルトチャンネル登録是非定期お願いします

精度いまいち。。。

まとめ

方法1ができるのであれば、相当正確な文字起こし情報が取得できる。 方法2の精度が上がればどんな動画にも対応できるので非常に汎用性が高い