2016 年 2 月 4 日
平成 27 年度 情報・通信工学科 コンピュータサイエンスコース 卒研発表会

オンプレミスで利用可能な複数動画変換システムの開発
情報・通信工学科 学籍番号:1211212 成見哲研究室 和田将義

2.4

はじめに

1

本研究との差異

dvd::rip および Media Encoding Cluster は並列処理を行

通信品質や処理速度の向上，動画共有サービスの台頭にようシステムのため，全ての汎用 PC でエンコーダを統一する必りスマートフォンで動画を視聴する機会は日に日に増している要がある．本研究で開発システムでは一部の汎用 PC にハー[1]．ユーザとしては，通信量に制限があるデータ回線を用いる

ドウェアエンコーダや GPU が搭載されている場合，それらを場合，大容量の動画を多量にダウンロードすることは望ましく利用した動画変換にも対応する点が既存製品との差異である．

ない．一方，通信量に制限のない固定回線等では容量にかかわAmazon Elastic Transcoder はクラウド型の動画変換サービ

らず品質の高い動画が視聴可能となるべきである．よって，動スであるという点が本研究と大きく異なるが，それ以外の仕組画共有サービス等を運営する上でユーザの回線状況を考慮したみは開発するシステムの目標となるものである．

動画の品質制御は重要な課題である．このような動画の品質制御を行う際，事前に動画を複数の解像度，ビットレートに変換し保存する必要がある．
動画の変換処理は計算負荷が高いため，計算能力の高いサーバで行うことが望ましい．しかし，組織によっては高価なサーアに分かれる．使用者は事前にストレージに動画を保存し，マクで接続し，複数の動画を複数の解像度，ビットレートに並行ネージャにエンコードリクエストを送る．マネージャは処理をして変換するシステムの開発を目標とする．本研究では動画を行っていないエージェントを検索し見つかった場合は処理を変換することをエンコードと呼ぶ．

dvd::rip [2]システム全体の概要

ネージャ，実際に処理を行うエージェントの 3 つのソフトウェきない場合がある．そこで本研究では，汎用 PC をネットワー

2.1

3.1

ステムは動画を管理するストレージ，エンコードを管理するマ

価な外部のクラウドサーバ等を契約し処理を依頼することもで既存製品システムの仕様

本研究におけるシステムの全体図は図 1 の通りである．シバを購入することができず，規約や決済方法の制限等により安23依頼する．見つからなかった場合は処理中のエージェントが処理を終えるまで待ち，終了し次第新たな処理を依頼する．エー
ジェントは依頼を受け取り実際にエンコードを行う．

オープンソースの動画変換システムである．クラスターモー
ドを用いることで単一の動画ファイルの変換を複数の汎用 PCで分散処理することにより変換にかかる処理時間を短縮することができる．2010 年ごろから開発が停止している．

2.2

Media Encoding Cluster [3]図1

システム全体の概要

オープンソースの分散動画変換システムである．Linux とWindows に対応しており，複数の汎用 PC で単一の動画ファ3.2イルの変換を分散処理することにより変換にかかる処理時間を短縮することができる．2014 年ごろから開発が停止している．

ストレージ

ストレージはエンコードする動画を管理するソフトウェアである．本研究では Minio[5] という既存製品を用いた．

2.3

Amazon Elastic Transcoder [4]3.3

Amazon Web Services，Inc. が提供するクラウド型メディマネージャ

マネージャは動画の管理および変換処理の受付を行う．

ア変換サービスである．Web API 経由で動画変換リクエスト

Web UI を提供しており，Web ブラウザから変換要求を行うを送ることができるため，他サービスとの親和性が高い．

1

ことができる．また，Web API および Webhook を提供して価を行い，本研究の優位性を確認した．ここで，本研究で到達おり，エンコード処理の自動化やエンコード後の処理を指定すできなかったことおよび本研究を行っている際に発見した問題ることができる．

点を以下に示す．

• テストコードの追加

エージェント3.4

現行のシステムは単体テストを一切行っておらず，今後エージェントは実際に動画の変換を行う端末にインストーの機能追加やコード品質改善時に既存の機能を破壊するルするソフトウェアである．処理依頼を受けてストレージか可能性がある．この可能性を下げるためにテストコード

