-
Notifications
You must be signed in to change notification settings - Fork 7
/
ffmpegOut_readme.txt
353 lines (265 loc) · 11.8 KB
/
ffmpegOut_readme.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
---------------------------------------------------
ffmpeg 出力
by rigaya
---------------------------------------------------
ffmpeg 出力 (ffmpegOut.auo) は、
ffmpeg.exeを使用してエンコードを行うAviutlの出力プラグインです。
ffmpeg.exe を外部プロセスとして実行し、エンコードを行います。
エンコード設定の大半はコマンドラインから指定します。
ffmpegのコマンドラインオプションを自分で調べていじったりして使うことになります。
x264guiExに存在する機能の多くが封印されています。
x264を利用したい場合には、特に理由がなければx264guiExを使用したほうが便利だと思います。
【動作環境】
Windows 10/11 (x86/x64)
Aviutl 1.00 以降
【ffmpegOut.auo 使用にあたっての注意事項】
無保証です。自己責任で使用してください。
ffmpeg 出力 (ffmpegOut.auo)を使用したことによる、いかなる損害・トラブルについても責任を負いません。
【ffmpegOut.auo 再配布(二次配布)について】
このファイル(ffmpegOut_readme.txt)と一緒に配布してください。
まあできればアーカイブまるごとで。
【導入方法】
※ 下記リンク先では図も使用して説明していますので、よりわかりやすいかもしれません。
https://github.com/rigaya/ffmpegOut#ffmpegout-の-aviutl-への導入更新
1.
ダウンロードしたffmpegOut_1.xx.zipを開きます。
2.
zipファイル内のフォルダすべてをAviutlフォルダにコピーします。
3.
Aviutlを起動します。
4.
環境によっては、ウィンドウが表示され必要なモジュールのインストールが行われます。
その際、この不明な発行元のアプリがデバイスに変更を加えることを許可しますか? と出ることがありますが、
「はい」を選択してください。
5.
「その他」>「出力プラグイン情報」にffmpegOut 1.xxがあるか確かめます。
ここでffmpegOutの表示がない場合、
- zipファイル内のフォルダすべてをコピーできていない
- 必要なモジュールのインストールに失敗した
- この不明な発行元のアプリがデバイスに変更を加えることを許可しますか? で 「はい」を選択しなかった
- (まれなケース) ウイルス対策ソフトにより、必要な実行ファイルが削除された
などの原因が考えられます。
6.
ffmpeg.exeを用意し、Aviutlフォルダの中のexe_filesフォルダ内にコピーします。
ffmpeg.exeは下記などからダウンロードできます。
https://www.gyan.dev/ffmpeg/builds/
https://github.com/BtbN/FFmpeg-Builds/releases
【削除方法】
・Aviutlのpulginsフォルダ内から下記フォルダとファイルを削除してください。
- [フォルダ] ffmpegOut_stg
- [ファイル] ffmpegOut.auo
- [ファイル] ffmpegOut.conf (存在する場合のみ)
- [ファイル] ffmpegOut(.ini)
- [ファイル] auo_setup.auf
【処理概要】
[通常]
1) 音声出力
2) 動画エンコ + 出力した音声を"-i"で読み込み
[自動2pass時]
1) 1pass目の動画エンコ + 音声出力 (同時出力)
2) 2pass目の動画エンコ + 出力した音声を"-i"で読み込み
【動画設定】
・自動2passエンコード … 2回エンコードを回し、自動的に2passエンコードを行います。
・転送色空間 … ffmpegにどの色空間で映像データを渡すかを決定します。
・インタレ保持 … ffmpegOut.auoでのYUY2->NV12変換でインタレ用を使用するかどうかです。
インタレ保持エンコを行うためには、この設定だけでなく、
ffmpeg側のコマンドにもインタレ保持のコマンドを記述する必要があります。
・出力拡張子 … 出力ファイルの拡張子を、ここで設定した拡張子に上書き・追加できます。
ffmpegによるエンコードでは、さまざまな動画をエンコードできるため、
設定画面から拡張子を変更できるようにしました。
・エンコーダ優先度 … ffmpegのCPU優先度の設定です。
・一時フォルダ … エンコ中の動画ファイルの出力位置を変更できます。
【最終的に渡されるコマンドライン】
part-A~Gが順番に組み合わさって構成されます。
[part-A 映像入力情報]
パイプで映像データを転送
-f rawvideo
-s <width>x<height>
-pix_fmt <「転送色空間」で設定されたもの>
-r <fps>
[part-B 入力オプション]
入力オプション指定欄 に設定したものがそのまま追加されます。
[part-C 映像入力(パイプ渡し)]
-i "-"
[part-D 音声入力] (音声出力が行われ、「音声を有効」にチェックが入っている場合)
-i "%{audpath}"
[part-E コマンド入力欄]
改行が削除された後、そのまま追加されます。
ここで-vcodecや-acodec、
さらに-b:v(映像ビットレート)、-b:a(音声ビットレート)を指定してしてください。
[part-F 自動2passエンコード] (自動2passが設定された時のみ)
-pass x
[part-G 上書きの強制(-y)と出力ファイル名]
-y
"%{savpath}"
【付属のプロファイル】
各種コーデックへエンコードする際の設定例ですが、
ffmpegのバージョンによっては動かないかもです。
・x264 … 要 libx264
・x265 … 要 libx265
・vp8/vp9 … 要 libvpx
要 libvorbis
・xvid … 要 libxvid
・av1 … 要 libavtav1
【利用するffmpegについて】
パイプ処理のため、多くの方のビルドしているffmpegを使用できます。
64bitOSではx64版も使用可能です。
64bitOSかどうかはマイコンピュータ右クリックから確認できます。
ffmpegは更新頻度も高く、またさまざまな構成でビルド可能なため、
ビルドしている方やバージョンによって
コマンドラインオプションが大きく異なることがあり、注意が必要です。
頑張れる人はffmpegを時ビルドすると良いかもです。
【iniファイルによる拡張】
ffmpegOut.iniを書き換えることにより、
音声エンコーダのコマンドラインを変更したり、音声エンコーダを追加することもできます。
デフォルトの設定では不十分だと思った場合は、
iniファイルの音声のコマンドラインを調整してみてください。
【iniファイルに設定されている音声エンコーダ】
[neroaacenc (AACエンコーダ)]
http://www.nero.com/jpn/downloads-nerodigital-nero-aac-codec.php
[FAW(fawcl) (FakeAACWave(偽装wav)解除)]
http://2sen.dip.jp/cgi-bin/friioup/upload.cgi?search=FakeAacWav&sstart=0001&send=9999
[faw2aac.auo (FakeAACWave(偽装wav)解除)]
http://www.rutice.net/FAW2aac
[qtaacenc (AACエンコーダ, 要QuickTime)]
http://tmkk.pv.land.to/qtaacenc/
[ext_bs (PVシリーズAAC抽出)]
http://www.sakurachan.org/soft/mediatools/
[lame (mp3エンコーダ)]
http://www.rarewares.org/mp3-lame-bundle.php
[ffmpeg (AC3エンコーダとして使用)]
http://blog.k-tai-douga.com/
[oggenc2 (ogg Vorbis, mkv専用)]
http://www.rarewares.org/ogg-oggenc.php
[qaac/refalac (AAC/ALACエンコーダ)]
http://sites.google.com/site/qaacpage/
[mp4alsrm23 (MPEG4 ALS (MPEG4 Audio Lossless Coding))]
http://www.nue.tu-berlin.de/menue/forschung/projekte/beendete_projekte/mpeg-4_audio_lossless_coding_als/parameter/en/
※Reference Software のとこにある MPEG-4 ALS codec for Windows - mp4alsRM23.exe
【特定条件で発生する問題への対策】
・UltraVNC使用時にログウィンドウが表示されない。
→ ログウィンドウの透過が影響しているようです。
設定画面の右上「その他の設定」から「ログウィンドウの透過をオフにする」に
チェックを入れて使用してみてください。
【ソースコードについて】
・無保証です。
・ソースコードを使用したことによるいかなる損害・トラブルについてrigayaは責任を負いません。
以上に了解して頂ける場合、ソースコードの使用、複製、改変、再頒布を行って頂いて構いません。
【ビルドについて】
ビルドにはVC++2022が必要です。
【コンパイル環境】
VC++ 2022 Community
【どうでもいいメモ】
2023.10.25 (1.09)
- faw処理を内蔵化。
- 電力スロットリングを無効化し、Aviutlの優先度が低くてもEコアのみで実行されにくいよう変更。
- mux後ファイルがない、ファイルサイズが小さすぎる等のエラーメッセージで、ファイル名を表示するように。
- avx512のyuy2/yc48→yv12変換で、左上端32x2pixelほど緑色の線が出る場合があった問題を修正。
- メモリ確保をplaneごとに行うようにして、メモリ不足エラーが出づらいように。
2023.05.09 (1.08)
- 中国語翻訳を更新。
2022.03.18 (1.07)
- 出力する動画の長さが短い場合の警告を追加。
2023.03.04 (1.06)
- オブジェクトエクスプローラからドラッグドロップしたファイルがある場合の出力に対応。
2022.12.09 (1.05)
- 翻訳漏れを修正。
2022.12.07 (1.04)
- Nsyw様に提供いただいた中国語対応を追加。翻訳ありがとうございました!
2022.12.07 (1.03)
- 設定画面の英語化対応を実施。
- AVX2使用時にFAWの1/2モードが正常に処理できなかったのを修正。
- YUY2→NV12変換のインターレース使用時の色差成分の変換ミスを修正。
2022.06.11 (1.02)
- 黒窓プラグイン使用時に設定画面の描画を調整。
2022.05.27 (1.01)
- huffyuv(ffvhuff) のプリセットを追加。(rgb, rgba, yuy2)
- vp9 (rgba) (webm)のプリセットを追加。
- 簡易インストーラを直接実行した場合に、エラーメッセージを表示するように変更。
- ディスク容量が足りない時にどのドライブが足りないか表示するように。
2022.04.02 (1.00)
- Visual Studio 2022に移行。
- .NET Framework 4.8に移行。
- パッケージのフォルダ構成を変更。
- 簡易インストーラによるインストールを廃止。
- プロファイルにpngのRGBA出力を追加。
- パスが指定されていない場合、exe_files内の実行ファイルを検索して使用するように。
- ログに使用した実行ファイルのパスを出力するように。
- 相対パスでのパスの保存をデフォルトに。
- 拡張編集使用時の映像と音声の長さが異なる場合の動作の改善。
拡張編集で音声を読み込ませたあと、異なるサンプリングレートの音声をAviutl本体に読み込ませると、
音声のサンプル数はそのままに、サンプリングレートだけが変わってしまい、音声の時間が変わってしまうことがある。
拡張編集使用時に、映像と音声の長さにずれがある場合、これを疑ってサンプリングレートのずれの可能性がある場合は
音声のサンプル数を修正する。
- エンコードするフレーム数が0の場合のエラーメッセージを追加。
- ログの保存に失敗すると、例外が発生していたのを修正。
- ログの保存に失敗した場合にその原因を表示するように。
- エラーメッセージ
「x264が予期せず途中終了しました。x264に不正なパラメータ(オプション)が渡された可能性があります。」
の一部原因を詳しく表示するように。
1. ディスク容量不足でエンコードに失敗した場合のエラーメッセージを追加。
2. 環境依存文字を含むファイル名- フォルダ名で出力しようとした場合のエラーメッセージを追加。
3. Windowsに保護されたフォルダ等、アクセス権のないフォルダに出力しようとした場合のエラーメッセージを追加。
2022.03.01 (0.12)
・0.11で、出力開始時にフリーズしてしまう場合があったのを修正。
2022.02.21 (0.11)
・Aviutlの開いているファイルについて出力ファイルで上書きしないようチェックを追加。
・連番出力で出力ファイルがないというエラーメッセージが表示されないように。
・設定が行われていない場合に、前回出力した設定を読み込むように。
2021.10.13 (0.10)
・Windows11の検出に対応。
2021.09.24 (0.09)
・afsタイムコード出力に対応。
・音声のパイプ渡しを実装し、一時ファイルを不要とする。
wav渡しの2GB制限等にひっかからないように。
・音声のパイプ渡しを使用するよう、プリセットを更新。
2021.09.19 (0.08)
・RGBA出力に対応。Pull request いただいた Mr-Ojii 様に感謝いたします。
ありがとうございました。
・utvideoのプリセットにrgba出力を追加。
・av1エンコード用のプリセットを追加。
・他のプリセットを更新。
2018.03.07 (0.07)
・入力オプション指定欄を追加。
・高ビット深度出力に対応。
・x264/x265の10bit出力向けプリセットを追加。
・x264/x265のyuv444出力向けプリセットを追加。
2017.04.20 (0.06)
・ファイル名に"."があると、出力ファイル名が意図したように設定されないのを修正。
2014.11.20 (0.05)
・設定ファイルを刷新。
- 設定ファイルにVP9用の設定を追加。
- 設定ファイルにx265用の設定を追加。
・x264guiEx 2.20までの機能の取り込み
- iniファイルにfdkaac用の設定を追加。
- flacの圧縮率を設定できるように
- wine互換モードを追加
- 音声エンコーダのログも出力できるように
- 音声ディレイをカットする機能を追加。
- デフォルトの音声エンコーダを変更する機能を追加 (その他の設定から)
- 色空間変換でAVX2対応。
- ログウィンドウで出力ファイル名を右クリックから
「動画を再生」「動画のあるフォルダを開く」機能を追加。
- ログが文字化けすることがあるのを修正。
- ログにmuxer/音声エンコーダのバージョンを表示するように。
- ログにx265guiEx/Windowsのバージョン情報、CPU情報を表示。
2013.04.27 (0.04)
・ロベルト様より、最新の(?)ffmpegで、音声の最後の数秒が切れるとのご指摘を頂いたので、
ffmpegにコマンドを発行する際に-vframesを指定しないようにした。
2013.04.22 (0.03)
・rev52233など、最近のffmpegでエラーが出てエンコードできないのを修正。
・x264guiEx 1.75までの機能を反映。
- mux時にディスクの空き容量の取得に失敗した場合でも、警告を出して続行するようにした。
- 設定画面で「デフォルト」をクリックした時の挙動を修正。
「デフォルト」をクリックしたあと、「キャンセル」してもキャンセルされていなかった。
- ログウィンドウの位置を保存するようにした。
- ログウィンドウ透過率の指定。ログウィンドウ右クリックから。
- 音声エンコード/muxの際のメッセージをログウィンドウに表示。
2012.09.15 (0.02)
・コマンド入力欄へドラッグ&ドロップできるようにした。
・置き換え文字列の挿入を簡単にできるようにした。
2012.09.01 (0.01)
・誤解があると困るので、「インタレ保持」の表記を「yuy2→nv12変換」に変更。
2012.08.31 (0.00)
公開
x264guiEx 1.57 より