AV1圧縮動画の作成とウェブ配信方法

AV1圧縮動画の作成とウェブ配信方法

(2020.05.14作成, 20.08.28更新)
=次世代動画圧縮コーデック AV1動画の作成とウェブ配信方法= 
AOMedia Video 1 (AV1) はインターネット上での動画配信を目的として非営利団体の Alliance for Open Media(AOMedia) が開発したオープンかつロイヤリティなしで自由に利用できる動画圧縮コーデック。主に VP9に基づき、DaalaとThorとVP10の技術を組み込んで開発され、2018年3月28日に仕様が一般公開された(下図、ビデオコーデック技術の発展歴史)。
VP9やHEVC/H.265の約20%の効率上昇を掲げている(下パネルを展開して確認)。
=AV1| VP9| H.264| H.265 Encoding comparison=
極低ビットレート 50Kbpsで圧縮した時の画質比較
こちらの YouTubeより引用)
下は、50Kbpsで圧縮した時の画質比較(サイト動画の埋め込み)
H.265は複雑で高額なライセンス料が必要となるので、その置き換えを目指し世界中の名立たる IT会社がプロモーターメンバーとして参加している。

そこで、早速各種AV1圧縮動画を作成して各種配信方式で提示して、その実力を検証してみた。

* 2021年 8月時点での動向は、DPSJ の記事「ビデオコーデックとエンコード、 知っておきたい最新情報」を参照。

I. AV1圧縮動画の作成方法
A) AviUtlの出力プラグイン「拡張SVT-AV1出力(GUI)Ex」を用いて、AV1_AAC圧縮MP4動画へ変換
拡張SVT-AV1出力(GUI)Exは、rigayaさんの日記兼メモ帳より「svtAV1guiEx 0.00 beta2」を入手して、原著の記載に準じて導入したが、全てのツールは最新にアップデートする必要があった。
=「拡張SVT-AV1出力(GUI)Ex」導入手順=
0) AviUtl: v1.10にアップデート(C:\Program Files (x86)\AviUtl)
1) svtAV1guiEx 0.00 beta1⇒ beta2を解凍して、原著に準じて Aviutl本体に手動でコピー(SvtAv1EncApp.exeは、C:\Program Files (x86)\AviUtl\SvtAv1EncApp.exe)
2) 音声エンコーダ:qaac_2.68.zipをこのcabinetより入手。解凍してqaac64.exeをAviutl本体にコピー(C:\Program Files (x86)\AviUtl\qaac64.exe)
3) mkv muxer;mkvtoolnix-64-bit-46.0.0-setup.exeを MKVToolNixより入手してインストール(C:\Program Files\MKVToolNix\mkvmerge.exe)
*以前から使用していたmkvmerge.exe v6.5.0では多重化出来ない・・・ダメだったので、別途アップデートインストール
4) mp4 muxer;gpac-0.8.0-rev1-gc1990d5c-master-x64.exeを こちらのGPACより入手。mp4boxのみをインストール(C:\Program Files\GPAC\mp4box.exe)
*以前から使用していた v0.6.0.6では多重化出来ない・・・ダメだったので、別途アップデートインストール
5) 出力プラグイン「拡張 SVT-AV1 出力(GUI) Ex」の設定画面で、SvtAv1EncApp.exe, qaac64.exe, mkvmerge.exe, mp4box.exeの場所を指定。
6) その他の設定は、mp4出力を標準に変更した以外は初期設定のままとした
7) ビデオ圧縮は、レート制御を[0-CPQ]→ [2-CVBR]に変更して、通信速度(ビットレート)を指定した。音声圧縮は、[ABR(AAC)ビットレート指定]→ [CVBR(AAC)ビットレート指定]に変更して指定した。
*CBR(固定ビットレート),VBR(可変ビットレート), ABR(平均ビットレート)の3種類
最終的に、今回の元動画は 解像度:720x408, AVC:695Kbps, AAC:117Kbpsの MP4動画を用いて、ビデオ圧縮を CVBR:695Kbps、音声圧縮を CVBR:128Kbpsに設定して出力した。

