PowerPointから出力したmp4動画を、VLC Media Playerで再生すると、滲んで表示された

# 環境
* PowerPoint(Microsoft365 16.0.13127.20502 64bit)
* VLC Media Player 3.0.11
* Microsoft フォト 2020。20070。10002。0
* Windows Media Player 12.0.18362.1049
* ffmpeg version 3.4
* MediaInfo 20.08
* Windows 10



# やりたいこと
PowerPointを使って、結婚式プロフィールムービを作りたいです。
[![IMAGE ALT TEXT HERE](http://img.youtube.com/vi/ZWvaaoK3e4A/0.jpg)](https://www.youtube.com/watch?v=ZWvaaoK3e4A)

以下の動画のように、スライド中央に配置された画像（矩形）が拡大しながらフェードアウトしていく動画です。

![original.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/37903/b5dedb70-deed-40ae-44fe-4986937ca716.gif)


# 問題
[PoowerPointから出力したmp4動画](https://github.com/yuji38kwmt/sandbox/blob/master/20200926-powerpoint-movie/original-480p.mp4?raw=true)を、VLC Media Playerで再生すると、前のスライドの矩形と、次のスライドの矩形が滲んで表示されました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/37903/c6f362b9-ee6f-4c0b-7577-395f85cf7ab0.png)

![にじむ.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/37903/80b5418e-22be-eedc-2246-13d1016bcf89.gif)

一方、[PowerPointから出力したwmv動画](https://github.com/yuji38kwmt/sandbox/blob/master/20200926-powerpoint-movie/original-480p.wmv?raw=true)は、滲まず表示されました。
また、Windows Media Playerや、Windows10標準搭載の「フォト」アプリでmp4動画を再生したところ、滲まず表示されました。

# PowerPointから出力した動画
動画は、[pptxファイル](https://github.com/yuji38kwmt/sandbox/blob/master/20200926-powerpoint-movie/original.pptx?raw=true)を、サイズ「標準（852×480）」で出力しました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/37903/631ecd7b-a847-a6df-fdf3-9a0eaa90d660.png)

以下に、[MediaInfo](https://mediaarea.net/ja/MediaInfo)で調べた詳細情報を記載します。
mp4のbit rateが72.0 kb/sなのに対し、wmvのbit rateが240 kb/sで、bit rateは大きく異なりました。


### PoowerPointから出力したmp4動画
https://github.com/yuji38kwmt/sandbox/blob/master/20200926-powerpoint-movie/original-480p.mp4?raw=true

```plaintext
General
Complete name                            : original-480p.mp4
Format                                   : MPEG-4
Format profile                           : Base Media / Version 2
Codec ID                                 : mp42 (mp41/isom)
File size                                : 72.8 KiB
Duration                                 : 8 s 85 ms
Overall bit rate                         : 73.7 kb/s
Encoded date                             : UTC 2020-09-26 14:03:53
Tagged date                              : UTC 2020-09-26 14:03:53

Video
ID                                       : 1
Format                                   : AVC
Format/Info                              : Advanced Video Codec
Format profile                           : Baseline@L3.1
Format settings                          : 2 Ref Frames
Format settings, CABAC                   : No
Format settings, Reference frames        : 2 frames
Codec ID                                 : avc1
Codec ID/Info                            : Advanced Video Coding
Duration                                 : 8 s 85 ms
Bit rate                                 : 72.0 kb/s
Width                                    : 852 pixels
Height                                   : 480 pixels
Display aspect ratio                     : 16:9
Frame rate mode                          : Constant
Frame rate                               : 30.303 FPS
Color space                              : YUV
Chroma subsampling                       : 4:2:0
Bit depth                                : 8 bits
Scan type                                : Progressive
Bits/(Pixel*Frame)                       : 0.006
Stream size                              : 71.0 KiB (98%)
Encoded date                             : UTC 2020-09-26 14:03:53
Tagged date                              : UTC 2020-09-26 14:03:53
mdhd_Duration                            : 8085
Codec configuration box                  : avcC
```


### PoowerPointから出力したwmv動画
https://github.com/yuji38kwmt/sandbox/blob/master/20200926-powerpoint-movie/original-480p.wmv?raw=true

```plaintext
General
Complete name                            : original-480p.wmv
Format                                   : Windows Media
File size                                : 228 KiB
Duration                                 : 8 s 85 ms
Overall bit rate mode                    : Variable
Overall bit rate                         : 232 kb/s
Maximum Overall bit rate                 : 249 kb/s
Encoded date                             : UTC 2020-09-26 14:04:15.550
MediaFoundationVersion                   : 2.112

Video
ID                                       : 1
Format                                   : VC-1
Codec ID                                 : WMV3
Codec ID/Info                            : Windows Media Video 9
Codec ID/Hint                            : WMV3
Duration                                 : 8 s 85 ms
Bit rate mode                            : Variable
Bit rate                                 : 240 kb/s
Width                                    : 852 pixels
Height                                   : 480 pixels
Display aspect ratio                     : 16:9
Frame rate                               : 30.303 FPS
Nominal frame rate                       : 30.000 FPS
Bit depth                                : 8 bits
Compression mode                         : Lossy
Bits/(Pixel*Frame)                       : 0.019
Stream size                              : 237 KiB
Language                                 : English (United States)

```


# 解決方法
VLC Media Playerの設定を以下の通り変更したら、滲まず再生されました。

* 「入力 / コーデック」タブの「ハードウエァアクセラレーションによるデコード」を「自動」から「無効」に変更する
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/37903/36bc9525-5db8-b07f-1718-e328b4b0e055.png)

# いろいろ検証する
PowerPointから出力したwmv動画をffmpegでmp4に変換した動画も検証しました。

## wmvからmp4に変換した動画
https://github.com/yuji38kwmt/sandbox/blob/master/20200926-powerpoint-movie/ffmpeg-converted-from-wmv.mp4?raw=true

#### 実行したffmpegコマンド

```
> ffmpeg -i original-480p.wmv ffmpeg-converted-from-wmv.mp4
```

#### MediaInfoで調べた詳細情報

```plaintext

General
Complete name                            : ffmpeg-converted-from-wmv.mp4
Format                                   : MPEG-4
Format profile                           : Base Media
Codec ID                                 : isom (isom/iso2/avc1/mp41)
File size                                : 26.3 KiB
Duration                                 : 8 s 118 ms
Overall bit rate                         : 26.5 kb/s
Writing application                      : Lavf57.83.100

Video
ID                                       : 1
Format                                   : AVC
Format/Info                              : Advanced Video Codec
Format profile                           : High@L3.1
Format settings                          : CABAC / 4 Ref Frames
Format settings, CABAC                   : Yes
Format settings, Reference frames        : 4 frames
Codec ID                                 : avc1
Codec ID/Info                            : Advanced Video Coding
Duration                                 : 8 s 118 ms
Bit rate                                 : 23.0 kb/s
Width                                    : 852 pixels
Height                                   : 480 pixels
Display aspect ratio                     : 16:9
Frame rate mode                          : Constant
Frame rate                               : 30.303 FPS
Color space                              : YUV
Chroma subsampling                       : 4:2:0
Bit depth                                : 8 bits
Scan type                                : Progressive
Bits/(Pixel*Frame)                       : 0.002
Stream size                              : 22.8 KiB (87%)
Writing library                          : x264 core 152 r2851 ba24899
Encoding settings                        : cabac=1 / ref=3 / deblock=1:0:0 / analyse=0x3:0x113 / me=hex / subme=7 / psy=1 / psy_rd=1.00:0.00 / mixed_ref=1 / me_range=16 / chroma_me=1 / trellis=1 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=-2 / threads=15 / lookahead_threads=2 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=3 / b_pyramid=2 / b_adapt=1 / b_bias=0 / direct=1 / weightb=1 / open_gop=0 / weightp=2 / keyint=250 / keyint_min=25 / scenecut=40 / intra_refresh=0 / rc_lookahead=40 / rc=crf / mbtree=1 / crf=23.0 / qcomp=0.60 / qpmin=0 / qpmax=69 / qpstep=4 / ip_ratio=1.40 / aq=1:1.00
Language                                 : English
Codec configuration box                  : avcC


```

## まとめ

#### 検証した動画の概要

| 動画の種類 |内容| File Size [KiB] | Video Bit Rate [kb/s]| Frame Rate [FPS] |
|------------|:--|---------:|----------------:|------------:|
| mp4        |PowerPointから出力| 72.8| 72.0       | 30.303  |
| wmv        |PowerPointから出力| 228    | 240        | 30.303 |
| wmv→mp4    |PowerPointから出力したwmvをffmpegで変換| 26.3   | 23.0      | 30.303  |

#### 動画Playerで問題なく再生できるかどうか

|   動画Player                                        | mp4 | wmv | wmv→mp4 |
|-------------------------------------------|:-----:|:-----:|:---------:|
| VLC（ハードウエァアクセラレーション自動） | ×   | 〇  | 〇      |
| VLC（ハードウエァアクセラレーション無効） | 〇  | -   | -       |
| Windows Media Player                      | 〇  | -   | -       |
| Windows標準搭載アプリ「フォト」           | 〇  | -   | -       |


※「〇」は問題なく再生できた。「×」は滲んで再生された。

#### 考察
wmvからmp4に変換した動画は、powerpointから出力したmp4動画よりbit rateは小さいですが、VLC Media Playerで「ハードウエァアクセラレーション自動」で問題なく再生できました。「滲む/滲まない」にbit rateは関係しないのでしょうか？


# よく分からないこと
* なぜmp4で滲み、wmvでは滲まない？bit rateの違いによるもの？
* なぜ「ハードウエァアクセラレーションによるデコード」を無効にすると滲まなくなる？
* どういうときに滲む？




# 参考サイト
[[VLC] 動画が一瞬緑になる。映像が乱れる](https://tksoft.work/archives/1781)