このブログも10周年

このブログも10周年ということで、まあぐだーっと感想とか。

(今回は本文、いつも以上にまとまりがないです…)

※なお、今回はじめてブログの予約投稿機能を使いました。


10年はまあ、長かったなあという感じで、まあ正直言って、こんなに長く続けることになるとは思っていなかった。

長く続けられたのは、無理なくやってきた(まあ、ブログやコード書く気分じゃないときは無理に書かない、ということ)というのと、もちろん、このブログを見てくれる方、また実際に作ったものを使ってくれている方がいらっしゃるということが大きいと思う。

このブログのカウンタは400万を超えていて、それだけ多くの方が見てくださったということで、こんなことになるとは思っていなかったし、本当にありがとうございます。

↓ 2020/9/23 20:44 キャプチャ
fc2_counter_20200923.png

また、ちまちまとではあるけど、いろいろ気の向くままにやってきたものが積みあがったので、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
github_commits_2013.png
2014
github_commits_2014.png
2015
github_commits_2015.png
2016
github_commits_2016.png
2017
github_commits_2017.png
2018
github_commits_2018.png
2019
github_commits_2019.png
2020
github_commits_2020.png

なお、2017年の10月ぐらいから2018年の夏ごろまで明らかにcommit数が激減しているのはfgoを始めてストーリークリアと素材集めの周回をしまくってたため。いまでは箱イベの貯金のおかげで普段はそこまで周回しなくてもよくなった。



終わりに

こうやって振り返ってみても他の方が作っていただいたコードを拡張しているものが多く、コードを公開してくださった作者の皆様にとても感謝です。

そしてもちろん、ブログの記事にコメントをくださったり、公開しているものをいろいろ使った際に要望や問題点、不具合などコメントくださったり、さらにはいろいろ調べてくださった方にもとても助けられました。本当にありがとうございました。



今後

今後もいつもどおり気が向いたらコード書いたり、いろいろ調べたり、PCを作ったりする予定。

とりあえず、いまはfgoの箱イベ頑張ります。

← 第2期                    第3期→
fgo_20200923_box2.jpgfgo_20200926_02.jpg

あとそろそろ金銀銅の林檎が尽きそう。虹林檎をかじる羽目に…。
スポンサーサイト



コメントの投稿

非公開コメント

10周年おめでとうございます!
x264guiEx初期の頃からお世話になっているので自分でも驚きです。

やっぱり10年前と比べると昔はエンコに情熱を注いでる人が多くて賑やかでしたが今はエンコそのものをしなくなったって人は多いですよね。

NVEncはgithub見てるととても大変そうで😵

fgo最近あまり触れていませんがこちらもお世話になっています🤗

ブログ生誕10周年おめでとうございます。
x264guiExがリリースされたときは、aviutilから市販ソフトに移行しなくて済みましたし、NVEncのエンコードが速いということで、PCゲームはしないのに思い切ってビデオカードを買いました。

ときどき不具合を報告させていただいておりますが、その都度迅速な対応していただきありがとうございます。

益々のご活躍をお祈り申し上げます。
No Encoding, No Life.

簡易インストーラ

いつもお世話になってます。10年も経ちましたか。

簡易インストーラをリクエストしたのはおそらく
自分だったと思います。当時、質問に答えているrigayaさんが
とても大変そうだったので少しでも楽になればと
思っていたのでした。

コメント欄に書き込んだ際は、そんなもの不要だなどとの
レスが多少あり、けっこう凹んだのを覚えています。
今では、このインストーラがあることが大前提で、多くの
AviUtl利用者向けのドキュメントがあり、自分も友人に
返信するのが楽になりました。とても感謝しています。

No title

> Shion 様
コメントいただきありがとうございます!

初期から使ってくださっているのですね…。ありがとうございます。

たしかにエンコしなくなったという人は多いように思います。動画編集をされる方は多くても、エンコードに興味を持ってさわってるっていう方は減っているような気がしますね。動画投稿サイトには、高ビットレートでもいいので高画質で送るのでよい感じがありますし…。

