前回は、ffmpegを使用してav1をエンコードしたので、今回は、aomが提供しているエンコーダでエンコードします。
https://aomedia.googlesource.com/aom/
からダウンロードします。
git clone https://aomedia.googlesource.com/aom
ビルド用のディレクトリを作成して、cmakeでgitでダウンロードしたディレクトリを指定します。
mkdir build
cd build
cmake ../aom
make
makeが終わると、そのディレクトリに、aomencとaomdecというバイナリができます。
https://media.xiph.org/video/derf/
のサイトのaspen
をダウンロードしておきます。
あとで、PSNR(画質)をチェックするので、フォーマットを変更します。4:2:0 8bit 32Framにします。32Frameにしたのは、長いと時間がかかるため、とりあえず32Frameにしておきます。
./ffmpeg -i aspen_1080p.y4m -f rawvideo -pix_fmt yuv420p -s 1920x1080
-vframes 32 aspen_1920x1080.yuv
ビルドでできたバイナリでエンコードします。
たぶん、デフォルトは、4:2:0 8bitじゃないかなぁと勝手に想像ているので、オプションなしでエンコード始めます。
./aomenc -o aspen.bin aspen_1920x1080.yuv -w 1920 -h 1080 -t 8
とりあえず始まった。。。。おぉ、32Frameだと10分ぐらいで終わったかも。
aspane.binというファイルが生成されます。
./aomdec -o aspen_dec_1920x1080.y4m aspen.bin
↑で、デフォルトで出力されているファイルがy4mだと気づかず、いろいろ試行錯誤してしまいました^^
生成されたファイルは、VLC Playerで画像を確認します。
https://www.videolan.org/vlc/index.ja.html
見れた!
ソースコードの入手
https://aomedia.googlesource.com/aom/
からダウンロードします。
git clone https://aomedia.googlesource.com/aom
ビルド
ビルド用のディレクトリを作成して、cmakeでgitでダウンロードしたディレクトリを指定します。
mkdir build
cd build
cmake ../aom
make
makeが終わると、そのディレクトリに、aomencとaomdecというバイナリができます。
素材の準備
https://media.xiph.org/video/derf/
のサイトのaspen
をダウンロードしておきます。
あとで、PSNR(画質)をチェックするので、フォーマットを変更します。4:2:0 8bit 32Framにします。32Frameにしたのは、長いと時間がかかるため、とりあえず32Frameにしておきます。
./ffmpeg -i aspen_1080p.y4m -f rawvideo -pix_fmt yuv420p -s 1920x1080
-vframes 32 aspen_1920x1080.yuv
エンコード
ビルドでできたバイナリでエンコードします。
たぶん、デフォルトは、4:2:0 8bitじゃないかなぁと勝手に想像ているので、オプションなしでエンコード始めます。
./aomenc -o aspen.bin aspen_1920x1080.yuv -w 1920 -h 1080 -t 8
とりあえず始まった。。。。おぉ、32Frameだと10分ぐらいで終わったかも。
aspane.binというファイルが生成されます。
デコード
次はデコードします。./aomdec -o aspen_dec_1920x1080.y4m aspen.bin
↑で、デフォルトで出力されているファイルがy4mだと気づかず、いろいろ試行錯誤してしまいました^^
生成されたファイルは、VLC Playerで画像を確認します。
https://www.videolan.org/vlc/index.ja.html
見れた!
コメント
コメントを投稿