2014年02月17日

x265動画のエンコード

当サイトのFFmpeg rev.60677から、x265動画のエンコードに対応しました。

x265は、H.264の後継と言われている、H.265/HEVCのエンコードライブラリです。

参考までに、携帯動画変換君で使う場合の、Transcoding.ini のサンプルを載せておきます。
x265に対応したffmpeg.exeを、携帯動画変換君のcoresフォルダにコピーしてお使いください。


映像は1Mbps 1280x720サイズ、音声はNero AAC 192kbps 48kHz、動画フォーマットはmatroskaです。
ビットレートや画面サイズなどは、お好みで変更してください。
動画フォーマットは、今のところmatroskaのみ指定できるようです。

2014/03/21 追記
当サイトで配布しているffmpeg rev.61665から、動画フォーマットはmatroskaの他、mp4も指定できるようになっています。
サンプルの、出力動画ファイルのフォーマットと拡張子をmp4に変更しました。

2014/02/25 追記
TemporaryFileの削除コマンドを入れ忘れていたので、追加しました。

Title=【動画】x265 + Nero AAC 720p 30fps
Command0=""<%AppPath%>\cores\ffmpeg" -y -i "<%InputFile%>" -vn -acodec pcm_s16le -ac 2 -ar 48000 "<%TemporaryFile%>.wav""
Command1=""<%AppPath%>\cores\neroAacEnc" -if "<%TemporaryFile%>.wav" -lc -br 192000 -of "<%TemporaryFile%>.aac""
Command2=""<%AppPath%>\cores\ffmpeg" -y -i "<%TemporaryFile%>.aac" -i "<%InputFile%>" -acodec copy -vcodec libx265 -preset medium -tune ssim -x265-params "me=2" -s 1280x720 -aspect 16:9 -r 29.97 -sws_flags lanczos+print_info -b 1M -bt 1M -f mp4 -threads 3 "<%OutputFile%>.mp4""
Command3="rm "<%TemporaryFile%>.wav""
Command4="rm "<%TemporaryFile%>.aac""


FFmpeg内蔵のAACエンコーダを使う場合は、以下のようになります。

Title=【動画】x265 + 内蔵AAC(experimental) 720p 30fps
Command0=""<%AppPath%>\cores\ffmpeg" -y -i "<%InputFile%>" -vcodec libx265 -preset medium -tune ssim -x265-params "me=2" -s 1280x720 -aspect 16:9 -r 29.97 -sws_flags lanczos+print_info -b 1M -bt 1M -acodec aac -strict experimental -ab 192k -ac 2 -ar 48000 -f mp4 -threads 3 "<%OutputFile%>.mp4""


今のところ、libx265関連で指定できるオプションは、
-preset
-tune
-x265-params
です。

-x265-params を使えば、libx265のオプションをすべて使用できます。
-x265-params "me=2:rc-lookahead=20"
などのように、libx265のオプションを指定できます。

2014/03/21 追記
SSEなど、どれが有効になるかはCPUを自動判別しているのですが、asmというオプションが追加され、手動で指定できるようになっています。
-x265-params "asm=SSE2,SlowCTZ"
など、有効にしたいものをコンマで区切ります。
CPUが対応していないものを指定すると、エラーになります。

何が指定できるかは、ソースコード「cpu.cpp」を参照してください。
https://bitbucket.org/multicoreware/x265/src/fe3fcd9838c02fb65fed8638a13dea9f06f8a9be/source/common/cpu.cpp?at=default


オプションについての説明は、x265のダウンロードページ
https://bitbucket.org/multicoreware/x265/downloads
ここから、
x265 Evaluators Guide Feb 12 2014.pdf
x265 Evaluators Guide March 16 2014.pdf
をダウンロードして、参照してください。

いろいろお試しください。
posted by あべちん at 14:59 | Comment(15) | TrackBack(0) | 携帯動画変換君
この記事へのコメント
管理人さん

こんばんニャ(=^∇⌒=)ノ

H.264の後継ですか!?

管理人さんのiniだとエラーになりまつ・・・

なんでだろー?



H.264の映像は60677より59804の方が私のとこでは綺麗でした。。。

因みにマザーボードをASUS P8Z77-Mに変えてCore i7 3770KをOC4.3GHZでエンコしました。。。


規格より10秒速くエンコ出来まつよ(=^・^=)ノ




Posted by まさみ at 2014年02月17日 19:09
携帯動画変換君と前記事のffmpeg60677を用いてlibx265でmkvをつくろうとしたところ
A>Dialog : 処理実行中にエラーが発生しました [Error:-1073741819]
と出ます。
バッチファイルから
ffmpeg.exe -y -i output.aac -i input.mp4 -acodec copy -vcodec libx265 -preset ultrafast -crf 28 -threads 0 output.mkv
としてもエラーとなります。こちらは他所
http://ffmpeg.zeranoe.com/builds/
のffmpegでは通りました。
libx264とかだと変換できます。なにか必要な物があるのでしょうか?
Posted by A3 at 2014年02月17日 21:23
まさみさん、こんにちは。管理人です。

