はじめに
- Youtubeの字幕機能を使って,動画のセリフと音声が紐付いたDBをつくった
- ややグレー
- サイトはこちら http://vtuber-db.site
使い方
日本語字幕がついているYoutube動画のURLを貼る
保存したいセリフを指定
作成
処理の流れ
- 貼られたURL(
https://www.youtube.com/watch?v=03H1qSot9_s
)の動画ID(&v=xxxxxxx
)を使って字幕を取得 - 字幕のURLはこんなかんじ
http://video.google.com/timedtext?lang=ja&v=#{video_id}
lang=ja
で字幕の言語を指定ちなみに
http://video.google.com/timedtext?type=list&v=#{video_id}
とすると,どの言語の字幕があるかというリストを返します字幕はXML形式で取得できる
これが字幕の最小単位
<text start="0" dur="3">10分ちょっとで分かる月ノ美兎</text>
各字幕は,動画中の開始時間(
start="0"
)と,再生時間(dur="3"
※終了時間ではない)を持つので,これを使って動画を切り取る- 動画を切り取るにはffmpegを使う
$ youtube-dl --get-url #{動画URL} $ ffmpeg -y -ss #{開始時間} -t #{再生時間} -i '#{CDNのURL}' #{output_filepath}
- 細かい説明は省いていますがだいたいこんなかんじ