ら動画をダウンロードし，メディア変換ソフトを実行してエンを追加する必要があると考えられる．

コードを行ない，変換後の動画をストレージにアップロードす• エラー時処理の定義

る．動画変換ソフトウェアには ﬀmpeg[7] を用いる．ﬀmpeg

現状では特に対策を施していないためエラー時は常にはオープンソースのメディア変換ソフトウェアである．これにHTML が出力される．JSON を返すべき Web API をより，Intel 社製 CPU 内蔵の QSV[8] や NVIDIA 社製 GPU用いている他のアプリケーションに影響を与えないよう，内蔵の NVENC[9] など，ﬀmpeg が対応しているハードウェ

エラー時の状況に応じて出力される情報の形式を定めるアエンコーダを用いた変換が利用可能となる．

4必要がある．

• エンコードのパラメータ追加

実験と評価

本研究で用いた ﬀmpeg はエンコード時に多くのパラメー開発したシステムで複数の動画をエンコードした場合と，シタを設定することが可能である．設定できるパラメータ

ステムを用いず単一の汎用 PC で複数の動画をエンコードしを増やし動画の画質をより細かくチューニングできるよ

た場合，それぞれで処理にかかった時間を比較することで，シう拡張していきたい．

ステムの評価を行った．実験に用いた汎用 PC は表 1 の通りである．

参考文献
表1

デスクトップ PC1
ノート PC1
ノート PC2
ノート PC3

実験に用いた PC[1] “10 代におけるスマートフォン動画の接触率は 80% でテレビと拮抗 50 歳未満の半数以上が PC 動画を視聴”
http://www.cyberagent.co.jp/files/topics/10844 ext 04 0.pdf[2] “dvd::rip” https://www.exit1.org/dvdrip/[3] “Media Encoding Cluster”
http://www.encodingcluster.com/trac/[4] “Amazon Elastic Transcoder”
https://aws.amazon.com/jp/elastictranscoder/[5] “Minio” http://minio.io/[6] “Raspberry Pi” https://www.raspberrypi.org/[7] “FFmpeg” https://www.ﬀmpeg.org/[8] “Intel Quick Sync Video”
http://www.intel.com/content/www/us/en/architectureand-technology/quick-sync-video/quick-sync-videogeneral.html[9] “NVIDIA VIDEO CODEC SDK”
https://developer.nvidia.com/nvidia-video-codec-sdk[10] “Recommendation H.262”
http://www.comp.nus.edu.sg/ cs5248/0910S2/l03/IEC13818-2 Specs.pdf[11] “情報源符号化部 H.264 | MPEG-4 AVC 規格の概要”
http://www.soumu.go.jp/main sosiki/joho tsusin/
policyreports/joho tsusin/bunkakai/pdf/060720 3 12 sa2.pdf

CPUIntel Core i7 3770K 3.5GHz (4Core)Intel Core i5 M520 2.4GHz (2Core)Intel Core i5-4250U 1.3GHz (2Core)Intel Core i5-4288U 2.6GHz (2Core)開発したシステムではデスクトップ PC1，ノート PC1，ノート PC2 を用いた．単一の汎用 PC でのエンコードにはノート PC3 を用いた．ノート PC2 では CPU 内蔵のハードウェアエンコーダ，QSV を用いてエンコードを行うよう設定した．用いる動画は 3 分 38 秒 249.6MB の MPEG-2[10]ファイルであり，各実験で 10 回 H.264 に変換して時間を計測した．
実験を行った結果，本システムを用いてエンコードした場
合は開始から終了まで 408 秒，単一の汎用 PC を用いてエンコードした場合は 1937 秒であり，本システムを用いた場合のほうが約 4.72 倍速いことが確かめられた．よって，単一の汎用 PC でのエンコードに比べ本システムを用いたほうが有意に高速にエンコードが可能であると考えられる．

5

まとめと今後の課題
本研究では複数の動画を複数の汎用 PC で並行して処理するシステムの開発を行った．また，単一の PC でエンコードした場合に比べ，どの程度の速度で処理を行うことができるか評2