いろいろなところでHEVC対応が進んでいる。
そして最近
x265 にパイプ入力が実装されたので、作っている最中のAviutlからの出力プラグインを上げておく。
ただ、
・HEVCのmp4/mkvへの格納はまだしっかり規格化されてないとのこと。
・あとx265guiExもテストが足りてない。たぶんいろいろ変なとこある。たぶん。
ということで、まだまだβ版ということで、遊ぶだけにしてください。
使う場合は、
x265guiEx.auo / x265guiEx.ini / x265guiEx_stgフォルダをpluginフォルダに、
msvcp120.dll / msvcr120.dll をAviutlフォルダにコピーしてください。
また必要な実行ファイル
x265.exe
L-SMASH (muxer.exe / remuxer.exe)
音声エンコーダ (nero / qaac とか?)
などを設定画面から指定してください。
x265はパイプ(stdin読み)に対応したものを使用してください。
注意事項など ・x265も開発中で、たまに不安定なので、その時は設定変えたり解像度変えたりすると動いたりします。
・x265guiExはまだ不安定かもです。特にCLIモードとかmkv出力とか全くテストしてません。まあわたしが今のところ作ったGUIでしか遊ばないので…。今後暇を見つけて頑張ってテストします。
いつもの注意事項など 無保証です。自己責任で使用してください。拡張 x265 出力 (x265guiEx.auo)を使用したことによる、いかなる損害・トラブルについても責任を負いません。 ダウンロード>> どちらもx264guiExと代わり映えしない画面を貼っておく。
エンコード中…
設定画面 さんぷる
その他関連記事
x265をビルドする x265 画質チェック (2013.10)
スポンサーサイト
x265guiExでエンコードしてmp4ファイルが生成されたところまでは良かったのですが、そのmp4・265ファイルがどちらも真っ暗でした。(mp4は正常に音が出ます)
デコーダが無いだけなのか、エンコードに問題があったのか教えていただければと思い質問させていただきました。
http://www1.axfc.net/u/3070593.zip
↑エンコードして生成されたファイルとログです。
こちらでは再生できています。なので、デコーダ、あるいはスプリッタがないことが問題かと思います。
なので再生環境をHEVC対応のものにしていただければと。
流石仕事が早い
返信ありがとうございます。
http://rigaya34589.blog135.fc2.com/blog-entry-403.html に
・デコーダの準備。まだLAV Filtersとかには入ってないのかな…ということで、muken様のlibav + L-SMASH WorksでAviutlをメディアプレイヤーに。
とあったので、Aviutl version 1.00とL-SMASH Works File Reader r688を使ったのですが、前に書いたように映像が出ませんでした。
その他に、DivX Player バージョン 10.0.0も試してみましたが、「エラー プレーヤはこのコンテナフォーマットを認識しません。…」などと表示させました。
どうかAviutlでHEVCのファイルを再生する方法を詳しく教えていただけませんか?
よろしくお願い致します。
ああ、いや、画質比較の記事で書いた「muken様のlibav + L-SMASH Works」というのは自分でビルドする必要があるもので、結構手間がかかります。
最近、mpc-hcがHEVC decode & splitに対応しましたので、それでいける、ということだったのです。(この記事の中の「いろいろなところでHEVC対応が進んでいる。」とはそういう意味で、それもあってx265guiExを公開してみました。)
わたしは
http://nightly.mpc-hc.org/ の最新のx86版で上げてくださったのを確認しましたので、そちらを試してみてください。(x64は確認してません)
(誤)などと表示させました。
(正)などと表示されました。
申し訳ございません。
x86版、x64版ともに正常に再生出来ました。
何度も質問に答えてくださって本当にありがとうございます。
試しにセッティングして、「ミス・モノクローム」のEDをエンコードしてみました。
フィルタの設定はそのまま、x264@10bitと比較してみると、x265(高画質プリセット)は画質は遜色無し(若干バンディング有り)、ファイルサイズで半分、エンコード時間は20倍という結果となりました。
CPUを完全に使い切れていない感もありますが、これが実用化&高速化されたら素晴らしいですね。
20倍かかる…いや、ほんとに高速化には期待したいです。
輪郭とかは8bitでもx265のほうがきれいな感じですが、やはりバンディングには8bitらしく弱いのですか。
HEVCの10bitなるものもあるようなのですが、それはさらに遅いんだろうな…という。
HEVCを使った放送を考えるとTSなのかなと思いますがどうなんでしょう。
H.264/AVCは現在はmp4が多く、またmkvやmov、flvも見かけるかな、という感じですが、これも結局はなんとなく多くのソフト・デバイスで使えるから、というのが一番の理由だと思います。
HEVCのコンテナがどれがメインになるかも時間とともに自然に決まっていくんだろうな、と思っています。
ISOとして標準化される格納可能なコンテナは、
放送: MPEG-2 Transport Stream (ISO/IEC 13818-1) (Program Streamは無し)
ローカル: MP4 file format (ISO/IEC 14496-1, 14496-12, 14496-14, 14496-15)
ストリーミング: MPEG Media Transport / MMT (ISO/IEC 23008-1)
今のところ、こんな感じですかね。
いずれもまだドラフト上ですが、TSとMP4は多分、今年中に規格書が発行されるでしょう。
x264guiEX2.03 で VideoLAN.orgのバイナリ( r2377)だと「~パラメータが不正」と出てしまうようなのですが・・・。
http://download.videolan.org/pub/videolan/x264/binaries/win64/
オプションは
--tune film --crf 23 --qpstep 6 --rc-lookahead 60 --vbv-bufsize 30000 --vbv-maxrate 24000 --aq-mode 2 --keyint 24 --b-adapt 2 --b-pyramid strict --slices 4 --merange 24 --direct auto --ref 4 --no-dct-decimate --trellis 2 --colormatrix bt709 --colorprim bt709 --transfer bt709 --sar 1:1 --level 4.1 --videoformat ntsc --aud --nal-hrd vbr --bluray-compat
です。
23.976fps 1920*1080
Videolan.orgのバイナリの件ですが、よく調べもせずにすいませんでした・・・。
エラー内容は下記のとおりで、MP4コンテナ指定だとエラーになるようです。
---
x264 [error]: not compiled with MP4 output support
auo [error]: x264が予期せず途中終了しました。x264に不正なパラメータ(オプション)が渡された可能性があります。
---
>muken様
なるほど、規格ではAVCと同じような感じになりそうなのですね。将来4K放送とかがもしあれば、HEVC in ts な感じでしょうか。
>VideoLAN.orgのバイナリ
なんと、せっかくL-SMASHサポートが本家に入ったというのに、ビルドには入ってないんですか…。なぜだ…。
x264guiExではmp4出力時には、mp4出力できるx264実行ファイルが必要なので、rev2377を使用する場合、
http://komisar.gin.by/ のものなどがよいかもしれません。(こちらのものはL-SMASHによるmp4出力がサポートされていることを確認しました。)
auo [info]: converting YUY2 -> yv12p, using SSE2
auo [info]: x265 options...
--qp 30 --keyint 300 --b-adapt 2 --tu-intra-depth 2 --tu-inter-depth 2 --me 2 --subme 3 --max-merge 3 --rd 0 --frame-threads
5 --frames 224352 --input-res 512x384 --fps 30 -o "C:UsersxxxxxVideosxxxxx_Baby_HEVC.265" "-"
yuv [info]: 512x384 30Hz C420, frames 0 - 224351 of 0
x265 [info]: using cpu capabilities: MMX2 SSE SSE2Fast SSSE3 SSE4.1 Cache64
x265 [info]: HEVC encoder version 0.5+402-e2895ce7bbeb
x265 [info]: build info [Windows][MSVC 1800][32 bit] 8bpp
x265 [info]: Main profile, Level-2.1 (Main tier)
x265 [info]: WPP streams / pool / frames : 6 / 2 / 5
x265 [info]: CU size : 64
x265 [info]: Max RQT depth inter / intra : 2 / 2
x265 [info]: ME / range / subpel / merge : umh / 60 / 3 / 3
x265 [info]: Keyframe min / max : 300 / 300
x265 [info]: Rate Control : CQP-30
x265 [info]: Lookahead / bframes / badapt : 40 / 3 / 2
x265 [info]: tools: rect amp rd=0 ref=3 lft sao-lcu sign-hide
x265 [info]: frame I: 852 PSNR Mean: Y:41.627 U:45.569 V:46.048
x265 [info]: frame P: 70920 PSNR Mean: Y:37.903 U:42.812 V:43.599
x265 [info]: frame B: 152580 PSNR Mean: Y:37.315 U:41.952 V:43.121
x265 [info]: global : 224352 PSNR Mean: Y:37.517 U:42.237 V:43.283
auo [info]: x265エンコード時間 : 13時間56分58.4秒
auo [info]: NeroAacEnc で音声エンコードを行います。 Q-Based AAC 65~kbps
auo [info]: L-SMASH muxer でmuxを行います。映像: on, 音声:off, tc:off, 拡張モード:なし
auo [error]: mux後ファイルが見つかりませんでした。
auo [error]: L-SMASH muxer でのmuxに失敗しました。
auo [error]: muxのコマンドラインは…
auo [error]: "C:toolsaviutlexe_filesmuxer.exe" -i "C:UsersxxxxxVideosxxxxx_Baby_HEVC.265"?fps=30001/1001 -o "C:UsersxxxxxVideosxxxxx_Baby_HEVC_muxout.mp4"
L-SMASH muxer [error]: MP4 muxing mode
L-SMASH muxer [error]: Error: failed to open input file.
L-SMASH muxer [error]: Error: failed to open input files.
auo [info]: 総エンコード時間 : 14時間 2分57.2秒
映像・音声のエンコは成功したのですが、最後のmuxで失敗して・・・
元のソースは8mmビデオで撮影したホームビデオです。
上記の中間Aviファイル(MSU製ロスレスコーデック)で読込でもavs直接読込でも同じ結果です。
現在、H.265/HEVCのmp4やmkvへの格納方法が規格で確定しておらず、そのためmuxerは暫定的な実装となっており、最新のmuxerではHEVCのmux機能は一時的に無効化されています。
現状H.265/HEVCは保存用でなく画質評価のためとしていただきたく思いますが、このあたりを理解して頂いた上で、実験用としてはoldのフォルダにあるrev785などを使用すればmuxできるはずです。
DivX10 でも H.265 が搭載されたようです
簡単に試してみたいのであれば、こちらの導入も
有りかと。
紹介記事はこちら
http://news.mynavi.jp/articles/2013/10/25/divx10/
★mkvtoolnix6.2.0-promised_land_rovi_v1.0.4
★
https://github.com/jaya-divx/mkvtoolnix
ここのMKVToolNixじゃないとHEVCの格納は無理です
現時点では実験的なので
公式のものは一時的に無効化されてるのはお察しの通り
これをみるとCPUじゃなくてGPGPUによるエンコードが最適な気がします。
いやあ、どうでしょう…。速度面ではおっしゃるように期待できそうですが。
H.264/AVCでも画質はQSV/VCEがまあまあ、CUDAだとそれよりも微妙、という感じでx264に遥か遠く及ばないのを見ていると、H.265/HEVCでも同じことが繰り返される気がしてなりません。むしろH.265なのにx264に画質で敗北とかいうオチがありそうで怖いです…。
個人的には現在進行中のx265のSIMD最適化に期待しています。
プラグイン出力に出てこないんですが・・・
認識されないのは、多くの場合VC++2013のランタイムが無いためだと思われます。
同梱のVC++2013のランタイム(msvcp120.dll / msvcr120.dll)が正しくAviutl.exeと同じ階層のフォルダに入っていますでしょうか?
確認していただければと思います。
または、下記urlからダウンロードしてPCにインストールする方法もあります。
http://www.microsoft.com/ja-jp/download/details.aspx?id=40784
いつもお世話になっています
x265 が version 1.1 に上がりました
http://x265.ru/en/
x265guiExβも更新しました。1.1になるちょっと前ぐらい(?)のプリセット変更を反映しています。
14496-15 3rd ed.におけるHEVC-in-ISOBMFFの規格が固まって、まもなくその規格書が発行されるであろう(おそらく今月末か来月頭)状況において、エンドユーザーに対して無効にした経緯及び意図を関知しないユーザーの利用が目につきます。
rev785にはmuxがストリームの途中までしか行われないバグが含まれていることと、DivXのドラフト段階でのconfigurationVersionと同じ値(0)を使うことによる正規ストリームとの区別を図る処置を行っており、殊にハードウェアにおける互換性に問題があります。
私個人としては、互換性の危ういファイルを、よく事情も理解しないユーザーによって量産されるこの状況は看過しがたいものであるので、削除の方をよろしくご検討のほどお願い申し上げます。
rev785の問題点、承知しました。
Onedrive/dropboxともに、HEVCのmux機能が有効になっているL-SMASH rev766~785の削除を行いました。
また、念のため、x265guiExのmp4のmux機能も動作しないよう変更し、古いものは非公開としました。
先日のIntel HD Graphicsドライバ 15.33.22.3621にて、H.265のハードウェアデコード対応があったようです。
http://skyline798.blog118.fc2.com/blog-entry-4955.html
実際に(r785でミックスされた)H.265なMP4をMPC-HCで再生してみたところ、確かにGPUをかなり使用していました(i7-3610QM+HD4000で確認)。
また、4k()試験放送も、H.265で始まったようですね。
段々とH.265が普及し出そうとしてる…ようです。
ただ、TSに関してはコンテナ規格がまとまっていますが、MP4など一般的なコンテナに関してはmukenさんが上でコメントされたように、もう少し待つ必要がありそうですね…
…そもそも現状のx265は遅すぎるけど…orz
これとは別に、3621ドライバリリースの直後、Intel Media SDKを更新しに行きましたが、「Intel Media SDK 2014 R2 for Clients」にてAPIが1.9まで上がってました。
3621ドライバで1.8だから、まだまだ早そうですが…
その際、同じところで「
Intel Media SDK 2014 HEVC Pack」というものを発見しました。
https://software.intel.com/en-us/vcsource/tools/media-sdk-clients
そこには…
The Intel Media Software Development Kit (Intel Media SDK) HEVC Pack is a set of software development libraries (plug-ins) and tools that that expose the HEVC (ISO*/IEC* 23008-2 MPEG-H Part 2 or ITU-T* H.265 standard) decode and 「encode」 acceleration capabilities of Intel platforms.
と書かれていて、もしかしてQSVでH.265エンコードも出来る様になるのでは…と思って報告させて頂いた次第です。
ただ、現状では30日間無料、それ以上継続して使うには999ドルものカネを支払う必要があるみたいですが…
そもそも、そのQSV H.265が、現時点の画質面でソフトウェアエンコのH.264に勝てるのかも不明瞭です。
また、先程も述べたように、H.265のコンテナはまだ確定してません。
なので、多分現時点では何も出来ないと思いますが、頭の片隅にでも入れておいてもらえたら幸いですm(__)m
徐々にH.265が普及していくのかな、という兆しが見え始めていますね。
さすがに有料のうちは使う気はないですが…
4KのHEVCのソフトデコードは4コアCPUでも厳しいらしいですし、今後どんどんHEVCのHWデコードができるようになっていくといいですね。
x265guiEx・L-SMASH・x265.exeを更新し、mp4エンコしたところ
auo [info]: NeroAacEnc で音声エンコードを行います。AAC-LCビットレート指定, 200kbps
auo [error]:出力音声ファイルがみつかりません。NeroAacEncでの音声のエンコードに失敗しました。
auo [error]:音声エンコードのコマンドラインは・・・
と表示され、エンコードに失敗します
音声のファイルを移動させたりはしていないため原因がわからずにいます
映像ファイルはAVI、音声ファイルはoggです
こちらでも試してみましたが、neroでのエンコードは正常に終了してしまい、ちょっと原因がわかりません。
可能性としては、音声のサンプリングレートの異常などがありえますが、特定できません。
>> auo [error]:音声エンコードのコマンドラインは・・・
の後は、なにも表示されていないでしょうか? この後に問題解決のヒントが表示されることも多いのですが…。
auo [error]:"E:\編集\AviUtl\neroAacEnc.exe" -ignorelength -lc -br 200000 -if "-" -of "E:\保存\0000_audio.m4a"
となっていました。
サンプリングレートは
PCM 192.000kHz 2chでした
neroaacencは192kHzは対応しておらず、そのため音声エンコードが失敗しているのだと思われます。
どうにか48kHzや96kHzで音声を入力して、再度試してください。
https://twitter.com/Paranoialmaniac/statuses/482291147537006593
L-SMASH muxer CLIツールのHEVC muxingを再有効化しました
との事らしいので、x265guiのmp4 mux についても機能制限解除していただけないでしょうか。
以上、よろしくお願いします。
3.34βで有効に戻っています。同梱のreadmeに記述しておらず、すみませんでした。
こちらこそ、確認もせず要望を出してしまい申し訳ございませんでした。
使わせていただきます。