Pythonによ,youtubeから字幕情報を抽出する
/
Pythonにより,youtubeから字幕情報を抽出を実施します.
Google Colaboratory(以下Google Colab)は、Google社が無料で提供している機械学習の教育や研究用の開発環境です。開発環境はJupyter Notebookに似たインターフェースを持ち、Pythonの主要なライブラリがプリインストールされています。
引用元:Google Colabの使い方 (opens new window)
全国630店舗以上!もみほぐし・足つぼ・ハンドリフレ・クイックヘッドのリラクゼーション店【りらくる】
# Google Driveと連携
Google ColabとGoogle Driveを連携させて,gitからytdl-org/youtube-dl (opens new window)をダウンロードします.
# Google ColabとGoogle Driveを連携
from google.colab import drive
drive.mount('/content/drive')
%%bash
# ディレクトリの移動
cd /content/drive/My\ Drive/Videogrep
# gitのダウンロード
git clone https://github.com/ytdl-org/youtube-dl
ls
# ffmpegのインストール
下記のコードでffmpegのインストールを実施します.
!apt-get install ffmpeg
# 字幕データと動画データの抽出実行
下記のコードで字幕データと動画データの抽出を実施します.
# 作業ディレクトリへの移動
%cd /content/drive/My\ Drive/Videogrep/youtube-dl
!ls
# 字幕データと動画データを抽出
!python -m youtube_dl --sub-lang ja --write-auto-sub --sub-format vtt -o '%(id)s' https://youtu.be/g3dl32LaOls
# OagYLOhxf6A.mkv, OagYLOhxf6A.ja.vtt
# 字幕付き動画の生成
下記のコードで字幕付き動画の生成を実施します.
# language=[英語ならeng/ 日本語ならjpn]
!ffmpeg -i g3dl32LaOls.mkv -i g3dl32LaOls.en.vtt -map 0:v -map 0:a -map 1 -metadata:s:s:0 language=eng -c:v copy -c:a copy -c:s srt -y g3dl32LaOls_subtitle_ja.mkv
# まとめ
そもそも,youtubeの字幕データはひどいもんですが,字幕付き動画の生成は1度してみたかったので,本稿で実装しました.
# 参考サイト
字幕情報を利用した Python による動画自動編集 (Videogrep) (opens new window)
YouTubeのURLを投げたら字幕だけ取り出してくれるオレオレAPIをつくる (opens new window)