動画・音声・画像・PDFなど多様なファイル形式を扱え、自動解像度変換や自動音声文字起こしなどYouTubeの主要な機能を自前のサーバー上で再現できる「MediaCMS」が公開されています。

mediacms-io/mediacms: MediaCMS is a modern, fully featured open source video and media CMS, written in Python/Django and React, featuring a REST API.

https://github.com/mediacms-io/mediacms/

MediaCMS - Modern Open Source Video & Media CMS | Professional Services

https://mediacms.io/



◆デモサイト

https://demo.mediacms.io/

◆MediaCMSの主な特徴

動画・音声・画像・PDFなど多様なメディアタイプをサポート。



解像度の切り替えや再生速度調整が可能な高機能動画プレイヤー。



メディアの公開・非公開・限定公開などアクセス制御が可能。



グループに対してカテゴリによる閲覧制限が可能。



Whisperによる自動音声文字起こし。字幕ファイルのアップロードも可能。



多言語による字幕をサポート。



動画のトリミング・置換・保存・編集後の動画を新規動画として保存・チャプター分けがブラウザで可能。



組織や会社で利用している認証システムと連携が可能。



音声・動画のプレイリスト作成、並び替えが可能。



ユーザー登録方法は誰でも登録できる公開形式や管理者からの招待でのみ登録できる招待形式、およびユーザー登録を無効にした閉鎖形式から選択可能。



閲覧制限や投稿数の制限、アップロード可能なメディア形式などの機能やデザインなどのカスタマイズが可能。



144pから1080pまでの解像度、h264・h265・vp9などの複数の圧縮形式に対応。



ネットワーク環境に応じて自動的に画質を調整。



REST APIにより外部のプログラムやサービスと連携が可能。



多言語インターフェースに対応。



カテゴリ、タグによる分類でメディアを整理可能。



SNS共有ボタンや埋め込みコードの生成に対応。



入力されるキーワードの予測機能により、素早く目的のメディアを検索可能。



レスポンシブデザインによりデスクトップ、タブレット、スマホで最適に表示。



ユーザーの好みに合わせてライトモード・ダークモードを選択可能など、多くの機能が用意されています。



◆MediaCMSの構築方法

今回はGoogle CloudのVMインスタンス上のUbuntuでDockerが利用できる環境に構築します。作業用フォルダでMediaCMSのリポジトリをクローンします。


git clone https://github.com/mediacms-io/mediacms.git


mediacmsフォルダに移動。


cd mediacms


docker-compose.yamlを編集して管理者パスワードを設定。


vi docker-compose.yaml

16 ADMIN_PASSWORD: 'uncomment_and_set_password_here'


自動音声文字起こし機能を利用する場合は、local_settings.pyを編集して環境変数「USE_WHISPER_TRANSCRIBE = True」を追記します。


vi deploy/docker/local_settings.py


FULLバージョン用のコンテナを起動。


docker compose -f docker-compose.yaml -f docker-compose.full.yaml up -d


しばらく待つと全てのコンテナが起動しました。



ブラウザでホストのIPでアクセスするとMediaCMSのホームページが表示されます。



右上にあるサインインをクリック。



「ログイン」および「パスワード」にdocker-compose.yamlで設定した管理者アカウントとパスワードを入力して「Sign In」ボタンをクリック。



ログインが完了するとメッセージが表示されます。



テストで動画をアップロードするため「UPLOAD MEDIA」ボタンをクリック。



動画ファイルをドラッグ&ドロップしてアップロード。



アップロード完了後「私のメディア」へ移動すると一覧が表示されるのでアップロードした動画の「ペン」アイコンをクリック。



動画の設定画面が表示されるので、自動音声文字起こし機能を試してみます。「Captions」から「Transcription」にチェックを入れてオンにしてから「Submit」をクリック。



リクエストが受け付けられるのでしばらく待ちます。



文字起こしが完了すると動画再生画面の右下に字幕アイコンが表示されるのでクリックし「Transcription」を選択すると字幕が表示されます。



字幕の編集をするには動画の設定画面の「Captions」から最下部にある「Transcription」をクリック。



編集フォームが表示されます。



なお、管理者アカウントでログインしている場合はURLの最後に「/admin/」を追加すると、動画のエンコーディングや文字起こしなどの処理状況が確認できるバックエンドの管理画面が表示可能です。