変換成績:ほぼ目標値の AV1:686Kbps、AAC:126Kbpsで変換された。
残念ながら、この出力プラグインでは AV1動画の汎用形式とされている AV1_Opus圧縮WebMへ変換出来ない。
II. Convertio(オンライン版ファイルコンバーター)で AV1_Opus圧縮WebM動画へ変換
オンライン上で MP4から AV1へ無料で変換可能だ(こちらからアクセス)。
コンテナ形式は MP4, MKV以外にも、WebMへ ビデオ圧縮:AV1/ VP8/ VP9、オーディオ圧縮:Vorbis/ Opusで変換可能となっている。
また、[画質の設定:50段階] ないし[ビットレート:自由に設定]も可能。
なお、VLC, XMedia Recode, HandBrakeは、最新版でも未だ AV1への変換機能を搭載していない。
=AV1圧縮WebM動画への変換設定=
お持ちのMP4をAV1に変換 オンラインで無料で使えるMP4からAV1へのコンバーター」のページで、
・ [ファイルを選ぶ]をクリックして、コンピュータの変換元動画を開く
・ [AV1]ボタンをクリックして、コンテナ形式:WEBMを選択
・[設定]ボタンをクリックして、今回は以下の如く設定
ビデオコーディク:AOMedia AV1、オーディオコーデック:今回は Opusを選択
変換成績
残念ながら、想定したような転送速度にならない(通常画質だと、極めて高い転送速度となってしまう。ビデオ:最低画質32、オーディオ:低に設定したら、700Kbps、128Kbps位になった)。
100MB以上のファイルや 3回以上投稿した場合、”あなたは一日あたり 10 変換分の制限を超えました” となって、直ぐに有料へ持ち込まれてしまう。
III. AV1圧縮MKV動画へ変換
・AV1_AAC圧縮MKV動画:AviUtlの「拡張SVT-AV1出力(GUI)Ex」にて変換
・AV1_Opus圧縮MKV動画:IIのWebM動画をmkvtoolnix-gui.exeでMux

IV. AV1圧縮MP4動画(1分14秒)のウェブ配信試験
IExplorerの機能拡張 VLC, DivXによる動画再生は ⇒ WXR-NASで検証
=AV1動画をTML5ビデオとして配信する方法=
HTML5 <video>のオプションを、 以下の如く記述して配信
*ビデオコーデック:H.264/AVCの場合は avc1.4D401E、H.265/HEVCの場合は hevc 、AV1の場合は av01.0.05M.08
*オーディオコーデック:AACの場合は mp4a.40.2、opusの場合は opus
例えば、AV1_AAC.MP4の場合:<source src="ビデオ名.mp4" type="video/mp4; codecs=av01.0.05M.08,mp4a.40.2" />
< 成績 >
以下は、特に断りがない限り AV1_AAC圧縮MP4動画の再生成績を示す
A) HTML5ビデオとして AV1圧縮動画再生の可否
(サイト「Caniuse.com」を参照)
更新・追加/ 訂正(2020.08.28)
a) AV1_AAC圧縮MP4動画
:問題なく再生可、:問題あるも再生可、:映像再生不可音声のみX:未対応
 
デバイスv
ブラウザ
 
