【個人開発】Youtube等の動画、音声ファイルのキーワード抽出サービスを作ってみた【SEO対策】【動画解析ツール】

![top.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2672333/a0d2a77b-91f4-977c-be63-9456f1ef6b2f.png)

https://gold-cycling-307817.an.r.appspot.com

**本動画解析ツールは上記をクリックすればとべます**

# 動画(音声)配信としてのｷｰﾜｰﾄﾞの重要性
動画配信者目線で見た場合、動画の種類/数が飽和しており再生数を伸ばすことが困難となってきています。​

その中で、動画の再生数を増加させるためには**ユーザの検索に引っかかる必要があり**、そのためにも検索上位を狙いたい**ｷｰﾜｰﾄﾞ**を決定する事が重要となっています。

# サービス紹介

動画・音声ファイルのｷｰﾜｰﾄﾞを算出するサービスです。
必要な操作は非常に容易で、動画をアップロードするのみ。
動画をアップロードして頂ければ、本アプリケーションが内容を解析して動画に関するアドバイスを提供します。

検索上位を狙いたいｷーﾜーﾄﾞを決定する事が重要となっていますが、
このｷーﾜーﾄﾞを算出する手法が確立されていない事が現状になります。
そのため、ｷｰﾜｰﾄﾞをデータ分析によって算出する​事を目的として、本サービスを作成しました。

上記を実施することで、再生数を増加させる事も勿論ですが、
データ分析にて自動化する事でクリエイターの負担を軽減する事にも繋がります。​

https://gold-cycling-307817.an.r.appspot.com

# なぜ作った？

元々音声技術に興味があり、今後一層社会に普及されていくと思い
何か音声技術に関するサービスを開発して関わりたい気持ちがありました。

その中で、音声配信サービスと言えばyoutubeが浮かんだのですが(勿論podcast等も有名ですが)、
こちらに関するツールが何か作成できないか検討していた所、
動画のｷｰﾜｰﾄﾞ作成に関してデファクトスタンダードのようなものがなく、
ある程度ノウハウ化されていたため、ツールとして標準化する事が出来ないかと思いサービスを作成しました。

# サービス概要
機能とは大きく分けて３つです。

* アカウントの登録/ログイン
* 音声ファイルの選択(入力)
* 解析結果の一覧/詳細確認

### 1. アカウントの登録/ログイン

#### 説明
本サービスを使用するためには、アカウントの作成、ログインが必要になります。
以下を参考にログインして下さい。

| ユーザ登録画面 | ログイン画面 |
| :--- | :--- |
|  ![register.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2672333/9af3571b-830c-ea97-a9ec-fdffbc009f69.png) | ![login.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2672333/cf2f9791-1b68-35a5-eade-6e441fc8078a.png) |
| ・ 必要事項を入力します。<br> ・ チェックボックスをクリックする  | ・ 必要事項を入力します |

### 2. 音声ファイルの選択(入力)

#### 説明
ファイルを選択ボタンをクリックして、対象の音声ファイルを選択してuploadをクリックして下さい。
現状30MBのアップロード制限をしていますので、ファイルサイズが大きい場合はサイズの圧縮を検討して下さい。

| 音声ファイルの選択画面 |
| :--- |
| ![input.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2672333/f57e2019-1e05-0c90-201e-f168b6cb871e.png) |

### 3. 解析結果の一覧/詳細確認
機能の流れ

1. 解析結果の一覧確認
2. 1.の結果を元に確認する対象ファイルの選択

#### 説明
解析結果を確認する。ｷｰﾜｰﾄﾞの選択肢と共に参考動画の情報が出てくるため
こちらを参考にタイトル等を検討する。

| 1. 解析結果の一覧確認 | 2. 対象ファイルの選択 |
| :--- | :--- |
| ![result.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2672333/13463514-e584-e1a3-fefb-874126b13381.png) | ![detail.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2672333/8b125842-f522-a8d7-64a4-d6be85199f68.png) |
| ・ 左タブにある解析結果をクリックする。<br> ・ ファイル名、日時を元に対象ファイルを選定(クリック)する  | ・ 解析結果を確認する |


# 使用技術

**フロントエンド**
* **Nodejs 16 (framework: Vue3)**

レスポンスを向上させるため、SPA(Single Page Application)を採用

**バックエンド**
* **Golang 1.18 (framework: gin)**

ログイン機能は処理速度が要求される事から、go言語を採用

* **Python 3.7 (framework: flask)**

キーワード算出機能は、多種のAPIの利用およびデータ加工、演算処理が要求される事から、Python言語を採用

**インフラ**
* 各GCPサービス

コストミニマムかつ柔軟にインフラ構成をいじりたかったため、無料枠でのサービス構成が豊富なGCP環境を選択

# こだわったポイント

### 容易な操作画面
サービスを作成する上でなるべく経験的なパラメータを排除したかったため、(敷居が高くなるため)
操作は基本的に容易にしてなるべく多くの情報を提示して、ユーザが各々のニーズ毎に必要な情報を使用する形式にしました。

まだ解析の情報量は多くありませんが、今後機能を追加していく予定です。

### モダンな構成
なるべく最近流行している技術を使用する事で、ユーザに使用しやすい環境を用意しました。

* Vue.jsでのSPAという選択をする事で、サクサク動くUIにする
* バックエンドでは、動作の早いgo言語を使用する
* 各種サービスのAPIを使用して、個々の技術の信頼性を高める

## 今後実装したい機能
* 音声スペクトル解析機能の追加
* キーワード抽出以外の機能
例) NGﾜｰﾄﾞ等のネガティブな内容の検出

## おわりに
まだまだ作り込みが甘い部分もありますが、学習を続けて今後もサービス向上に努めていきたいと思います。
要望あれば、アーキテクチャやインフラ構成、ソースコードの開示等も検討していきたいと思ってます。

このサービスを通してｷｰﾜｰﾄﾞ選定の参考になれば幸いです。
最後までご覧いただきありがとうございました。