動画圧縮を行うウェブアプリケーション
Comming Soon...
このサービスは、動画圧縮サービスです。
このサービスは、動画からオーディオや GIF など異なるフォーマットを作成したり解像度を変換する場面の使用を考えています。
ユーザは圧縮や解像度変更、フォーマットコンバージョンを行いたい動画ファイルを選択します。
その後、サービスをブラウザから選択すると圧縮等がなされたファイルをダウンロードすることができます。
基本的な機能として、下記のような機能を提供しています。
-
動画ファイルを圧縮する(圧縮の度合いを low, medium, high から選択できます)
-
動画の解像度を変更する
-
動画の縦横比を変更する
-
動画をオーディオに変換する
-
指定した時間範囲から GIF を作成する
詳細は Usage Example をご覧になってください。
このプロジェクトをローカル環境で動かすためにはPython 3.XとNode.Js、npm, ffmpegが必要です。
% ffmpeg -version
ffmpeg version 6.1.1 Copyright (c) 2000-2023 the FFmpeg developers上記のような実行結果であれば大丈夫です。ffmpeg は version 6.1.1 では動作することを確認済みです。
これらが揃っている場合いかに進んでください。
% git clone git@github.com:TlexCypher/VideoCompressor.git
% cd VideoCompressor
% cd backend
% cd socket
% cd server
% python3 vc_server.py # backendのサーバー側を起動
% cd ../client/api
% python3 routes.py # backendのクライアント側を起動
% cd ../frontend
% npm install
% npm run dev # fronendを起動今まで構築してきた Web アプリケーションは、単純な HTTP 通信を使ったクライアントサーバモデルを採用してきました。
しかし、最近 OSI 参照モデルなどについて勉強したこともあり、アプリケーション層とトランスポート層という違うレイヤーのプロトコルを 1 つのアプリケーションで使う機会を経験したいと思い、挑戦に至りました。
また、卒論や README の執筆時など動画を圧縮したいと思う機会が刹那的ではあるが重なったため、自分で作る挑戦をしました。
- サービスがどのくらい終了しているかがわかるプログレスバーを表示したい