Windows
10
Mac OS
10.13
Ubuntu
18.04
Android
iOS
13.3
9
10
IExplorer
X(v11)
MS Edge
注1)(v44)
(v83)
(v45)
(v45)
X(v45)
Safari
X(v13)
X(v13)
Chrome 69<
(v81)
(v81)
(v76)
(v84)
(v84)
X(v81)
Firefox 65<
(v76)
(v71)
(v69)
X(v79)
X(v79)
X(v25)
Opera 57<
(v68)
(v65)
(v63)
(v59)
(v59)
X(T2.3.2)
Vivaldi 2.1<
注2)(3.2)
注2)(3.2)
(2.7)
(3.2)
(3.2)
Windows, Mac OS, Ubuntuは、Chrome, Firefoxと Operaでのみサポートされていた。
Android(d-02K, 今回は Android 9)とiPad mini4(iOS13.3)のブラウザは、映像再生出来なかった。しかし、
<備考>2019年秋リリースされた Android10は AV1と Opusに対応した!
1) ドコモショップの店頭商品 Galaxy S20 5G搭載ブラウザ(Samsung Internet Browser)で検証したところ、試験した全ての AV1圧縮動画(AV1_AAC.MP4, V1_Opus.WebM, AV1_AAC/Opus.MKV)の再生が可能だった ・・・他のブラウザでは如何?
2) 2020年8月20日発売の Google Pixel 4aで検証したところ、
・Chrome(74): 音声のみ再生。映像の再生は不可だったが・・・
→ Chrome(84):試験した全ての AV1圧縮動画の再生が問題なく可能となった。
・MS Edge(45)、Opera(5.9)、Vivaidi(3.2):全ての AV1圧縮動画の再生可能
・Firefox(79): いずれのAV1圧縮動画も再生不可・・・残念ながら、今も未対応のままだ
注1) Microsoft Edge(MS Edge)
Windowsの MS Edge44は、ストアアプリ「AV1 Video Extension」をインストールしておけば、[MS Edge]や[映画 & TV]でも AV1動画を再生できるようになる。
一方、Chromiumベースの MS Edge83は、Windowsも Mac OSいずれも何故か?再生出来なかった(MS コミュニティ「記事」を参照)
?(゜_。)?
注2) Vivaldiは、v2.1で AV1をサポートした (VB-44942) が・・・
v3.2でも、Windows, Mac OSでは AV1圧縮動画のAACを再生出来ない ?(゜_。)?
(a) MP4形式のAV1動画:UbuntuとAndroid10では問題なく再生可能。WindowsとMac OSでは映像再生可能なるも、無声となってしまう ┓(´_`)┏ 残念
(b) WebM形式のAV1動画:「Quick Command Parameters」を検討していたら、YouTubeの AV1 Beta Launch PlaylistWebM形式のAV1動画では視聴可能という事に気づいた \(^o^)/
=Quick Command Parameters 引用文=
Quick Command Parameters – v1v4ld1 br0w53r 5n4p5h07 1337.17
Today’s snapshot allows you set precise zoom values via Quick Commands and enables support for the AV1 codec.
発表日 10月 18, 2018
ーーー 略 ーーー
Alliance for Open Media, Video 1 (AV1) support

ーーー 略 ーーー
If you want to try AV1 out, go to youtube.com/testtube and enable AV1. Once enabled, certain videos will now play in AV1. You can check if AV1 is being used by right clicking on the video, selecting “Stats for nerds” and looking at the codecs line for “av01…”.
ーーー 略 ーーー
(c) MKV形式のAV1動画:UbuntuとAndroid10では問題なく再生可能。WindowsとMac OSでは 音声が Opusの場合は問題く再生可能だが、AACの場合には映像の再生は可能だが何故か 無声となってしまう
b) AV1_Opus圧縮WebM動画(AV1圧縮動画の汎用形式)
 
デバイスv
ブラウザ
 
Windows
10
Mac OS
10.13
Ubuntu
18.04
Android
iOS
13.3
9
10
IExplorer
X(v11)
MS Edge
注1)(v44)
(v83)
(v45)
(v45)
X(v45)
Safari
X(v13.1)
X(v13.1)
Chrome 69<
(v81)
(v81)
(v76)
(v84)
(v84)
X(v81)
Firefox 65<
(v76)
(v71)
(v69)
X(v79)
X(v79)
X(v25)
Opera 57<
(v68)
(v65)
(v63)
(v59)
(v59)
X(T2.3.2)
Vivaldi 2.1<
(3.2)
(3.2)
(2.7)
(3.2)
(3.2)
Windows, Mac OS, Ubuntuは、Chrome, Firefox, OperaとVivaldi(及び注1のMS Edge44)は、いずれも問題なく再生可能で一番汎用性が高かった。しかし、
Android 9とiPad mini4のブラウザは、いずれも映像再生出来なかった。

<参考>「video要素ーWikipedia(2020年5月13日)」の AV1圧縮WebM動画への対応状況は、正しくない!
c) AV1_AAC/Opus圧縮MKV動画
 
デバイスv
ブラウザ
 
Windows
10
Mac OS
10.13
Ubuntu
18.04
Android
iOS
13.3
9
10
IExplorer
X(v11)
MS Edge
注1)(v44)
(v83)
(v45)
(v45)
X(v45)
Safari
X(v13.1)
X(v13.1)
Chrome 69<
(v81)
(v81)
(v76)
(v84)
(v84)
X(v81)
Firefox 65<
X(v76)
X(v71)
X(v69)
X(v79)
X(v79)
X(v25)
Opera 57<
(v68)
(v65)
(v63)
(v59)
(v59)
X(T2.3.2)
Vivaldi 2.1<
注2)(3.2)
注2)(3.2)
(2.7)
(3.2)
(3.2)
Windows, Mac OS, Ubuntuは、Chromeと Opera(及び注1のMS Edge44)では 再生可能だったが、Firefoxは再生出来なかった。Vivaldiは下記の如く不可思議な対応
注意2) Vivaldiは、Windows, Mac OSの場合には 音声が Opusの場合は問題く再生可能だが、AACの場合には映像の再生は可能だが 無声となってしまう
Android 9とiPad mini4のブラウザは、いずれも映像再生出来なかった。
B) VLCの Web Pluginを用いた AV1圧縮動画のブラウザ埋め込み配信
Internet ExplorerとFirefox両ブラウザ向けに<object>タグ内に <embed>タグを入れて記述した。
=MP4動画を表示サイズ636x371で配信する場合=
<object type="application/x-vlc-plugin" id="vlc" width="636" height="371" classid="clsid:9BE31822-FDAD-461B-AD51-BE1D1C159921" codebase="http://download.videolan.org/pub/videolan/vlc/last/win32/axvlc.cab">
<param name="src" value="../aviutl_av1/av1-vlc-test/(2)av1_aac.mp4" />
<param name="video1" id="mrlVideo" value="" />
<param name="volume" value="50" />
<param name="autoplay" value="true" />
<param name="loop" value="false" />
<param name="fullscreen" value="false" />
<param name="wmode" value="transparent" />
<param name="toolbar" value="true" />
<param name="windowless" value="true" />
<embed type="application/x-vlc-plugin" pluginspage="http://www.videolan.org"
autoplay="true" loop="false" width="636" height="371"
target="../aviutl_av1/av1-vlc-test/(2)av1_aac.mp4" />
</embed>
</object>
VLC(VLC media player)3.0.7(32ビット版)以降をインストールした環境では(&ActiveX プラグインも導入されていれば)、IExplorer 11でのみ再生可能だ。
<補足試験> VLC Media PlayerでAV1動画のネットワークストリーミング再生
こちらの M3Uファイルを右クリックでダウンロードして、VLC3.0.5以降で再生
M3Uプレイリストファイルに、以下の順にリンクURLを記述
(1)H264_AAC.mp4、(2)AV1_AAC.mp4、(3)AV1_Opus.webm、(4)AV1_AAC.mkv、(5)AV1_Opus.mkv
*Android再生方法は、別記「VLC Media Playerでネットワークストリーミング」を参照
なお、iOSの VLC v3.2.8では、M3Uのプレイリスト/スライドショー機能が出来なくなっており、一括試験出来なかったので、個々に検証した。
<成績>
 
デバイス/ VLC v
ビデオ形式
 
Windows10
VLC3.0.10
MacOS10.13
VLC3.0.10
Ubuntu18.04
VLC3.0.10
Android 9
VLC3.2.12
iOS13.3
VLC3.2.8
H.264_AAC.MP4
AV1_AAC.MP4
AV1_Opus.WebM
AV1_AAC.MKV
AV1_Opus.MKV
C) IExplorer 11のムービー系アドオンによるAV1圧縮MP4動画のプラグイン再生
・SilverlightとDivX Web Playerでは、読み込みすら出来ない。
・QuickTimeとFlashでは、AV1映像の描画が出来ず音声のみの再生となる。
(*QuickTimeは、条件次第で HTML5ビデオとして再生される場合がある)

<参考1>AV1動画のシーク再生
現時点では、各種ブラウザや VLC Media Player 3.0.10及び Windows Media Player12(LAV Filters 0.74.1), MPC-BE(Video Decoder 1.5.5)いずれも、シーク操作によるスキップ/ ジャンプ再生が出来ないという不都合な問題点があり、今後普及させるためには AV1デコーダの最適化も図られる必要がある。
なお、Chrome, Firefoxなどは VLC開発の AV1デコーダ dav1dが採用されているようだ。

<参考2> Windows Media Player(WMP)によるAV1動画の再生
WMP 12は、ストアアプリAV1 Video ExtensionではAV1動画の再生が可能とならないが、コーデックパック LAV Filters が v0.74(2018.03.16)で dav1d AV1 decoderを搭載したので、Stand Alone再生が可能となる。と思いきや・・・・・・何時の間にか 再生出来なくなっていた
┓(´_`)┏
即ち、WMPがデフォルトで使っている Splitterは、LAV Filters の AV1デコーダーを利用出来ないのだ。そこで、
Win7DSFilterTweaker 6.3(2017.11.3)を用いて、Preferred decodersにて全デコーダーを LAV Video/ Audioへ変更し、Media Foundationにて Microsoftがデフォルトで使う MP4とMKVの使用を無効に設定したところ、
 
 
すると、LAV Splitterが利用されるようになり AV1動画の再生が可能となるが・・・
 
 
しかしながら、IExplorer11でMP4動画を再生出来なくなってしまう
なお、Win7DSFilterTweakerは v6.3以降更新されておらず、WebMファイルの再生を制御出来ない。
 
一方、
DV」0.78aプレイヤー(2009/02/08)は、DirectShow対応/依存の再生ソフト。
LAV Filtersが導入されていれば、Win7DSFilterTweakerで MP4とMKVの使用を無効に設定しなくても、LAV Splitterを利用してくれる。但し、初期設定のままだと以下のコンテナ動画が再生出来ないので、「オプション」メニューの「メディア」タブで対応する拡張子を追加登録する必要がある。 →MP4,MKV,WebM,VOB,OGM,SWF,DIVX,ratDVD
成績:MP4、MKV以外にも WebMファイルの再生も可能だ!