作業用ドライブにしようと保管してあった 64GBの SSD。
動画編集のワーク領域に使ってみましたが、USB 3.0接続でも内臓の HDDより遥かに快適でした。シークする時の引っかかり等がほとんど感じられず、とてもスムーズに編集できました。
機械的な動作が無いだけでこんなにも快適になる SSDは神です。
GPUを使ったハードウェアエンコードをテストしていました。
CPUへ負担をかけず高速でエンコードしてくれるのですが、設定が詰めきれていないせいか、どうにも品質に納得できません。速度は NVENC, QSVなのですが、品質は圧倒的に CPUエンコードです。
ファイルサイズを気にしなければ GPUでのエンコードも視野に入るのですが、動画は品質とサイズのせめぎあいなので、どうしても CPUエンコードに軍配が上がります。
例えばファイルサイズを同程度に揃えると主観的な画質評価は CPU = 10、NVENC = 8、QSV = 5 という感じです。
ファイルサイズを気にせず、ソースの解像度を揃えて編集後に圧縮などの様な用途だとソース作りで GPUエンコードが活躍すると思います。
デスクの脇に設置してある小さなPC。
スペックは低いのですが 24時間起動しっぱなしでも気にならない程度の消費電力なので使い道は結構あります。様々な処理をさせるために機能を詰め込んでいったら 64GBの SSDでは心もとなくなり、手持ちの余ったパーツでグレードアップしました。
システムドライブ:SSD 64GB → 128GB
データドライブ:SSD 64GB → HDD 500GB
軽いアップグレードですが、データドライブを大きくしたことで用途が更に拡大できそうです。SQL-Serverもこの PCへの移設を考えているのですが、メモリーがきついかなーとか色々と思案中。
ffmpegで動画の品質を設定するオプションが -crf です。
動画の品質とファイルサイズは反比例するので妥協点を探すのが大変なのですが、実際にエンコードして見比べるしか方法は無いのかと思っていました。
ffmpeg関連でいろいろ調べていると、どうやらパイプという機能を使えばファイルへ出力せずとも品質を確認できることがわかり、早速テストしてみました。
以下がそのバッチファイルです。このバッチファイルへドロップした動画を 2分からスタートして 5秒間だけプレビューし、-crf を 21から27まで品質を変えて次々と見ていく方法です。
1 2 3 4 5 6 7 8 | @echo off set time=-ss 02:00 -t 00:05 -vcodec libx264 set vf=-vf scale=640:-1 set pipe=ffplay -i - -autoexit -window_title for /l %%n in (21,1,27) do ( ffmpeg -i %1 %time% -crf %%n %vf% -f matroska - | %pipe% crf=%%n ) |
いやはやなんて便利なのでしょう。ffmpegを入手すると同梱されている ffplayにこんな使い方が有ったとは。