さっそくのご報告ありがとうございます。

x265のエンコードは、携帯動画変換君の設定の問題ではなく、ライブラリの問題かもしれませんね。

動作確認したのはWindows XP SP3(32bit)ですが、まさみさんのPCのOSは何ですか?


x264は、画質に関わるところが変わってしまったのでしょうかね?

また何か分かったらお知らせします。
Posted by あべちん at 2014年02月17日 22:16
A3さん、こんにちは。管理人です。

さっそくのご報告ありがとうございます。

Zeranoeさんのビルドは32bit、64bit、Static、Sharedなどがありますが、動作したのはどれでしょうか?

x264は大丈夫で、x265がダメだとすると、まさみさんの場合と共通の問題かもかもしれませんね。
Posted by あべちん at 2014年02月17日 22:32
環境はcorei7 2600K win8 64bitです
64bitのStaticのものを使いました
Posted by A3 at 2014年02月17日 22:33
A3さん
すばやいコメントありがとうございます。

もし、Zeranoeさんの32bit版でも同じエラーが出たら、私のビルド環境も32bitなので、x265のライブラリの問題かもしれません。

Zeranoeさんの32bit版だとエラーが出ないとなると、今のところ原因は分かりません。

お暇な時にでも試してみてください。
Posted by あべちん at 2014年02月17日 23:09
32bit版では同様のエラーが出ました
ありがとうございました
Posted by A3 at 2014年02月18日 02:05
A3さん
試してくださって、ありがとうございました。

私も試せる環境があればデバッグしてみたいのですが、すぐにはできませんので、しばらくは様子見です。

また何か分かりましたらお知らせします。
Posted by あべちん at 2014年02月18日 22:30
管理人さん

こんばんニャ(=^∇⌒=)ノ

>PCのOSは何ですか?

Windows Vista Home Premium SP2ですよ!

マザーボードはASUS P8Z77-Mで

CPUはCore i7 3770KをOC4.3GHZです。。。





Posted by まさみ at 2014年02月20日 00:11
まさみさん、こんにちは。管理人です。
コメントありがとうございます。

Windows Vistaは64bit版ですか?

32bit環境でコンパイルしても64bit環境で動作するように、だれか気が付いて修正してくれるといいんですけどね。
Posted by あべちん at 2014年02月22日 07:14
管理人さん

こんばんニャ(=^∇⌒=)ノ

Vistaは32bitですよ!

FFmpeg rev.60811で再度チャレンジしてみますね(=^・^=)ノ


Posted by まさみ at 2014年02月23日 00:12
管理人さん

こんばんニャ(=^∇⌒=)ノ

60811もダメでした

(=´Д`=)

X264でエンコ出来るので諦めます。。。


・^=)チラ|彡サッ


Posted by まさみ at 2014年02月23日 22:48
まさみさん、こんにちは。管理人です。

ご報告ありがとうございます。

Windowsが64bit版だからエラーになるのかと思ったら、そういうわけでもないんですね。謎だ。

他に、まさみさんとA3さんの環境で共通するのは、CPUがCore i7ということですが、関係ありそうななさそうな?
よく分かりません。

あと、今回のエラーと関係があるかわかりませんが、x265のバグを発見したので、修正してまた差し替えました。

あとは見当がつかないので、しばらく様子をみます。
Posted by あべちん at 2014年02月24日 10:07
管理人さん

こんにちニャ(=^∇⌒=)ノ

rev.60897 で x265 変換しましたが

ダメでした。。。

Windows Vista がダメなの鴨!?

それともOCかCore i7 3770Kか!?

諦めまつ(=´Д`=)


x264は 60897 より 60811 の方が綺麗です。。。


x264は変わってないのに何で変わるのかな!?







Posted by まさみ at 2014年02月27日 17:42
まさみさん、こんにちは。管理人です。

rev.60897もダメでしたか。残念!

CPUを自動で判別してSSE2とかSSE3とか切り替えてるようなので、特定のCPUだけエラーになるというのは、ありえるかもしれません。

x264は、ffmpegの方で、何か画質に影響するような処理が変わったんでしょうかね?

また何か気が付いたら試してみます。
Posted by あべちん at 2014年02月28日 16:39
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
この記事へのトラックバックURL
http://blog.sakura.ne.jp/tb/87485594
※言及リンクのないトラックバックは受信されません。

この記事へのトラックバック