はじめに
手術動画を学会発表や学会提出などする際に高画質動画のままだとファイル容量が多きすぎてDVDに焼けなかったり、そもそも提出規定を満たせなかったりします。
そこでエンコードと呼ばれる作業を行い高画質動画のサイズ容量を下げます。もちろん画質の劣化は抑えて!!
今回は世界で最も使われているフリーソフトでハードウェアエンコードもできる最強なFFmpeg系のフリーソフトを使ったエンコードについてご紹介します。
まず、”おすすめエンコードソフト”など特にネバーなどで紹介されているフリーソフトは信用なりませんしおすすめもできません。
あと先ほどからハードウェアエンコードと書いていますが、フリーソフトでこれを実現しているものは少ないです。
このハードウェアエンコードがなかったら、ものすごくエンコードに時間がかかるばかりでなく、エンコードにCPUがフル稼働するので、その間PCが使えなくなるくらいです。
どのくらい時間がかかるかといえば、フルハイビジョンでビットレートが10Mbps以上の動画をH264コーデックのMP4にするとして4時間の手術動画がその倍の8時間程度かかります。
だから、忙しい私たちにはハードウェアエンコードがいります。
まぁPCのスペックやビデオカードをそもそも備えていなければ全く意味がありませんが、一応知識としてしっておけばよいでしょう。
FFmpeg系のフリーエンコードソフト
これから紹介するフリーソフトはすべてバックグランドでFFmpegというソフトが動いて動画をエンコードしています。
FFmpegというフリーーソフトはどういうソフトかというとこちらでラーニングしてください。
要は世界で最も使われているエンコードソフトという事です。
ちなみにですが、日本内視鏡外科学会の消化器・一般外科領域の技術認定の申請条件にDVDでの動画提出がありますが、下記のような動画圧縮を推奨しています。
要は
コーデックがH.264 解像度がフルじゃないハイビジョン
フレームレートが29.97fps
ビットレートが3Mbps
です。
今から紹介するソフトで余裕で対応可能となります。
その1 XMediaRecodeでエンコードする
FFmpegではコマンドを手打ちするという煩わしさがありますが、こちらのソフトはマウス操作でいわゆる一般的なソフトです。
であるので、簡単にエンコードもできます。
実はこのソフトはバックでFFmpegが動いているので、インテルCPUならQSV、NVIDIAグラボを使っていたらNVenc、AMDグラボならVCEがグラボが対応していれば使えます。
このソフトはマウス操作で直感的に使えるのでぜひいじってみてくだあい。
実際の使い方
XmediaRecodeの現在のヴァージョンはv3.4.2.8(18/03/08)です
使い方はいたって簡単です。
まずはxmediaRecodeを立ち上げて、エンコードしたい動画を”ファイルを開く”から選びます。
下図のように読み込みができたら、”形式”からエンコードした後のファイル形式と拡張子を選びます。
ここでは内視鏡外科学会推奨の設定でエンコードしてみます
次に”映像メニュー”からモードを変換にした状態で、コーデックを選びます。
今回は推奨設定どおり、Mpeg4 AVC/H.264を選んでいます。
ここで同じMpeg4 AVC/H.264には”Intel Quick Sync”書かれているものとそうでないものがあります。”Intel Quick Sync”とはQSVと呼ばれてIntelCPUでハードウェアエンコードができるというもので、かなりエンコード時間が短縮できます。
ただパソコンが対応のものでないと表示されません。
他のハードウェアエンコードにNVIDIAの「NVENC」やAMDの「Video Codec Engine(VCE)があります。ソフトウェアエンコードより画質が云々ありますが、手術動画として発表や学会提出レベルならそんなに変わりませんので、ハードウェアエンコードをお勧めします。
次は画面下のビットレートを調節します。
内視鏡外科学会の推奨設定は2〜3Mbpsなのでその通りにします。
単位がKbpsなので、3Mbpsなら3000kbpsになるので、間違えないようにしましょう。
ビットレートや最大ビットレートが設定できたら、左上のリスト追加を押します。
下図の”リスト”で追加したものが表示されていればOKです。
リストも確認できたら、エンコードボタンを押せばエンコードが開始されます。
エンコード時間ですが、フルハイビジョンで16Mbps 20Gbyte 6時間22分の手術動画を解像度ハイビジョン、3Mbps Mpeg4-AVC/H.264 CPUはcore i5-6500 QSVを利用してエンコードしました。
結果として6時間22分の動画は1時間35分でエンコード完了という驚異のスピードで終える事ができました。
エンコード時間はCPU、GPU性能やコーデックにより大きく異なります。
その2 Handbrakeでエンコードする
このハンドブレーキというフリーソフトもかなり有名なフリーソフトになります。
こちらもバックグランドでFFmegを使っています。
こちらもマウス操作で直感的に使えるのはXmediaRecodeと同様ですね。
実際の使い方
handbrakeは日本語翻訳版もありますが、裏で動くFFmpegのバージョンなどが最新で無い為に英語記載ですが、最新安定板をおすすめします。
2018/3/15日現在の最新バージョンはVersion: 1.0.7になります。
無事インストールできたらアプリを立ち上げると以下のような元となるソースを選択するような画面になるので、任意のファイルを選びます。
今回は動画ファイルをエンコードするので、赤線で囲ったfileを選びます。
選ぶと、読み込み画面へと変わります。
元ソースの読み込みが完了したら、次にエンコード後のファイルや解像度を選ぶ画面になります。
例によって内視鏡外科学会推奨の設定でエンコードしてみます
”picture”のContainerにMP4を選択します。
下図の右側にプリセットといってある程度設定ができているものもあるので活用できます。
赤で囲ったSizeの部分ですが、これは解像度を任意の値に変更できます。
注意点はHandbrakeでは解像度を元の動画以上に(動画を引き延ばす)には設定できません。ご注意を!!
次に”Video”の項目でコーデックとフレームレートを選びます。
今回は指定がH.264でフレーム数は29.97fpsなのでその通りに設定。
PCが対応していればハードウェアエンコードを行うコーデックを選びましょう。
ソフトウェアエンコードと比べてハードウェアエンコードは気になるレベルの違いははっきりいってありません。
intelのCPUハードウェアエンンコードならQSV 、グラフィックオードがあればNVIDIAで「NVENC」やAMDなら「Video Codec Engine(VCE)などがあるので適時選んでみてください。
エンコード速度が雲泥の差になります。
さらにの設定の”Quality”でConstant QualityとAvg Bitrateを選択するようになっています。
Constant Qualityは数値によって画質を変化させます。初期値は中間の23に設定されています。
今回はビットレートは3Mbpsと指定されているのでそのように設定します。
3Mbpsはkbpsでいうと3000Mbpsです。※注意
設定が終われば、エンコード後のファイル名やどこに保存するかを決めて、スタートエンコードという緑色のボタンを押すだけでエンコードがはじまります。
このhandbrakeも以上にわかりやすく安定しているソフトと言えます。
十分使えます。
その3 CUIのFFmpegを使う
このFFmpegはじつはCUIで動くソフトです。
CUIというのは”キャラクターユーザーインターフェイス”というものですべて手打ちで打つ玄人ごのみのソフトです。
あとこのソフト最初にいいますが最強です。なんでもできます。
さらにハードウェアエンコードといって爆速でエンコードができるのも特徴で、インテルCPUならQSV、NVIDIAグラボを使っていたらNVenc、AMDグラボならVCEとグラボが対応していれば爆速エンコードが可能です。
ですがやはり、手打ちというソフトなので他のマウス操作で行うソフトに比べれば使いにくいかもしれませんね。