TS抜きにH.265エンコード環境/再生環境を追加する。
2017/07/30: 遅ればせながらHandBrake 1.x.x に内容をキャッチアップしました。一部画面のイメージが古いままですが、操作を理解する上で問題はないと思います。
またHandBrake最新版でエンコード用バッチが動かないバグも修正しましたので、既にお使いの方でHandBrakeを最新版にする場合はバッチの差し替えをお願いします。
いろいろソフトウェアのサポートも増えてきたので、次世代コーデックと言われるH.265の活用方法についてメモしておきます。
この記事は最初、既存の記事に補足として付け足すつもりで書いていたのですが、補足にするにはやや冗長過ぎるのと、もしH.265を使わない場合には余計な注意点が増えるだけなので、新しい物好きな人向けの別記事にしました。
そういう目的なので、エンコード用バッチはTVRockやWhiteBrowserから呼び出すことを前提に書かれています(但しEDCBでも中の%1を$FilePath$に書き換える程度で使える筈です)。
また今回H.265を扱えるツール全てを横断的に評価しているわけではありません。そういう記事をお探しの方は、この辺のリンクもご参考に。
ちなみにPowerDVDもバージョン14 からH.265再生をサポート、編集環境のPowerDirectorもバージョン13からH.265の読み書き&編集をサポートというように、市販の動画ソフトもH.265対応が進みつつあります。
ただしiPhone/iPad、Androidのようなモバイル環境の対応はまだこれからですので、いくら圧縮率が優れていても携帯動画用としてこれを使うと、それらが対応してくれるまでの何年間か温存することになりますのでご注意ください。当面は保存の容量を圧縮する目的で使うことになります。
サンプルとしてNHKの大河ドラマ(45分)をHandBrakeのH.264とH.265でエンコードしたサンプルのシーンと、ファイルサイズを比較してみます。
まずは品質感の比較のためにサンプルシーンを切り出して比較してみます。
以下がこれをエンコードしたものの該当箇所になります。
プロファイル"VH"はピクセル数はソース維持(1440x1080)で品質パラメータのq を18.5にセット、"H"はピクセル数維持でq は23、"L"は横ピクセル数720に圧縮してq は24です。q は小さいほど画質が良くなります。
ちなみにq はx264、x265ともRF値と等価で、同じ値が同じ意味になるのかは判りませんが、多分エンコーダ側がうまく解釈してくれるんでしょう。。
x265のプリセットは「Medium」(=何も指定しないときのデフォルト)を使いました。このプリセットは圧縮率に関係していますが、Fast系を使うとエンコード速度は多少速くなるもののファイルサイズが1.5倍以上大きくなって敢えてH.265を使う意味がなくなり、またSlow系を使うとエンコード時間は更に劇的に増えますがサイズは数%小さくなるだけなので、いずれもメリットは感じませんでした。
他にもx264/x265のパラメータは多数ありますが、x265はパラメータがよく判っていないのでとりあえずデフォルトを使っています。そういう意味で完全に同じ条件での比較ではなく、細かい品質感なども比較していませんので、あくまでご参考です。
なるほど、判ったようなよく判らないような・・・
ご興味のある方はブラウザを拡大して比べて見てください。そもそもソースのMPEG2-TS画像自体、微妙なグラデーションが表現し切れずブロックノイズが現れてるような画像ですが、同じプロファイルで比べるとH.264のほうは明暗の変化のところでザラザラ感や偽色を出すのに比べて、H.265の方はむしろブロックを消して本来のグラデーションを滑らかに表現している感じで、この辺は予測単位を広く取れるH.265の仕様が活きている感じです。
またVH → H → Lのように帯域を落とした時の変化は、H.264のほうが処理し切れない部分を不用意に幾何学的なノイズで残したり、それでも足りなければ一挙にグラデーションを消失させてしまうのに対し、H.265のほうはグラデーションの正確さを乱して情報量を落しながらも、なんとか本来の明暗パターンを表現しようとしている感じですね。人が見た時に不自然さを感じないようにぼかす、という設計思想がH.265にはあるのではないでしょうか?このサンプルだけであまり大したことは言えないのですが。
全体的にはH.264とH.265でそういった違いはあるものの、同等プロファイルでの画質の差はほとんど感じられませんでした。
一方ファイルサイズのほうは、以下の通りです。
こうやって比較すると確かにH.265はH.264の二倍の圧縮率という謳い文句があながち嘘でもなさそうです。画面サイズを小さくして圧縮を高めるとその差は縮まりますが、これはH.265の特性と言うよりも音声データの占める割合が増えるためだと思います。(音声コーデックは両方同じものを使っていますので。)
エンコード時間はH.264の約2倍かかります。(といっても以前は4倍以上かかっていましたので、エンコーダのx265も急速にチューニングされつつあります。) 但しQSVなどのハードウェア支援は現状使えません。
うちで使っているi7-2700Kだと、ソフトウェアH.264エンコードで地上波HD(1440x1080)がソースの場合
プロファイル"L"だと実時間の約1/3
"H"だと実時間の約8割
"VH"ではほぼ実時間
というのがエンコード時間の目安ですので、H.265のエンコードでは
"L"が実時間の7割程度
"H"が実時間の約1.6倍
"VH"だと実時間の約2倍
という時間がかかることになり、ローエンドや古めのCPUではもっと掛かります。
(ちなみにソースがDVDのようなSD解像度なら既に"VH"でも実時間未満でエンコードしますので、速度はソース解像度に大きく依存します。またH.264の場合QSVを使うと、どのプロファイルでも実時間の1/5~1/10程度でエンコードできますので、H.265もハードウェア支援が待たれるところです。)
この辺総評すると、圧縮率2倍というメリットが有意義でCPUパワーも十分(あるいはPCの余剰時間にひたすらエンコードさせたい)という人向きでしょうか。
.
ただし、動きの速い映像だと、H.264だろうがH.265だろうが圧縮率は低下します。テストとして図のような
ジョジョ・スターダストクルーセイダーズ(BS11)のOP映像(約1分30秒)を切り取ってプロファイル"H"で圧縮してみたところ、200MB程度のTS(MPEG2)映像に対してH.264ではほとんど圧縮できず、H.265でも100MB程度と、TS(MPEG2)の半分にしか圧縮できませんでした。
これらのプロファイルは品質指定でエンコードしますので、動きの速いシーンでも映像情報が大きく破綻することはありませんが代わりにそのシーンのビットレートが高くなります。「優秀な圧縮アルゴリズム」であっても動きが速かったり細かい線や点が沢山ある映像では圧縮が効かない」、という例になります。
なおこのシーンは東京MXテレビが「優秀な圧縮アルゴリズムを使ってマルチ編成でも8セグ(通常地上HDは12セグ)でHD放送」したところノイズだらけになった、という現象の典型的な例ですね。
同じシーンのMX版
(ただ、全然別の話ですが、敢えてマルチ編成に挑戦しているMXの姿勢を私は悪く言いたくはありません。そもそもMXのアニメ枠は広告で制作費が出せる訳もなく、制作側が枠を買ってBDなどのコンテンツで利益を出すのが前提のショールーム的な放送なので、画質を落としても沢山の放送枠を確保する方向は正論で、今後の放送のあり方を占っていると思います。ただ別にHDに拘る必要はない筈で、もうちょっとうまくやってほしいな、と。。)
蓄積型メディアの場合は一部のビットレートが高くても全体で容量に収まれば良いのですが、放送の場合はビットレートの上限は固定されており、一部シーンだけ上げるわけにはいきませんので、いくら最新のエンコーダで平均ビットレートを低く抑えても帯域が狭まった分特定シーンが破綻する、という現象が起き易くなります。圧縮コーデックが優秀なほど平均値とピークの差が大きくなる傾向があるわけで、この辺のシーンは仮にMPEG2ではなくH.264/AVCを使ったとしても破綻は避けられそうにないですね。
ちなみに現在一部で検討されている4K放送も「優秀なH.265/HEVCを使うからその気になれば地上波13セグの帯域幅のままで4K放送ができる」などと言ってる人もいるようですが、技術を知らない人/あるいは盲信者 の典型的発言だと思います。尤も4K放送はそれ以前に商業ベースに乗るか極めて疑問ですが。典型的なハコモノ行政で、取らぬ狸のなんとやらでしょう/閑話休題。
ここではひたすら、今までの「ts抜きチューナーの録画・再生環境」関連記事でご紹介してきたツール類にH.265機能を追加する方法に絞って解説します。具体的には3点
1.エンコードツール HandBrakeのH.265対応版 → HandBrakeの使い方そのものについてはこちらとこちらを参照
2.再生プレーヤー VLCおよびMPC-HCのH.265対応版 → VLCとMPC-HCの使い方そのものについてはこちらを参照
3.動画管理ツールWhiteBrowserでH.265ファイルのサムネイル管理 → WhiteBrowserの使い方そのものについてはこちらをご参照
以上をご説明いたします。
.
最初に作業項目を表にまとめておきます。
ツール名 | 役割 | H.265対応状況 | 問題点 | 対策 |
---|---|---|---|---|
HandBrake | ・録画後の自動エンコード ・WhiteBrowserからの手動エンコード ・GUIを使って手動エンコード | 0.10.0 以降で対応 | 特になし (日本語ファイル名関連の問題も最新版で解決済) |
特になし |
VLC | 再生プレイヤー | 公式最新版で対応 (ver2.2.0以降) |
特になし | 特になし |
MPC-HC | 再生プレイヤー | 公式最新版で対応 (公式版とNightlyの区別がない) |
特になし | 特になし |
MPlayer | WhiteBrowserが内部的にサムネイル作成する際に使用する。 | 公式最新版で対応 | 公式最新版はあるバージョン(svn-35952)以降は日本語ファイル名のDVD-ISOファイルが読み取れず、真っ黒なサムネイルが作成されてしまう。 (したがって過去の解説ではその直前のバージョンsvn-35935を導入するガイドになっていた。) | ・基本は公式最新版を使う。 ・ただしDVDから作成したISOのサムネイルを表示してくれるのは便利なので、利用される方はISO用にsvn-35935も導入してMPlayer-ISO.exeとリネームし、iso.batがそちらを利用するよう差し替える。 |
以下では表のそれぞれの項目についてご説明します。
.
過去の記事では
HandBrakeを使って、TVRockの録画後処理でMP4(H.264)エンコードする方法、および
動画管理ツールWhiteBrowserから対象映像を指定してMP4(H.264)エンコードする方法
をご紹介しました。
ここではそのいずれかの環境でHandBrakeが呼び出せる状態になっていることを前提にします。
したがってもしまだ環境構築されていない方はリンク先等を参考にして、まずはTVRock、EDCBのような予約録画の仕組みと録画後バッチを呼出せる環境、およびオプションとして映像管理ソフト WhiteBrowserを使える状態にしておいてください。
HandBrakeは0.10.0 以降でH.265エンコードをサポートしていますので、基本は最新版を導入するだけで、H.264エンコードとH.265エンコードの両方を容易に利用できる環境が出来上がります。
個人的見解になりますが、H.264、H.265の処理でHandBrakeが推せるのはカスタマイズ性の高さの他に、その確実性があります。
ソースの動画に(他のソフトでは処理停止や音ずれが発生するような)ちょっとした不良があるケースでも、結構高い確率で許容範囲内のエンコードファイルを仕上げてくれます。この辺恐らくは単にx264やx265の活用ソフトというだけでなく、エンコーダに渡す前の段階で処理不良の様々な原因を取り除く前処理がされているのだろうと思います。それでいて(家電系のトランスコーダチップのように)圧縮率や画質を下げて確実性を取るような下手な方法ではなく品質にも妥協がありませんので、この辺は流石世界的なコミュニティが育ててきたソフトだなぁと思います。
私も動画処理にTMPG系やAviUtl関連など色々なフリーウェアや有料ソフトを使って来ましたしHandBrakeも7~8年前から時々評価していましたが、特にここ2年くらいでHandBrakeの熟成度が上がった感じで、余計な処理は要らない・とにかく速く確実にソースに忠実なエンコード処理をしてくれ、という場合(つまり殆どの自動処理)はHandBrakeに任せるようになりました。一番はこの確実性が理由です。
但しですが、
HandBrake最新版ではWindowsVistaおよびそれ以前がサポート対象外となりました。また1.0.3以降では32bitWindowsのサポートもなくなりましたので、それらの環境で使いたい場合は
Old Version Downloads
でサポートバージョンを入手してください。
Vistaはどのバージョンまでが正式サポートか判りませんが、1.0.3辺りまでと思います。XPで動くのは0.9.9までですが、0.9.xではH.265やQSVをサポートしませんので、H.265エンコードを利用する場合は1.0.xの動く環境をご準備ください。
また32bitWindows版は1.0.3まで提供はされていますが、「正常動作のためにはメモリの制限がきつく、非推奨」との但し書きが付いています。重い処理になると問題が発生する可能性もありますので、できるだけ64bit Windows環境で64bit版を利用するのがお勧めです。
(Nightly Buildを含めた)HandBrakeが既にPCに導入されている場合、そのまま新しいバージョンを入れようとすると、過去のバージョンのアンインストールが一部うまくいかず、新しいバージョンのGUIが立ち上がらないことがあります。
これを回避するために、まずコンントロールパネル→プログラムと機能(Vistaならプログラム)を開いてHandBrakeを選択し、「アンインストール」または「削除」ボタンを押します。
HandBrakeがリストから消えたら、必ず一旦PCを再起動させてください。以上で正常にアンインストールされます。
・導入
HandBrakeには、以下のランタイムが必要です。
Microsoft .NET Framework 4.0または4.x
(4.xは4.0の上位互換です。 Framework 3.5やそれ以前とは別物ですので、それらが導入されていても別途導入が必要です。)
お使いのPCにどのバージョンのFramework が導入されているかは、以下のファイルを解凍したbatファイルをダブルクリックしてみれば判ります。
「checkvdnfw.zip」をダウンロード
(これはatmarkITさんの記事にあったバッチファイルを少々修正の上転載させていただきました。)
ここに「Framework 4.0(または4.x)がインストール済み」と出てくればOKです。
未導入の場合は、Windows7かそれ以前であれば、以下のリンクからダウンロード&導入してください。
http://www.microsoft.com/ja-jp/download/details.aspx?id=30653
またWindows8以降であれば、コントロールパネル(またはスタートボタン右クリックで)→プログラムと機能で、「Windowsの機能の有効化または無効化」を選んで、以下の場所をチェックした上でOKを押し、Framework 4.xを有効化してください。
以上の準備が終わったら、HandBrake公式サイトから「Download HandBrake 0.10.0 for Windows Vista or later」ボタンをクリックして、HandBrakeプログラムをダウンロードしてください。お使いのWindowsに合わせて64bit版/32bit版が自動的に選択され、暫くすればダウンロード開始します。
適切なフォルダに保存したらダブルクリックで実行してください。あとは普通にダイアログに答えていけば導入されます。(開発の中心であるフランス人の上品な気質か?余計なガジェットの導入を促されることもなく安心して導入できます。)
但し、Windows8以降では以下のような画面が表示されるかもしれません。
この画面では「OK」を押すのではなく、「詳細情報」の文字をクリックしてください。すると次の画面になりますので、
ここで実行を押せば導入開始します。
導入が終わったら確認のために、デスクトップに表示されたHandBrakeアイコン
をダブルクリックしてください。やや起動に時間が掛かりますので、しばらく待ってください。正常にGUI画面が表示されれば導入OKです。
なお、最初だけ次のようなメッセージが表示されることがありますが、
OKを答えればよいです。
・追加の導入作業 (注意・最新版では必ずこの作業も実施してください。)
2016年末以降、HandBrrakeをバッチから呼び出するためのプログラム(HandBrakeCLI.exe)が本体とは別立てになり、別途ダウンロードが必要になりました。
この記事や他の記事でもご紹介している利用手順はほとんどバッチでHanrbrakeを呼び出す想定ですので、これをダウンロードしてプログラムフォルダに配置しなければ動きません。
よってHandBrakeCLI.exe も忘れず導入してください。手順はHandBrakeのトップページからDownload をクリックすると表示される個別のダウンロードページ
でCommand Line Version をクリックすれば、以下のようにダウンロードリンクが表示されますので、Windows版をダウンロードします。
これはzipファイルですので、適切なフォルダに解凍後、中にある HandBrakeCLI.exe を、先に導入されたプログラム本体のフォルダ
C:\Program Files\HandBrake
にそのまま上書きコピーして追加してください。
これでバッチからの利用が可能な形になり、導入完了です。
・バッチファイルの準備
汎用的にHandBrakeが使えるように、H.264エンコード(x264およびQSV)用のバッチをダウンロードします。以下のzipファイルをクリック&ダウンロードし、適切なフォルダに解凍してください。
「batch_for_handbrake.zip」をダウンロード
H.265エンコード用のバッチとしては、以下のzipファイルをクリックしてダウンロードし、同じく適切なフォルダに解凍してください。
以下では後者を使ったH.265エンコードの活用法をご説明しますが、前者のH.264エンコードバッチの使い方も全く同じです。同じ場所に配置して、H.265エンコードとうまく使い分けてください。
尚、エンコードしたファイルを別記事のTvReomteViewer_VBでリモート視聴する場合、従来の設定ではffmpegと相性の悪いパラメーターがあったようで、QSV以外の「H」「VH」のプロファイルでは画面がカクつく、音ずれする、という現象が起きるようです。
2015/4/6に対策済みのものにアップデートしましたので、それ以前のバージョンを使っていてリモート視聴を使う可能性のある方は、新しいものに置き換えてください。
① TVRockの録画後コマンドでH.265エンコードをおこなう方法
上で解凍した各フォルダの直下にある「HandBrake-XXX.bat」というバッチファイルを全て\TVRock作業フォルダにコピーしてください。
H.265エンコード用としては、TVRockの「設定→プロセスタブ」に、以下の三行を追加します。
265L:"HandBrake-265L.bat" "%1"
265H:"HandBrake-265H.bat" "%1"
265VH:"HandBrake-265VH.bat" "%1"
#を先頭に付けるとコメントになりますので、後から判るような説明を付けておくと良いです。
他にH.264エンコード用とQSV用バッチも、それぞれ
HD:"HandBrake-H.bat" "%1"
iPod:"HandBrake-L.bat" "%1"
VH:"HandBrake-VH.bat" "%1"
HD_QSV:"HandBrake-H_QSV.bat" "%1"
iPod_QSV:"HandBrake-L_QSV.bat" "%1"
VH_QSV:"HandBrake-VH_QSV.bat" "%1"
のように追加してください。なおQSVエンコードが使えるのはH/Wがサポートしている場合に限りますが、ここのテーマではありませんので、詳しくはこの辺をご参考に。
以上を準備した上で、録画予約で後処理エンコードをおこなう方法は以下の通りです。
単発の予約に対しては「録画予約登録・変更」の画面で「終了後コマンド」欄で指定して「予約を変更」を押してください。
または「自動検索予約」で番組をキーワードで検索して自動録画していく場合は、「自動検索予約リスト」画面で同じく「終了後コマンド」を指定して「自動検索予約変更」を押してセットしてください。
TVRockの後処理では、エンコードが走っている間も画面上に何か表示されるわけではありません。(TVRockログには後処理の起動と終了のメッセージが表示されますが、あっさりしたものです。)
H.265エンコードは非常に長い時間がかかりますので、処理中にうっかりPCを落したり再起動しないよう気を付けてください。
処理中かどうか確認するにはリソースモニタやCoreTempを見て、CPUが高い使用率に張りついていれば処理中だと判断できます。
② WhiteBrowserから映像ファイルを指定してH.265エンコードをおこなう方法
WhiteBrowserで使用するには、まず上記の各エンコード用バッチを\WhiteBrowserフォルダ直下にコピーしてください。
次に「ツール→共通設定」で適切なプログラム欄を選んで、これらのバッチのうち使いたいものを登録してください。
プログラム欄は5つしかありませんので日常良く使うもの2種類ぐらいに絞るべきですが、別のバッチを使いたい時はその都度、この共通設定画面を書き換えるだけで直ぐに切り替えて使えます。(WhiteBrowser再起動の必要はありません。)
なお、ここの「プログラム・パス」入力欄をクリックすると[...]アイコンが表示され、これをクリックすることでダイアログからプログラムを選択できます。
ダイアログを開いた直後は「ファイルの種類」が「実行ファイル(*.exe)」と指定されているため.batファイルが一覧に出てきませんが、ここを「すべてのファイル(*.*)」に変更すれば.batファイルも一覧できますので、簡単にこれらを選択したり差し替えることができます。
以上でHandBrakeからエンコードバッチを呼び出せるようになりますので、使いたい時は対象のファイルの上で右クリックして、「プログラムから開く→バッチ名」を選んでください。
エンコードが起動すると図のような画面が立ち上がっていますので、これで時々進捗を確認できます。邪魔な時は最小化しておいてください。
エンコードが終わったら「ツール→監視フォルダ更新チェック」を選べば、(正常にファイルが作成されていれば)サムネイルが作成されますので、それで結果を確認できます。
(なお、WhiteBrowserもH.265対応しないとH.265ファイルのサムネイルが作られずサムネイル欄が黒いままです。サムネイルが作成されるようにするには 「3.WhiteBrowserでH.265ファイルもサムネイル管理できるようにする」 をご参照ください。)
以上のような方法で、H.265エンコードを日常的に使えるようになります。
別にH.265エンコードに限った話ではないのですが、HandBrakeGUIでDVD/Blu-rayをエンコードする方法を簡単に解説しながら、注意すべき点を補足します。
デスクトップ上のHandBrakeアイコンをダブルクリックすれば、次のようなHandBrakeGUI画面が立ち上がります。
(1)DVD/BDをマウントする。
ソースがディスクであれば、DVD/BDドライブに挿入してください。(但しプロテクトはかかってないのが前提です。)
ソースがブルーレイのISOファイルの時は、仮想ドライブにマウントしてください。
WhiteBrowserでリンク先のように定義しておけば、ISOファイルをVirtualCloneDrive を使って以下のようにしてマウントすることができます。
なおソースがDVDのISOファイルの場合は、このように仮想ドライブソフトを使わなくても、(2) のSource欄にISOファイルをドラッグ&ドロップするだけで、読み込みが可能です。
(2)HandBrakeGUIで、ソースに仮想DVDのドライブを指定
HandBrakeGUIのSource欄をクリックしてください。DVD/BDがマウントされていれば、図のように円盤型のドライブが表示されますので、正しいドライブ名を選択してください。
(3)タイトル、チャプタ、出力ファイル名、コンテナ=Mp4 を選ぶ
DVD/BDは中にメニューとかCMなどの複数タイトルが存在しますので、図のようにTitle欄をクリックして本編と思われる(最も時間の長い)ものを選んでください。
またチャプター範囲も選べますが、タイトルを選んだ時点でそのタイトルの最初から最後までのチャプターが自動でセットされますので、通常は特に弄る必要はありません。
なお外国映画のBlu-rayで時々あることなのですが、このTitleの選択で本編と思しきものが複数出てくる場合があります。
これはマルチリンガル対応のBDでリージョン毎にTitleを分けているケースでよくあることなのですが、違ったリージョン対応のものを選ぶと以後の音声や字幕の選択で日本語が選択できません。(BDプレーヤーはリージョンをプリセットすることでTitleを自動選択しますが、HandBrakeはリージョンにお構いなしに全てのTitleをリストしますので、このように複数の候補が出てくるわけです。)
これは音声・字幕の選択のときに気が付くと思いますので、日本語っぽいものが無い場合は、別のタイトルを選択し直してみてください。
適切なものを選べばJapaneseの選択肢が出てくるようになります。
次にDestinationに出力ファイル名を フルパスで記入してください。
Containerは「Mp4」 を選んでください。
なお出力ファイル名の拡張子が勝手にm4v になっている時は、ここを一旦Mkvにして再度Mp4に戻せば、拡張子もmp4に変わっていると思います。
(4)各種パラメータを指定
下のタブが並んでいるところで、まずPictureを選んでください。
赤丸のところは目的に合わせて入力(または選択)し、緑のところはあまり考えずにこの通り入力(選択)すればOKです。
まずVideo Codecで、H.265でエンコードしたい時はここで指定し、あるいはH.264でエンコードしたいときはそちらを選んでください。
また、Qualityのスライダーを動かして品質レベルを決めてください。(小さいほど品質が上がります。)ただしこの値が16より小さくなるとファイルサイズがあまり圧縮されなくなるので、エンコードする意味がなくなってしまうと思います。
ちなみに3種のバッチエンコードでご提供している設定ではVH(最高画質)ではこれが18.5、H(高画質)では23、L(SD画質)では24にセットされていますので目安にしてください。
殆どの邦画や日本語のドラマの場合は以上で設定は終わりで、すぐに「Start」を押してエンコード開始してOKです。
一方、外国の映画やドラマ、また一部の邦画の場合は、音声トラックが各国語用やコメンタリ付きの複数トラックになっています。
また、英語でエンコードする場合は字幕も必要かと思います。
その場合、以下の(5)(6)(7) も設定してください。
(5)音声ソースを指定
Audioタブを選ぶと以下のような画面になりますので、Sourceで希望する言語/トラックを選んでください。
この選択肢は、実は表示内容が実態と合っていないことがあります。(例えばEnglishと書いてあるほうが中身は日本語だったり。。)
したがって必ず(7) で確認の上、意図したものでなければここで選択し直してください。
尚、「Add Track」などを押すと複数の言語が設定できるように見えますが、MP4の場合設定できる音声トラックは1つだけです。決して「Add Track」は押さないでください。(再生できないMP4ファイルが出来てしまいます。)
(6)【字幕を付ける場合】字幕を指定
字幕を付加するには、Subtitleタブで「Add Track」を押してください。出てくる行のSourceで字幕の言語を選んでください。
これも選択肢の言語表示は、実は正しくないことがあります。(EnglishとJapaneseの選択が実は逆だったりします。)
よって必ず(7)の手順で確認してください。それが意図した通りでなければ再度ここで選択します。
(7)「Preview」で短時間の仮出力を作って確認
音声言語(5)、字幕(6)を設定した場合、それが意図したものになっているか確認するのは重要です。というのはHandBrakeの場合、(5)(6)では表示されている通りの言語になってないことが多いので、それに気付かずにエンコードしてしまうと、せっかくの数時間の処理が無駄になってしまいます。
したがってエンコードを走らせる前にここで確認して、思った通りの音声言語や字幕になっていなければ指定しなおしてください。
・まず最初の準備として、プリビュー用再生プレイヤーにVLCを指定しておきます。(ただここの段階ではまだVLCもH.265の再生ができませんので、実際に使えるようになるのは下の「2.再生プレーヤー VLCおよびMPC-HCのH.265対応版の導入」を実施した後です。とりあえずここでは先に手順だけご説明しておきます。)
メニューバーから「Tools→Options」を選んでください。
出てくる画面でGeneralのタブを選び、ここのPath to VLC Player でvlc.exeへのフルパスをセットします。
セットしたらCloseを押して設定を終了します。以上は最初の1回だけやっておけばOKです。
・プリビューを作成し、表示するために、「Preview」ボタンを押し、出てくるダイアログでチャプターと再生時間(秒)を選んでください。
日本語/英語の音声や字幕の出ているシーンでないと確認の意味がないので、最初の1ではなく途中のチャプターで、長さも30~60秒が良いと思います。
(確認できなかったら別のチャプターでやり直してください。)
・以上で再生されるサンプルを見て、意図の通りであればエンコード開始に進み、違っていたら (5)(6)(7) をやり直してください。
(8)エンコード開始
以上の設定が終わったら、「Start」を押してエンコードを開始してください。
以上のように、DVD/BDのエンコードはタイトルや言語、また字幕の選択も必要なので、GUIでのエンコードが基本になります。
しかし、これもHandbrakeのかなり便利な所なのですが、ソースが「DVDのISOファイル」で音声・字幕の選択の必要がない場合は、TSファイル等と同じように「ISOファイルから直接バッチでエンコード」することもできます。
ほとんどの日本語DVDでは音声も1種類しかなく字幕もいりませんので、HandBrakeCLIのデフォルト値で充分なわけです。特報や本編以外のタイトルが混在していても最も時間の長いタイトルを自動選択しますので、本編を外すことも殆どありません。
特にx264-QSV を使えば爆速で、出かける前の10分ほどの間にその日電車などで観たい映画を絵を見ながらサクッと選んで1~2本分のエンコードが出来てしまいますので重宝しています。
補足ですが、HandBrake用バッチを自分でいろいろ変更したり作ってみたい方は、ご提供したバッチも参考にしながら、HandBrakeCLIのヘルプを参考にしていろいろやってみてください。
https://handbrake.fr/docs/en/latest/cli/cli-guide.html
ただしx265やQSV関連機能はまだ新しい機能のためか、関連のオプションはまだ十分に反映されていません。どういう設定でどういうパラメーターが呼び出されるかは、HandBrakeGUIでエンコードを開始してみてActivityLogのボタンを押すことでHandBrakeCLIのオプションパラメータが表示されますので、その辺がとりあえずの参考になると思います。
またx265/x264関連のオプションパラメータ(-xまたは --encoptsの後に記述)はいずれにしろ、HandBrakeではなくそれぞれの機能を調べる必要がありますが、例えばX265はこの辺、x264はこの辺を参考にしてみてください。QSVに関してはHandBrake関連ドキュメントのこの辺にパラメータの解説があります。
以上でH.265エンコード環境構築の説明を終わり、ここからは作成したH.265ファイルを再生する方法と、映像管理する方法をご説明します。
.
2.再生プレーヤー VLCおよびMPC-HCのH.265対応版の導入
H.265のフリー系の再生環境としては現状、最初にご紹介したリンク のようになっている筈ですが、ここでは以前の記事でご紹介したVLCおよびMPC-HCの対応方法に絞ってご紹介いたします。
なお、有料ソフトではPowerDVD14がUltra以上のグレードでH.265再生に対応しましたので、既に持っているかたはバージョンアップしてみるのも良いのではないでしょうか?(但しバージョンアップの際はこちらの情報も事前にご確認ください。)
PowerDVDは2chスレなどではいろいろ貶されたりもするのですが、ある意味PowerDVDはDVD/BD/HDDプレイヤーの領域を直接侵す製品なので、その辺伝統的にメディア再生マシンとしてPCが使われるのを毛嫌いする家電系の人々のデマが多く紛れていると思います。実のところTrueTheaterはかなり優秀で同じ映像ファイルでも簡単に安定した画質で再生することができ、また特にDVDやBru-rayのPC再生環境としてはVLCなどに比べてもずっと実用的な能力を持っていると思います。また既に下火になりましたが3D再生環境としても優秀ですし。。DLNAやソーシャルなど余計な機能も多いのですが。
さて本題に戻って、VLCとMPC-HCの説明を続けます。
VLCは現在はオフィシャル最新版で、問題なくH.265ファイルが再生できます。
以前のVer2.1.5までは、HandBrakeでエンコードしたファイルで以下のエラーが表示されて映像を再生できない現象があり
このエラーを解消したVer2.2 は長らくNightlyBuildとして提供されていましたが、2015年2月末にVer2.2.0が正式リリースとなり、敢えてNightlyを使う必要もなくなりました。
VLCオフィシャル最新版は以下のリンクにありますので、これをダウンロードして導入するだけでOKです。
http://www.videolan.org/vlc/download-windows.html
インストーラで導入する場合はInstaller package、レジストリを汚さずに自分で適切な実行フォルダに置きたいときは7zipかZipパッケージをご利用ください。
この記事でVLC導入先フォルダとして例示してあるのはインストーラを使った場合のものになります。
(但しインストーラ版を使う場合、セットアップの際にTS含め全てのメディアファイルにvlcを関連付けしようとしますので、そのつもりがなければ全てチェックを外すよう注意してください。)
MPC-HCは最新版で普通にH.265再生に対応しています。こちらの「32bit zip版」からDLして解凍後、適切な実行用フォルダに入れておいてください。
以上で導入したVLC、MPC-HCとも、デスクトップ(等)にショートカットを作っておけばメディアファイルをドラッグ&ドロップするだけで再生できますが、以下ではWhiteBrowserから起動する場合の登録方法をご説明します。
WhiteBrowserのツール→共通設定で、適当なプログラム番号に表示名と、プログラムのパスを登録します。
またプログラム・パラメータ欄もそれぞれ、VLCの場合 --start-time=<sec> MPC-HCの場合 /start <ms> と記入しておきます。
以上で登録されました。再生する時はサムネイル上の再生したい場所で「右クリック→プログラムから開く→VLCまたはMPC-HCの表示名」にて、そのサムネイルの位置から再生が始まります。
このようにWhiteBrowserを使えば、サムネイルで映像ファイルの概要を把握しながら、再生したいシーン直撃で再生スタートでき、シンプルかつ便利です。
ただこのようにプレイヤー毎に呼出し方法を設定すると、いちいち再生の度に映像ファイルの種別を意識しなければならず、また再生スタート位置も必ずサムネイルのシーンからになりますので、ちょっと使い勝手が悪いと思います。
この辺の操作性を上げるために、再生プレイヤーを自動で選択してパラメーターも自動で渡す「ランチャープログラム」を作成しました。簡単なものですがなに気に便利だと思いますので リンク先の記事もぜひご参照のうえ、ご活用ください。
一方WhiteBrowser側も、このままではH.265ファイルのサムネイルが作られません。サムネイルもH.265対応にする手順を次に解説いたします。
.
3.WhiteBrowserでH.265ファイルもサムネイル管理できるようにする。
WhiteBrowserの導入手順自体は過去記事を参照してください。以下はその導入が終わっていることが前提です。
さて、TSやMP4(H.264)ファイル、DVD-ISOファイルはWhiteBrowserで便利に管理できるようになるのですが、この状態ではH.265ファイルはサムネイル作成されず真っ黒なままです。
この状態でも上記2.のプレイヤー登録が終わっていれば先頭からの再生はできるのですが、WhiteBrowserの特長であるサムネイルの俯瞰や特定シーンからの再生には対応しません。
実はこの対応は簡単で、WhiteBrowserがサムネイル作成のために使っているMPlayerを最新バージョンに差し替えれば良いのですが、1つ注意すべき点があり、(HandBrakeと似たような話として)現在のMPlayer最新バージョンはDVD-ISOファイル名に日本語など全角文字が使われているとうまく読み込み出来ず、サムネイルを作成できません。
正確には2013年の春ごろのバージョン(svn-35952)以降ずっとその状態です。
個人的には手持ちのISOファイルもサムネイル管理するのが便利なのでそのバグは許容できず、過去記事では敢えてMPlayerはその直前のバージョン(svn-35935)固定で導入する手順にしていました。
サムネイル作成するだけならそれで充分という判断だったのですが、新しいH.265にも対応するとなるとそうも言ってられず、しかも最新バージョンでもDVD-ISOのバグは治っていないようです。
そこで以下のような手順でこのバグを回避することにしました。 (なお、これは本質的に日本語DVD-ISOファイル対応するための手順ですので、そもそもDVDをイメージ化したISOをWhiteBrowserで管理するつもりがない方は、以下の①のみを実施すればOKです。)
手順
①MPlayer最新版を導入する。
②ただしISOファイル処理専用にsvn-35935のmplayer.exeも導入し、mplayer-ISO.exeとリネームしておく。
ISOサムネイル作成ルーチンのiso.batは、このmplayer-ISO.exeを使うよう修正したものに差し替える。
手順の説明
①MPlayer最新版を導入する。
MPlayer 最新版を以下のサイトからダウンロードしてください。
http://mplayerwin.sourceforge.net/downloads.html
使うのは32bit版(Binariesでx86_64が付いていない、ただのmplayer-svn-xxxxx.7zのほう)です。
解凍後、中の実行ファイル mplayer.exe のみを\WhiteBrowserフォルダ直下に上書きコピーしてください。
②ISOファイル処理専用にsvn-35935のmplayer.exeも導入し、リネームして使用する。
次に、DVD-ISO処理専用のMPlayer svn-35935 バージョンを以下のサイトからダウンロードしてください。
http://code.google.com/p/mplayer-for-windows/downloads/detail?name=mplayer-svn-35935.7z&can=1&q
解凍後、中の実行ファイル mplayer.exe を右クリック→名前の変更 から mplayer-ISO.exe (-ISOは半角大文字)とリネームし、それを\WhiteBrowserフォルダ直下にコピーしてください。
次に以下のファイルをダウンロードして適切なフォルダに解凍し、中のiso.bat とvlc.bat を\WhiteBrowserフォルダ直下に上書きコピーしてください。
以上でWhiteBrowserでH.265ファイルもサムネイル管理ができるようになります。既に黒い表示になっているファイルは「右クリック→等間隔サムネイル作成」でサムネイルが再作成されます。
かつ②の手順を反映すればDVD-ISOファイルのサムネイルも正常に作られます。(なおBlu-ray-ISOファイルのサムネイル表示は黒いままですが、残念ながらもともと対応していないためで、異常ではありません。)
ちなみにISOファイルをサムネイル位置から直接再生する場合、上記のiso.batではちょっと再生位置が不正確で、数分の狂いが出ると思います。
それが気になる場合、こちらのファイルの中にあるiso.batを上記iso.batに差し替えて\WhiteBrowserフォルダに入れれば、ISOファイルでもサムネイル・ジャンプが極めて正確なサムネイルが作成されるようになります。
ただ代わりにISOファイルのサムネイル作成が遅くなります。(1ファイルあたり24コマ作成する場合、ファイルごとに約1分かかる。)
その辺が許容できる場合に活用ください。(差し替え版のiso.bat では中を編集して、vlc.exe へのパスを環境に合わせて指定する必要がありますので、お忘れなく。)
.
駆け足でしたがH.265活用手順の説明は以上です。
最初のほうでも書きましたが、今のところH.265のメリットは、同じ画質なら半分の容量で済む、同じ容量ならより高画質で保存できる、という点に尽きます。
一方エンコード時にCPUパワーをバカ食いしますので、特にメリットが大きいと思われる長時間映画やスポーツ中継の圧縮に常用できるかはCPUの余剰能力次第ですね。6コアCPUやXEON-MP構成を持て余してる方には良い使い道かもしれません。x265はx264よりマルチスレッドが効きやすい作りになっていくようですし。
(最近はBitcoinの採掘が余剰パワーの使い道の流行りですが、もはや電気代にあまり見合いませんし、エンジンもCPUやGPUの汎用コアから専用ボード主体に移行しているようですので、汎用CPUにはもっとこういった高度な使い道が向いているのではないかと。。)
最近インテルの怠慢のせいか新しいPCを作る動機付けがめっきり減ってきた傾向があったのですが、こういう新しい目標ができると Haswell-EやDevil's Canyonを使った高速PCを作りたい気持ちもちょっと出てきますね。やはりPC関連マーケットの活性化のためにはCPU酷使型の新ワークロードは不可欠かと。モバイルクライアント用にも対応SoCが出てきているようですので、アンドロイドやiPhoneの対応も1年以内なのではないかと思われ、H.265エンコードのニーズは徐々に増えてくると思います。
個人的には細かい話になりますが、以前HandBrakeのバッチとして高画質版を-Hと-VHに分けたのは、本来高画質設定は-VHのプロファイルを常用したかったのですが、HandBrakeの特性として(というより恐らくはMP4コンテナの特性として)、出力ファイルサイズが4GBを越えると急速にファイルサイズが増大する問題があり、3時間前後の長尺映画でもそのサイズに収めるための妥協として-Hのプロファイルを追加した経緯があります。
ところがH.265だと-VHでもほぼそのサイズに収まるので、綺麗な画質のまま圧縮して保存しておきたい映画で使えるようになる点がちょっとしたメリットかなと感じています。
HandBrakeとWhiteBrowserを使ったバッチエンコードだと実は一旦H.264エンコードして保存しておいたものを後から再度エンコードしてモバイル向けファイルを作る、というのも自由ですが、最新版ではH.265ファイルの入力もサポートしましたので、一旦保管用にH.265で圧縮しておいて、そこから必要に応じてモバイル用H.264ファイルを作るのも自由になりました。
HandBrakeのH.265正式対応版 0.10.0 もリリースされ、今後いろいろ便利なツールの対応やパラメータのチューニングも出てくると思いますので、都度この記事に反映していきたいと思います。
« Windows8 PCの祭典 (主催 DOS/V POWER REPORT) 特別賞(グランプリ)受賞 | トップページ | 電源制御型USBハブでUSBチューナーの見失い状態を解消する。(PX-W3U3、S3U2ほかUSBチューナー汎用) »
「デジタルTV、TS抜きチューナー」カテゴリの記事
- TVRemoteViewer_VBとOculus Go、モバイル環境等の最新情報(2018.10.08)
- TvRemoteViewer_VB 新機能について。(ショートカット機能、hls.js、黒画面除去、DVD-ISO再生)(2016.10.17)
- QSV/NVEnc/AMD VCE + TVRemoteViewer_VBで軽量PCでもロケフリ フルHDでも気軽にストリーミング(2016.03.06)
- Amazon Fire TV / Fireタブレットを、TvRemoteViewer_VBで活用する(2015.11.24)
- TvRemoteViewer_VB バージョンアップ支援ツールを公開しました(2015.10.02)
コメント
この記事へのコメントは終了しました。
« Windows8 PCの祭典 (主催 DOS/V POWER REPORT) 特別賞(グランプリ)受賞 | トップページ | 電源制御型USBハブでUSBチューナーの見失い状態を解消する。(PX-W3U3、S3U2ほかUSBチューナー汎用) »
Kazyさん、なかなかご返答できずすみません。うまく行ったようで良かったです。
私の環境ではアップしているbatのままWin10の最新アップデートでも特に問題なく動いているので逆に気が付きませんでしたが、パスの名前にもよるんですかね。
とりあえずあくまでサンプルバッチなので。。。そのうち改修しておきます。
投稿: Vladi | 2016年4月15日 (金) 01時19分
さらに連投失礼します。
mPlayerは同梱のFontsフォルダもコピーしないと動かなくなってしまったのですね、、
こんかいBatファイルを見つめていて気が付きました。
これでWindows10でも正常に動きました。
ありがとうございます。
投稿: Kazy | 2016年4月 7日 (木) 00時44分
連続投稿失礼します。
ISO-Alterの件ですが、Bat中の%~s1を"%~s1"とすることで解決できました。
長いスペース付きのファイル名だと確かに""で挟まないといけない気がしますが、
今まで動いていたということはWindows 7以下が少しお膳立てしてくれてたのかな・・・・?
投稿: Kazy | 2016年4月 7日 (木) 00時14分
有益な情報ありがとうございます。
WhiteBrowserのISO-Alterを暫く使用させていただいておりましたが、
どうもWindows10が原因で何かがうまくいかずサムネイルが作成されなくなってしまいました。
mplayerがうまく起動できていないのではないかと思ってBatを眺めていますが
当方にはなかなか難易度が高かったので、もしよろしければ修正版をお願いしたいです。
投稿: Kazy | 2016年4月 6日 (水) 08時57分
todoさん、サンプルを頂き有難うございます。今後の記事の参考にさせていただきます。
なお、ここでのご紹介がHandbrakeになっているのは、誰が何も考えずに組み込んでもとりあえず必要十分な性能でそれなりのmp4ができる、という観点が大きいです。新機能の取り込みは比較的遅く、性能面でもっと上のソフトはあると思いますが。
3年ほど前のHandBrake 0.9.9から多くのエンコードソフトで悩まされるような、放送TSエンコード時の音ずれや音声チャンネル切り替え時の無音化、エンコード停止等が例外的に少ないソフトになっているので、(細かく言えばWOWOWの5.1chで雑音が入るような問題はまだあるものの)、その時点でエンコードど素人の私が質問攻めやツッコミに会うリスクも少ないかな、と考え、紹介を決めたという経緯です。
日本語ファイル名の問題のFIXには私自身handbrakeのコミュニティとやりとりしていた「思い出」もありますし。
ただrigayaさんのQSVEncにはTVRemoteViewerで多大なお力をいただいているので、いろいろな形で私も貢献できればと希望しています。ただそれはここの記事にQSVEncのバッチを併記したり、置き換えたりする話とは違うと思います。なにぶん私はエンコードについていろいろな選択肢を提示して読む人が混乱しない程度の事を語るスキルはありませんので、この話はこの辺で。
投稿: Vladi | 2016年3月13日 (日) 13時51分
こんにちは。
いつもTVRemoteFilesとHandbrakeのバッチも利用させていただいております。
本当に便利で感謝いたします。
さて、いろいろなところの情報を参考に、
vladiさんのバッチを流用してQSVEncCでも動作させているところです。HandbrakeでのQSVエンコードと比べてもかなりCPUの負荷率が下がります。実用化できれば本格的に低消費電力のプラットフォームに移行できそうです。
しかし、時々無音になってしまったり、連続で録画しバッチ処理をしていると停止してしまうことがあります。
もし、QSVEncCで録画後のバッチ処理をお試しでしたら、パラメーターを参考にさせていただけないでしょうか。
以下、HandBrake-L_QSV.bat相当(のつもり)の内容です。
echo off
REM 注意)お使いのPCのHandbrakeの置き場は、普通に導入すれば以下と同じになっているはずですが、64bitの環境に32bitのHandBrakeを導入していれば
REM C:\Program Files (x86)\Handbrake\HandBrakeCLI.exe となりますので、冒頭のパスを書き換えてください。
"E:\QSVEncC\QSVEncC64.exe" --avqsv --output-res 720x540 --dar 16:9 --cqp 30 --audio-codec aac --audio-stream :stereo --audio-samplerate 48000 --audio-bitrate 128 --avsync forcecfr --max-procfps 90 --vpp-deinterlace normal --tff -i %1 -o %1.L_QSV.MP4
REM 後処理でエンコード後のファイルを移動したり元ファイルを削除したい場合は、それぞれREMをはずして適切に編集してください。
MOVE /Y %1.L_QSV.MP4 G:\Video 2>NUL
REM if errorlevel 1 (
REM exit
REM ) else (
REM ERASE /F %1
REM )
投稿: todo | 2016年3月13日 (日) 10時46分