NVEncのgithubはたしかに大変です…。

> toto 様
コメントありがとうございました。x264guiEx等、お役に立っていれば幸いです。

>> NVEncのエンコードが速いということで、PCゲームはしないのに思い切ってビデオカードを買いました。
おお、そうなのですね。個人的にはNVEncはHWエンコードの中でも特に高速なので、結構使っていて楽しいです。

不具合のご指摘もありがとうございます。できるだけ直していきます。

> jun1 様
簡易インストーラはおっしゃるようにうまく動けば、非常にプラグインを導入しやすくなっていて、エンコーダ等をすべて同梱するよう仕様を変えてよかったなと思っています。わたし個人が使う分には昔から安定して動くので(笑)、作ってよかったのですがね…。

ただ、やはり以前はトラブルが多かったということで、たしかどこかにも不安定だと書かれてましたし、なかなか難しいなというところです。

やはり、現状のようにエンコーダ等をすべて同梱してしまい、簡易インストーラは展開してコピーするだけ、というふうに割り切ってしまったほうがトラブルが圧倒的に少なくてよかったのだと思います。逆に従来の簡易インストーラのように、インストール時にいろいろエンコーダなどをダウンロードするようにすると、トラブルのもととなりやすい上に原因がわかりづらく、初期の私の設計は失敗だったかなあ、と思っています。

ただ、簡易インストーラを作った当時は、ニコ動等の低ビットレート向けに音声エンコーダにneroaacencやqaacを採用してHE-AACをサポートする必要があったため、インストール時にダウンロードしないといけないという事情がありました。また、インストール時にダウンロードするようにすることで、x264/x265等のエンコーダの更新のたびにx264/x265guiExのパッケージを更新しなくてもすむのではという目論見もありました。

ただやはり、エンコーダ等のダウンロードが必要であることなど、いろいろ動作を複雑にしてしまったため、トラブルが発生したときに対処しずらくなってしまった感は否めないです。

反省点としては、ニコ動の仕様が変わり、ビットレート上限が緩和された段階で、もう簡易インストーラで導入する音声エンコーダはAAC-LCだけでよいと割り切って、現状の簡易インストーラのようにffmpegのAACエンコーダを活用してトラブルの発生を減らしておけばよかったかなと思っています。

No title

10周年おめでとうございます
私とguiEXの付き合いもほぼ10年ぐらいでしょうか
数々のプラグインを開発していただき感謝の言葉しかありません

guiEXのみならずafs/delogoの高速化、高利便性の塊のような便利「自動なのはよいことなのだ」仕様の実装。。
ほんとに感謝です

No title

10周年おめでとうございます。
数々の便利なプラグインやNVEncC等、素晴らしいエンコーダーを提供して頂き、とても感謝しています。
特にNVEncCは、他に色々NVEncでエンコードできるソフトを見てきましたが、現状NVEncを叩くための最高峰のソフトだと思います。
他にもrigayaさんが作ってくれたものがあるおかげで、AviUtlから離れられません。
これからも応援しています。

No title

> 2020-09-25(00:02) 様
コメントありがとうございます。

プラグインに関しては、改造したものが多いので原作者様に感謝ですが、一方で私の改造により、さらに利便性が高まっていれば幸いです。

> 2020-09-26(11:55) 様
コメントいただきありがとうございます。

NVEncCに関しては、やはりNVENCを使うことに特化して作っているので、NVENCを叩きやすい、と思っていただけるのはなによりで、とてもうれしいです。

Aviutlに関しては、32bitということで難しいところもあったりしますが、Aviutl 1.10でメモリをより広く使えるような拡張も行ってくださっていますし、やはり特徴として「プラグインで拡張するのが容易」というのがあるので、今後も面白いネタがあればいろいろやってみたいと思います。

10周年おめでとうございます

