ゲームとはちょっと違う話
ゲーミングPCを所持していると一度は想像するゲーム実況というコンテンツ。
誰もが動画をyoutubeなどに上げる事も珍しくないこのご時世。

動画編集とセットで課題になるのがエンコードこと動画の圧縮。
普通にキャプチャすると数ギガ吹っ飛ぶので動画圧縮して
容量を小さくしてからアップロードするのは良くあること。

でエンコードって?どうやるん?という所から軽く調べた結果。

まずエンコードに使うコーデック、と言うか規格みたいなもんはH.264とかH.265とかがあって
規格によって品質や圧縮速度が変わってくる様子。
H.266なんてのもがあるらしいが調べていたらAV1て規格があるらしい。

image1
SVT-AV1
特徴: オープンソースのAV1エンコーダーで、非常に高い圧縮効率を持ちますが、エンコード速度は遅めです。最高の画質と圧縮効率を求める場合に適しています。

え、これでいいじゃん。

NVIDIA NVENC AV1: NVIDIAのGPUを利用したハードウェアエンコーダー。RTX 40シリーズ以降で利用可能です。

え、ウチのPC、4070tiだしこれでいいじゃん。ゲーミングPC最高!

必要なもの:FFmpeg
FFmpeg?出たー聞いた事あるやつー。
コマンドラインから実行するからどう考えてもオタクしか使えないやつー。


じゃ導入すっか。オタクだし。


FFmpeg へアクセス。

ダウンロード押す
スクリーンショット 2024-09-23 161908

Windowsのところの
GithubからDLするんで下のBtbNとかいうやつ
スクリーンショット 2024-09-23 163259

ffmpeg-master-latest-win64-gpl.zipからDLして解凍
スクリーンショット 2024-09-23 163307

解凍したのを好きな所に置く。

自分は
C:\Program Files (x86)\ffmpeg
に置いた。

環境変数のPathにbinフォルダを追加
スクリーンショット 2024-09-23 163455


コマンドプロンプトで
ffmpeg -version
って打って色々出たらインスト完了
スクリーンショット 2024-09-23 163554


多分こんな感じ。

でFFmpegってコマンドでオプション付けまくってエンコードするからコマンド作るのすら大変
と言うか動画ファイル名を一々明示的に指定しなければいけないのもダルい
全然日本語の情報無くて泣いた。
ということでAIに聞いて作った。

encode.bat
@echo off
setlocal enabledelayedexpansion

for %%a in (%*) do (
    set "input=%%~a"
    set "output=[E]%%~na%%~xa"
    ffmpeg -i "!input!" -c:v av1_nvenc -preset p5 -b:v 2M -c:a copy "!output!"
)

pause
上のコードをバッチファイルとして保存。
あとはエンコードしたい動画ファイルをドラッグ&ドロップするだけで
同じフォルダに圧縮した動画が置かれる。快適。

「av1_nvenc」って書いてある所がGeForce40シリーズ用コマンド
p○の数字で速さと画質のバランスを調整できる
早くしたかったらp1にすれば良い

もっと調べれば高品質で高圧縮な設定出来る気がするけどゲームしたいのでパス☆