エンコードってなにしてんだ#1

導入と概要

先日約120MBの動画を圧縮した際に最終的に訳8MBまで圧縮されており
便利だなぁ～と思っていたのだが、
実際エンコードって何をしているのだろう？と思ったので

オープンソースのフリーエンコードソフト「つんでれんこ」
https://tdenc.com/%E3%82%A8%E3%83%B3%E3%82%B3%E3%83%BC%E3%83%89/%E3%81%A4%E3%82%93%E3%81%A7%E3%82%8C%E3%82%93%E3%81%93/
を覗いてみようと思う
↓Git
https://github.com/tdenc/TDEnc

ソース内　txtよりまず概要を抜粋
```＜概要＞
  ニコニコ動画にアップできるMP4を簡単に作成するエンコードバッチツール。
   １．必要なツール・ライブラリを自動(または手動)ダウンロード
   ２．動画をドラッグ＆ドロップ
   ３．質問開始＆エンコードスタート
   ４．MP4自動作成、
  という流れで作成。
```

ユーザ設定の読み込み、エンコードファイルの出力先設定等は割愛

toolのver確認は呼び出したbatファイル内で
それぞれのパスを元にチェック、ダウンロード、インストールを実施している。

動画を指定のbatファイルにドラッグ&ドロップすると
まず、指定した動画ファイルの読み込みと解析が始まる
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1316547/cdda8be0-1005-2c51-ca38-0daf89bb742a.png)

これはmovie.batを読み込みその中でファイルの読み込み等を実施している。
まずMediainfo　で動画情報を確認し、表示しているため、
Mediainfoの中身を覗いてみる
https://mediaarea.net/en/MediaInfo

今回指定した動画データをメディアインフォで指定すると
以下のような情報が取得できる

```
全般
完全なパス                                    : 指定したファイルの完全パス
形式                                       : MPEG-4
形式のプロファイル                                : Base Media / Version 2
コーデック ID                                 : mp42 (mp41/isom)
サイズ                                      : 10.8 MiB
長さ                                       : 53秒 760ミリ秒
総ビットレート                                  : 1,690 Kbps
フレームレート                                  : 24.000 fps
エンコード日                                   : 2023-08-23 12:53:06 UTC
タグ付け日                                    : 2023-08-23 12:53:06 UTC

映像
ID                                       : 1
形式                                       : AVC
形式/情報                                    : Advanced Video Codec
形式のプロファイル                                : High@L4
形式の設定                                    : CABAC / 2 Ref Frames
形式の設定 CABAC                              : はい
形式の設定 参照フレーム                             : 2 フレーム
コーデック ID                                 : avc1
コーデック ID/情報                              : Advanced Video Coding
長さ                                       : 53秒 750ミリ秒
ビットレート                                   : 1,556 Kbps
幅                                        : 1,920 ピクセル
高さ                                       : 1,080 ピクセル
モニターのアスペクト比                              : 16:9
フレームレートの種類                               : 可変 (VFR)
フレームレート                                  : 24.000 fps
最小フレームレート                                : 23.976 fps
最大フレームレート                                : 24.000 fps
色空間                                      : YUV
クロマサブサンプリング                              : 4:2:0
ビット深度                                    : 8 ビット
走査方式                                     : プログレシッブ (PPF)
ビット/(ピクセル*フレーム)                          : 0.031
ストリームのサイズ                                : 9.97 MiB (92%)
エンコード日                                   : 2023-08-23 12:53:06 UTC
タグ付け日                                    : 2023-08-23 12:53:06 UTC
コーデック構成ボックス                              : avcC

音声
ID                                       : 2
形式                                       : AAC LC
形式/情報                                    : Advanced Audio Codec Low Complexity
コーデック ID                                 : mp4a-40-2
長さ                                       : 53秒 760ミリ秒
ビットレート種別                                 : 固定 (CBR)
ビットレート                                   : 128 Kbps
チャンネル                                    : 2 チャンネル
チャンネルの配置                                 : L R
サンプルレート                                  : 48.0 KHz
フレームレート                                  : 46.875 fps (1024 SPF)
圧縮方法                                     : 非可逆
ストリームのサイズ                                : 856 KiB (8%)
エンコード日                                   : 2023-08-23 12:53:06 UTC
タグ付け日                                    : 2023-08-23 12:53:06 UTC

```

上記の内容に沿ってMediainfoの情報を見る

基本的にはC++で構成されているため
次回その部分を見ていこうと思う