10周年おめでとうございます。
こちらで提供してくださってる拡張にお世話になって10年近くになります。
これからも無理のない範囲で続けて頂けると助かります。

Re: 10周年おめでとうございます

コメントありがとうございます。
便利にお使いいただけていれば幸いです。今後もほどほどに(?)続けていこうと思います。

No title

10周年おめでとうございます!
Aviutlを使うにあたって当ブログを知り
エンコードプラグインだけでなく、自作記事等もロム専ながら大変楽しく読ませていただいています。
今後も楽しみにしています。
敬具
ところでZen3はどうですか?

Re: No title

コメントありがとうございます!

Zen3は、かなり性能はよさそうで楽しみな一方、5700Xが出ないのと、来年欲しいもの多そうなのでちょっと迷い中です…。
プロフィール

rigaya

Author:rigaya
アニメとか見たり、エンコードしたり。
連絡先(@を半角にしてください!)
rigaya34589@live.jp
github

最新記事
最新コメント
カテゴリ
月別アーカイブ
カウンター
検索フォーム
いろいろ
公開中のAviutlプラグインとかのダウンロード

○Aviutlプラグイン
x264guiEx 2.xx (ミラー)
- x264を使用したH264出力
- x264guiExの導入>
- x264.exeはこちら>

x265guiEx (ミラー)
- x265を使用したH.265/HEVC出力
- x265.exeはこちら>

QSVEnc + QSVEncC (ミラー)
- QuickSyncVideoによるH264出力
- QSVEncCはコマンドライン版
- QSVEncC 導入/使用方法>
- QSVEncCオプション一覧>

NVEnc + NVEncC (ミラー)
- NVIDIAのNVEncによるH264出力
- NVEncCオプション一覧>

VCEEnc + VCEEncC (ミラー)
- AMDのVCEによるH.264出力
- VCEEncCオプション一覧>

svtAV1guiEx (ミラー)
- SVT-AV1によるAV1出力

ffmpegOut (ミラー)
- ffmpeg/avconvを使用した出力

自動フィールドシフト (ミラー)
- SSE2~AVX2による高速化版
- オリジナル: aji様

エッジレベル調整MT (ミラー)
- エッジレベル調整の並列化/高速化
- SSE2~AVX対応
- オリジナル: まじぽか太郎様

バンディング低減MT (ミラー)
- SSE2~AVX2による高速化版
- オリジナル: まじぽか太郎様

PMD_MT (ミラー)
- SSE2~FMA3による高速化版
- オリジナル: スレ48≫989氏

透過性ロゴ (ミラー)
- SSE2~FMA3によるSIMD版
- オリジナル: MakKi氏

AviutlColor (ミラー)
- BT.2020nc向け色変換プラグイン
- BT.709/BT.601向けも同梱

○その他
x264afs (ミラー)
- x264のafs対応版

aui_indexer (ミラー使い方>)
- lsmashinput.aui/m2v.auiの
 インデックス事前・一括生成

auc_export (ミラー使い方>)
- Aviutl Controlの
 エクスポートプラグイン版
 エクスポートをコマンドから

aup_reseter (ミラー)
- aupプロジェクトファイルの
 終了フラグを一括リセット

CheckBitrate (ミラー, 使い方, ソース)
- ビットレート分布の分析(HEVC対応)

チャプター変換 (ミラー使い方>)
- nero/appleチャプター形式変換

エッジレベル調整 (avisynth)
- Avisynth用エッジレベル調整

メモリ・キャッシュ速度測定
- スレッド数を変えて測定

○ビルドしたものとか
L-SMASH (ミラー)
x264 (ミラー)
x265 (ミラー)

○その他
サンプル動画
その他

○読みもの (ミラー)
Aviutl/x264guiExの色変換
動画関連ダウンロードリンク集
簡易インストーラの概要

○更新停止・公開終了
改造版x264gui
x264guiEx 0.xx
RSSリンクの表示
リンク
QRコード
QR