このブログも10周年
このブログも10周年ということで、まあぐだーっと感想とか。
(今回は本文、いつも以上にまとまりがないです…)
※なお、今回はじめてブログの予約投稿機能を使いました。
(今回は本文、いつも以上にまとまりがないです…)
※なお、今回はじめてブログの予約投稿機能を使いました。
10年はまあ、長かったなあという感じで、まあ正直言って、こんなに長く続けることになるとは思っていなかった。
長く続けられたのは、無理なくやってきた(まあ、ブログやコード書く気分じゃないときは無理に書かない、ということ)というのと、もちろん、このブログを見てくれる方、また実際に作ったものを使ってくれている方がいらっしゃるということが大きいと思う。
このブログのカウンタは400万を超えていて、それだけ多くの方が見てくださったということで、こんなことになるとは思っていなかったし、本当にありがとうございます。
↓ 2020/9/23 20:44 キャプチャ
また、ちまちまとではあるけど、いろいろ気の向くままにやってきたものが積みあがったので、Aviutlの各種プラグインや、HWエンコーダ(QSVEnc/NVEnc/VCEEnc)とかは(不具合は多いかもだけどorz)いろいろ使ったり遊べるようになってきて、作ってきてよかったかな、と思う。
自作PC
このブログは、始めた当初はもっとPCを作ってベンチマークとかして遊ぶブログになる予定だった。最近はもはや作ったものの更新履歴と化している。解せぬ。
最近はIntelの元気がないのもあって、あまりPCを作っていない気がする。ただ、今後はRocketlake、Zen3、Ampere、RDNA2といろいろ出てくるらしいので、楽しみ。
x264guiEx/x265guiEx
そもそもはseraphy氏が公開されていたx264guiの更新が終了となってしまったので、自分で更新してみようということで、当時は本当にmingwとかも全然わかってなかったけど、x264guiのコンパイル方法とかから調べたりして作ったのが始まり。
当初はいろいろ理解してなくて大変だったけど、なんとか動いたときは凄くうれしかった。
まあそもそも、実装途中とかよく異常終了して悲しくなることが多いのに、それでもコードを書く理由というのは、やっぱり動くとそれ以上にうれしいからっていうのが大きい。
x264gui から x264guiEx に拡張したときには、x264を内蔵するのではなく x264.exe を別プロセスとして実行してあげれば、64bitのx264が使えるので速くなるし、x264がたくさんメモリを使っても全然困らなくなるし、ついでにx264が更新してもプラグインのほうは更新しなくてよくなるよね、と思っていて、プラグインの更新回数を大幅に減らせるのでは、ともくろんでいた。
ただ、その後、なぜか結構な数の更新をしてしまった。
その分、「一時フォルダの指定」や「FAWCheck」、DAR→SAR自動変換等、自分にとってはそこそこいろんなことが自動で一通りできる便利プラグインになった。自動なのはよいことなのだ。
なお、昔のニコ動向けに作った「下限ファイルサイズ」指定機能は、我ながら意味不明だったと思う。「下限」って…。ついかっとなってやってしまった。すみません…。
まあ、最近はもうエンコードにこだわるという時代でもないので、もうそんなに需要はなくなっていくのかも、と思う。私自身も、HDDの数を減らすため、ファイルサイズを減らしたいので、普段x265guiExでエンコードしてるけど、ファイルサイズの圧縮のほうを優先して、以前のように画質のためにオプションをいろいろいじったりはしなくなってしまったので、基本的な設定とpreset veryslowを選んでがんがん圧縮するだけ、みたいな感じになっている。
簡易インストーラ
簡易インストーラはトラブルが多く、正直作ったのは失敗だったかもしれない。作った最初のうちはバグが多く申し訳なかったし、そのうちバグがだいたいつぶれた後はOneDriveとかGoogleDriveとかで同時ダウンロード数を超えたとか、ウイルス判定されたとか、そのあたりによると思われる動作不良も次第に多くなってきて、OneDriveやらGoogleDriveを使い倒すのもなかなか難しいのかもしれない。
ウイルス判定
結構厄介なやつ。つらい。わりとどうしようもない。
delogo
個人的には毎回ロゴを選ぶのは面倒なので、ファイル名から自動でロゴを選択するのが一番やりたかった。自動なのはよいことなのだ(2回目)。
高速化
自分の使うAviutlフィルタをひたすらSIMDを使って高速化した。やっぱり新しいSIMDを使うのが楽しいので、Intelの石を買ってしまいやすいのかもしれない。
自動フィールドシフトやバンディング低減、pmd_mtは結構これでもかと高速化したので、そこそこ速くなってくれたような気がする。CPU性能の向上もあって(というかそちらが大きいのだろうけど)、自動フィールドシフト使用中でもAviutlでのプレビューがほとんど重く感じなくなった。まあ、コードはやたら複雑化したけど、そこはあまり気にするところではない…。
また、自動フィールドシフトは基本的には一度決めたら(わたしはあまり細かいことは気にしないのもあって)あとはそんなにパラメータをいじる必要がないので、自動フィールドシフトが速度面でも使いやすくなったことで、録画のエンコードはCMカットしたらあとはプロファイル選んで終わりというふうに、ぱぱっとエンコードできるようになった。自動フィールドシフトの名の通り、自動なのはよいことなのだ(3回目)。
HWエンコーダ (QSVEnc/NVEnc/VCEEnc)
昔はHWエンコーダ対応ソフトというと、設定がほんとにちょっとしかなく、CQPが選べないということも多くて、自分で好き勝手にパラメータをさわれるHWエンコーダが欲しいということでQSVから作り始めた。ただ、最初のうちのHWエンコは容量/圧縮比がいまいちだったので、これGPU使ってて楽しいけど、正直実用的になることあるのかな…と思っていた。
ただ、QSVやNVENCは世代ごとにどんどんよくなっていって、もちろんソフトウェアエンコには及ばないけど、それなりに品質もあがってきて、作っていてよかったなあ、と思えるようになってきたと思う。(VCEも頑張って...)
あと、普段あまり使わないGPUをエンコードのためということで買う理由ができてよかった(え゛
最初はHWエンコードだけだったけど、そのうちHWデコーダにも対応したり、積極的にffmpegの機能を活用してdemux→decode→filter→encode→muxまでを(いろいろ問題はあるにせよ)一通りできるようにしたり、さらには自分でGPUフィルタを作ったりした。
まあ自分は特にコードを書くのが速いほうでもないので、少しずつちまちまと時間をかけてではあるけど、そのおかげでいろんなことができるようになってきたと思う。(まあ謎機能も多いかもだが)
その途中では、当初思っていなかった機能とかを追加していく過程で、何回か結構大きくコードを書き換えて整理したりもしていて、ひとつのコードを長い期間いじって少しずつ機能拡張していくという貴重な経験もできたのかなと思う。
あまりにも機能が増えすぎたので、いろいろなオプションの組み合わせを変えてひたすらテスト実行するスクリプトとか書いて、ある程度のざっとした論理エラーのテストは自動でできるようにして、実際結構それで公開前に問題点をつぶしたりしている。やはり、自動なのはよいことなのだ(4回目)。
なお、本当はもっとまともなテストコードを書くべきであるが…。
github
そもそもは更新履歴とコードのバックアップのために始めたもの。最初はとっつきにくかったけど、GUI経由でgitを使うと使いやすかった。
githubを使ってみると、やはりコードの更新ごとにバックアップがあるのは非常に安心できるし、普段活躍することは少ないけど、いざという時にとても助かる。
NVEncを中心に外国の方に使ってもらえることも多くなったので、まじめにgithubでドキュメントとか更新履歴とかを整理するようにしたら、github上でいろいろコメントがもらえたり、自分では思いもしない要望とか来て面白い。HDR対応とか、CI使ってみたりとかLinux対応とか、あんまり自分だけだとやってみようと思わないようなことでも、いざやってみると面白い。
問題は、ドキュメントと更新履歴を書く手間が日本語 & 英語の2倍に増え、さらにはissueが積みあがって処理しきれなかったり、なかにはそんな難しい実装は(難易度的あるいは時間的に)無理だよ~みたい要望もあること。特に、これとか、これとか、これみたいにMVTools使う系フィルタ実装して欲しいは難易度的にも時間的にも厳しい…。
ただ、いろいろ不具合を指摘してもらったり、ヒントをもらったり、新機能の参考になったりとありがたい。まあ基本的には、不具合の修正とか、実装できそうで面白そうなものの対応とか、できるところからやっていく感じでマイペースにやっていく感じで。
ちなみにgithubのcommitのヒートマップ。まあcommit数というのはcommitの粒度にもよるので、あまり本質的ではないけど。2013年ごろgithubを活用し始めたようだ。
2013
2014
2015
2016
2017
2018
2019
2020
なお、2017年の10月ぐらいから2018年の夏ごろまで明らかにcommit数が激減しているのはfgoを始めてストーリークリアと素材集めの周回をしまくってたため。いまでは箱イベの貯金のおかげで普段はそこまで周回しなくてもよくなった。
終わりに
こうやって振り返ってみても他の方が作っていただいたコードを拡張しているものが多く、コードを公開してくださった作者の皆様にとても感謝です。
そしてもちろん、ブログの記事にコメントをくださったり、公開しているものをいろいろ使った際に要望や問題点、不具合などコメントくださったり、さらにはいろいろ調べてくださった方にもとても助けられました。本当にありがとうございました。
今後
今後もいつもどおり気が向いたらコード書いたり、いろいろ調べたり、PCを作ったりする予定。
とりあえず、いまはfgoの箱イベ頑張ります。
← 第2期 第3期→
あとそろそろ金銀銅の林檎が尽きそう。虹林檎をかじる羽目に…。
長く続けられたのは、無理なくやってきた(まあ、ブログやコード書く気分じゃないときは無理に書かない、ということ)というのと、もちろん、このブログを見てくれる方、また実際に作ったものを使ってくれている方がいらっしゃるということが大きいと思う。
このブログのカウンタは400万を超えていて、それだけ多くの方が見てくださったということで、こんなことになるとは思っていなかったし、本当にありがとうございます。
↓ 2020/9/23 20:44 キャプチャ
また、ちまちまとではあるけど、いろいろ気の向くままにやってきたものが積みあがったので、Aviutlの各種プラグインや、HWエンコーダ(QSVEnc/NVEnc/VCEEnc)とかは(不具合は多いかもだけどorz)いろいろ使ったり遊べるようになってきて、作ってきてよかったかな、と思う。
自作PC
このブログは、始めた当初はもっとPCを作ってベンチマークとかして遊ぶブログになる予定だった。最近はもはや作ったものの更新履歴と化している。解せぬ。
最近はIntelの元気がないのもあって、あまりPCを作っていない気がする。ただ、今後はRocketlake、Zen3、Ampere、RDNA2といろいろ出てくるらしいので、楽しみ。
x264guiEx/x265guiEx
そもそもはseraphy氏が公開されていたx264guiの更新が終了となってしまったので、自分で更新してみようということで、当時は本当にmingwとかも全然わかってなかったけど、x264guiのコンパイル方法とかから調べたりして作ったのが始まり。
当初はいろいろ理解してなくて大変だったけど、なんとか動いたときは凄くうれしかった。
まあそもそも、実装途中とかよく異常終了して悲しくなることが多いのに、それでもコードを書く理由というのは、やっぱり動くとそれ以上にうれしいからっていうのが大きい。
x264gui から x264guiEx に拡張したときには、x264を内蔵するのではなく x264.exe を別プロセスとして実行してあげれば、64bitのx264が使えるので速くなるし、x264がたくさんメモリを使っても全然困らなくなるし、ついでにx264が更新してもプラグインのほうは更新しなくてよくなるよね、と思っていて、プラグインの更新回数を大幅に減らせるのでは、ともくろんでいた。
ただ、その後、なぜか結構な数の更新をしてしまった。
その分、「一時フォルダの指定」や「FAWCheck」、DAR→SAR自動変換等、自分にとってはそこそこいろんなことが自動で一通りできる便利プラグインになった。自動なのはよいことなのだ。
なお、昔のニコ動向けに作った「下限ファイルサイズ」指定機能は、我ながら意味不明だったと思う。「下限」って…。ついかっとなってやってしまった。すみません…。
まあ、最近はもうエンコードにこだわるという時代でもないので、もうそんなに需要はなくなっていくのかも、と思う。私自身も、HDDの数を減らすため、ファイルサイズを減らしたいので、普段x265guiExでエンコードしてるけど、ファイルサイズの圧縮のほうを優先して、以前のように画質のためにオプションをいろいろいじったりはしなくなってしまったので、基本的な設定とpreset veryslowを選んでがんがん圧縮するだけ、みたいな感じになっている。
簡易インストーラ
簡易インストーラはトラブルが多く、正直作ったのは失敗だったかもしれない。作った最初のうちはバグが多く申し訳なかったし、そのうちバグがだいたいつぶれた後はOneDriveとかGoogleDriveとかで同時ダウンロード数を超えたとか、ウイルス判定されたとか、そのあたりによると思われる動作不良も次第に多くなってきて、OneDriveやらGoogleDriveを使い倒すのもなかなか難しいのかもしれない。
ウイルス判定
結構厄介なやつ。つらい。わりとどうしようもない。
delogo
個人的には毎回ロゴを選ぶのは面倒なので、ファイル名から自動でロゴを選択するのが一番やりたかった。自動なのはよいことなのだ(2回目)。
高速化
自分の使うAviutlフィルタをひたすらSIMDを使って高速化した。やっぱり新しいSIMDを使うのが楽しいので、Intelの石を買ってしまいやすいのかもしれない。
自動フィールドシフトやバンディング低減、pmd_mtは結構これでもかと高速化したので、そこそこ速くなってくれたような気がする。CPU性能の向上もあって(というかそちらが大きいのだろうけど)、自動フィールドシフト使用中でもAviutlでのプレビューがほとんど重く感じなくなった。まあ、コードはやたら複雑化したけど、そこはあまり気にするところではない…。
また、自動フィールドシフトは基本的には一度決めたら(わたしはあまり細かいことは気にしないのもあって)あとはそんなにパラメータをいじる必要がないので、自動フィールドシフトが速度面でも使いやすくなったことで、録画のエンコードはCMカットしたらあとはプロファイル選んで終わりというふうに、ぱぱっとエンコードできるようになった。自動フィールドシフトの名の通り、自動なのはよいことなのだ(3回目)。
HWエンコーダ (QSVEnc/NVEnc/VCEEnc)
昔はHWエンコーダ対応ソフトというと、設定がほんとにちょっとしかなく、CQPが選べないということも多くて、自分で好き勝手にパラメータをさわれるHWエンコーダが欲しいということでQSVから作り始めた。ただ、最初のうちのHWエンコは容量/圧縮比がいまいちだったので、これGPU使ってて楽しいけど、正直実用的になることあるのかな…と思っていた。
ただ、QSVやNVENCは世代ごとにどんどんよくなっていって、もちろんソフトウェアエンコには及ばないけど、それなりに品質もあがってきて、作っていてよかったなあ、と思えるようになってきたと思う。(VCEも頑張って...)
あと、普段あまり使わないGPUをエンコードのためということで買う理由ができてよかった(え゛
最初はHWエンコードだけだったけど、そのうちHWデコーダにも対応したり、積極的にffmpegの機能を活用してdemux→decode→filter→encode→muxまでを(いろいろ問題はあるにせよ)一通りできるようにしたり、さらには自分でGPUフィルタを作ったりした。
まあ自分は特にコードを書くのが速いほうでもないので、少しずつちまちまと時間をかけてではあるけど、そのおかげでいろんなことができるようになってきたと思う。(まあ謎機能も多いかもだが)
その途中では、当初思っていなかった機能とかを追加していく過程で、何回か結構大きくコードを書き換えて整理したりもしていて、ひとつのコードを長い期間いじって少しずつ機能拡張していくという貴重な経験もできたのかなと思う。
あまりにも機能が増えすぎたので、いろいろなオプションの組み合わせを変えてひたすらテスト実行するスクリプトとか書いて、ある程度のざっとした論理エラーのテストは自動でできるようにして、実際結構それで公開前に問題点をつぶしたりしている。やはり、自動なのはよいことなのだ(4回目)。
なお、本当はもっとまともなテストコードを書くべきであるが…。
github
そもそもは更新履歴とコードのバックアップのために始めたもの。最初はとっつきにくかったけど、GUI経由でgitを使うと使いやすかった。
githubを使ってみると、やはりコードの更新ごとにバックアップがあるのは非常に安心できるし、普段活躍することは少ないけど、いざという時にとても助かる。
NVEncを中心に外国の方に使ってもらえることも多くなったので、まじめにgithubでドキュメントとか更新履歴とかを整理するようにしたら、github上でいろいろコメントがもらえたり、自分では思いもしない要望とか来て面白い。HDR対応とか、CI使ってみたりとかLinux対応とか、あんまり自分だけだとやってみようと思わないようなことでも、いざやってみると面白い。
問題は、ドキュメントと更新履歴を書く手間が日本語 & 英語の2倍に増え、さらにはissueが積みあがって処理しきれなかったり、なかにはそんな難しい実装は(難易度的あるいは時間的に)無理だよ~みたい要望もあること。特に、これとか、これとか、これみたいにMVTools使う系フィルタ実装して欲しいは難易度的にも時間的にも厳しい…。
ただ、いろいろ不具合を指摘してもらったり、ヒントをもらったり、新機能の参考になったりとありがたい。まあ基本的には、不具合の修正とか、実装できそうで面白そうなものの対応とか、できるところからやっていく感じでマイペースにやっていく感じで。
ちなみにgithubのcommitのヒートマップ。まあcommit数というのはcommitの粒度にもよるので、あまり本質的ではないけど。2013年ごろgithubを活用し始めたようだ。
2013
2014
2015
2016
2017
2018
2019
2020
なお、2017年の10月ぐらいから2018年の夏ごろまで明らかにcommit数が激減しているのはfgoを始めてストーリークリアと素材集めの周回をしまくってたため。いまでは箱イベの貯金のおかげで普段はそこまで周回しなくてもよくなった。
終わりに
こうやって振り返ってみても他の方が作っていただいたコードを拡張しているものが多く、コードを公開してくださった作者の皆様にとても感謝です。
そしてもちろん、ブログの記事にコメントをくださったり、公開しているものをいろいろ使った際に要望や問題点、不具合などコメントくださったり、さらにはいろいろ調べてくださった方にもとても助けられました。本当にありがとうございました。
今後
今後もいつもどおり気が向いたらコード書いたり、いろいろ調べたり、PCを作ったりする予定。
とりあえず、いまはfgoの箱イベ頑張ります。
← 第2期 第3期→
あとそろそろ金銀銅の林檎が尽きそう。虹林檎をかじる羽目に…。