AviUtlで、「再圧縮なし」でエンコードする方法について紹介します。
「再圧縮なし」とは?
「再圧縮なし」とは、動画をエンコードせずに、動画として出力することを言います。
「何を言ってるんだコイツ」という感じだと思いますので、例を出します。
例えば、
ABCDEFGHIJKL
という内容の動画があったとします。
この動画のEFGH部分をカットしたとします。
つまり、これ↓を
ABCDEFGHIJKL
こうしたとします↓。
ABCDIJKL
すると、通常はエンコードする必要があるので、
「ABCDIJKL」というすべてのフレームをエンコードする必要があります。
「EFGH」という部分以外なにも変わっていなかったとしても、です。
しかし、再圧縮なしで動画を出力すれば、「すべてのフレームをエンコードし直す」という非効率的なことはせずに、
「ABCD とIJKLをそのままくっつけちゃおう!」という処理を行いますので、
「ABCD」と「IJKL」部分は、画質や音質が劣化しないのです。(そもそもエンコードしていないので)
しかも、くっ付けるだけなので、処理も超高速です。
つまり、「再圧縮なし」で動画を出力すれば、
「劣化なし(無劣化)で動画を編集できる」というわけです。
再圧縮なし(無劣化)のメリット
再圧縮なしで動画を編集&出力すると、
以下のようなメリットがあります。
- 巨大な動画ファイルでも出力に掛かる時間が数秒で済む
- 画質が劣化しない(無劣化)
再圧縮なし(無劣化)の制限
AviUtlで再圧縮なしで出力するには、
以下の様な制限(制約)があります。
- 「カット編集」しかできない
- カット以外の編集(各種フィルタ・インタレ解除・プラグイン等、全てNG)を行った場合は、再圧縮しなければいけない
- AVI(avi1.0、avi2.0)とMP4コンテナ以外の動画は「再圧縮なし」で編集できない
- 更に、AVIは「AviUtlの内部デコーダー」で読み込んだ場合のみ
- MP4も、「L-SMASH Works」で読み込んだ場合のみ
- 詳しく言うと「L-SMASH」ライブラリでdemuxerした場合のみ(「libavformat」でdemuxerした場合はダメ。L-SMASHライブラリはMP4専用で、後述する「L-SMASH Works Muxer」はL-SMASH専用のコマンドです。)
※詳しくは以下の記事を参考にしてみて下さい。
参考:L-Smash Worksの導入方法と使い方【入力プラグイン】
- 詳しく言うと「L-SMASH」ライブラリでdemuxerした場合のみ(「libavformat」でdemuxerした場合はダメ。L-SMASHライブラリはMP4専用で、後述する「L-SMASH Works Muxer」はL-SMASH専用のコマンドです。)
再圧縮なし(無劣化)でカットする方法
再圧縮なしでエンコードするには、
カットの際に「キーフレーム」単位でカットする必要があります。
「キーフレームって何?」という方は以下の記事を参考にしてみて下さい。
具体的には、カットしたい場面の「キーフレーム」から「次のキーフレームの1つ手前のフレーム」までをカットします。
図にするとこんな感じ↓です。
▲画像ではわかりやすいように5フレーム間隔でキーフレームを書いていますが、実際のmp4動画などでは60フレーム間隔くらいで挿入されています。 (mpg動画などはキーフレームの数が多いので10フレーム間隔くらいで挿入されてたりするのでカットしやすいのですが) |
AviUtlで「現在表示しているフレームがキーフレームかどうか」を見分けるには、
メニューの「表示」→「ソースファイルのキーフレーム表示」にチェックを付け、タイトルバーに「!」マークが表示されているかどうかで判断します。()
AviUtlでの実際のカット手順
カットする手順としてはMP4とAVIで微妙に違います。
MP4の場合
MP4を再圧縮なしで編集&出力する場合、
入力プラグイン「L-SMASH Works File Reader」で読み込む必要があります。(メニューの「その他」→「ファイルの情報」から確認できます)
MP4ファイルのカット手順は以下のようになります。
- AviUtl本体ウィンドウにて、「ファイル」→「開く」から動画を読み込む
- 必ずこの方法で動画を読み込んで下さい。(拡張編集タイムラインから読み込んだり、AviUtl本体ウィンドウにドラッグ&ドロップで読み込んだりすると「Failed to open files」というエラーが出ます)
- カットする
- メニューの「ファイル」→「エクスポート」→「L-SMASH Works Muxer」を選択する
- 「Mux」を選択
- ちなみに「Optimize for Progressive Download」にチェックを付けると、動画に関する情報をファイルの先頭に集約させる事でデコード(再生)の高速化を図れるようです
- 「ファイル名」を入力して「保存」をクリック
これで再圧縮なしで出力できます。
AVIの場合
AVIを再圧縮なしで編集&出力する場合、
入力プラグイン「AVI File Reader(Video For Windows)」もしくは「AVI/AVI2 File Reader」で読み込む必要があります。(メニューの「その他」→「ファイルの情報」から確認できます)
AVIファイルのカット手順は、すこしややこしいです。
例えば「6~10フレーム目までを削除したい」と言う場合、以下の様な手順になります。
- AviUtl本体ウィンドウにて、「ファイル」→「開く」から動画を読み込む
- 必ずこの方法で動画を読み込んで下さい。(拡張編集タイムラインから読み込んだり、AviUtl本体ウィンドウにドラッグ&ドロップで読み込んだりすると「Failed to open files」というエラーが出ます)
- 「1~5フレーム」までをカットして再圧縮なしで出力する
- 「11~最終フレーム」までをカットして再圧縮なしで出力する
- 「1~5フレーム」までと「11~最終フレーム」までのそれぞれの動画を結合させる
これで再圧縮なしで出力できます。
補足
ショートカットについて
キーフレームは、
メニューの「編集」→「基本機能」→「次のキーフレームに移動」でキーフレーム単位でフレームを移動できます。
▲メニューの「ファイル」→「環境設定」→「ショートカットキーの設定」からショートカットを割り当てる事も可能です。 |
キーフレーム単位での編集なので完璧ではない
再圧縮なしで出力するためには、キーフレーム間隔でしかカットできません。
例えば、さきほど「1~5フレームをカットする」という風なことを書きましたが、実際は「自分がカットしたい場面がちょうどキーフレーム間だった!」ということは、通常ありえません。
大抵の場合、「1~5フレームをカットしたいけど、キーフレームの関係で1~60でしかカットできない!」みたいなことが起きます。
なので、「再圧縮なし」でカットする場合は、「大雑把な範囲のカット編集しかできない」とおぼえておきましょう。
「再圧縮なしで出力」をよく行う人=Bandicutがオススメ
「再圧縮なしで出力」を頻繁に行う人は、カット編集ソフト「Bandicut」をオススメします。
このページで説明したとおり、AviUtlで「再圧縮なしで出力」をする場合、
- キーフレーム間でしか編集できない
- 作業が面倒くさい
- 動画についての知識が(ある程度)必要となってくる
という3つデメリットがありますが、
Bandicutを使えば、↑の3つのデメリットがすべて解消されますので、初心者でもサクサク編集できます。
もし、AviUtlで「不便だ!」と感じているなら、Bandicutを試してみると良いかもしれません。(体験版もあります)
このページの情報は以上です。
関連:【AviUtl】動画をエンコードするやり方まとめ【ビデオ圧縮】(AviUtlのエンコ方法のまとめ)
関連:【AviUtl】高画質・無劣化で動画をエンコード(出力)する方法(AVI出力とプラグイン出力の違いとか)
コメント
MP4の音声を差し替えて、さらに音声の始めと終わりフェードさせたのですが、
Failed to open the input files.
と表示されて出力できません。
音声の差し替えやフェードをかけたりすると再圧縮が必要なのでしょうか?
また、これらのことを無劣化でできるアプリはAviUtlの他に無いでしょうか?
無劣化編集できるのはカット編集だけです。
その他の編集をすると必ず再エンコが必要になります。
AviUtl以外のソフトでも無理です。
音声は可
ffmpegで音声分離して加工して合成すれば映像は無劣化で行ける。
もちろん再エンコなしで。
カット編集のみ可能ってことは倍速や二種以上の動画を使ったり、音声を使うのは出来ないのですか?
できません。
MP4ファイルでカット編集しか行っていませんが、Failed to open the input filesと表示されて出力できません。
対処法をご教示いただけますでしょうか。
なにも編集していない状態でもFailed to open the input files.とでて出力できません
なにか解決策はありますか
ここで紹介されている再圧縮なしでの出力と、単に「ビデオ圧縮」で未圧縮を選んだ場合(「再圧縮なし」にチェックを入れない)とでは何が違うのでしょうか?
未圧縮は「圧縮せずにエンコードする」という意味で、
再圧縮なしは「そもそもエンコードしない」という意味なので、全然違います。
最後のコメントから時間がたっていますので、果たしてこの情報が役立つかどうかわからないので一応報告しておきます。
動画ファイルをAviutilに「ドラッグアンドドロップ」して開き、それを編集後「ファイル」→「エクスポート」→「L-SMASH Works Muxer」から「Mux」を選んで保存しようとした場合、なぜか「Failed to open files」とエラーが表示されて保存できません。
ところが、動画ファイルを開くときに「ファイル」→「開く」を選択してファイル指定で開くと、問題なくMuxできます。
私がプラグインの導入時に何か間違いをしている可能性もありますが、こういうケースもあるということで。
久しぶりにAviUtlを使わせていただいて、無劣化編集をしたかったんですが
Failed to open the input files.と表示されて出力できません
何も編集しない状態でも同じ状況です、どうすればいいでしょう?
> AviUtlで「現在表示しているフレームがキーフレームかどうか」を見分けるには、
> メニューの「表示」→「ソースファイルのキーフレーム表示」にチェックを付け、タイトルバーに「!」マークが表示されているかどうかで判断します。
おそらく「*」の方かと……思います。
MP4ファイルを開いてエクスポートから出力しようとすると、
皆さんと同じく「Failed to open files」エラーが表示されます。
方法は、ゆんゆんさんの内容です。
初めまして。昨日から動画編集をする為にaviutlと拡張編集他プラグインを導入したのですが、動画の細かい部分をカットして繋げる作業をしていると段々と挙動が重たくなってきます。
PCのスペック等あるとは思いますが、これはどうしてなのでしょうか。
まだ一度もエンコードしていなく拡張編集での編集の段階でそうなります。
色々な記事を読んで思い当たるのは、キーフレームの欠損か、単純にカットして結合した部分の描写が複雑で反映に時間がかかっているのか、カットした時点で1つのファイルが2つに増えたという扱いで処理に負担が掛かるのか、謎な事が多いです。
編集素材は2時間1GBほどの音声付flvのキャプチャ動画と、同じ時間のマイク音声720MBです。この3ファイルをグループ化しどんどんカットしていき最初の40分を1分半にカット結合した時点でその部分を再生しようとするとかなりの時間がかかります。
カット以外の編集は加えていません。
カット方法は3ファイルグループ化、分割、右クリックメニューからカット、細かい部分はCtrlで結合しています。
足りない情報あるかと思いますがアドバイスよろしくお願いします。
それと関係あるのかわかりませんが、1つしかない録音声ファイルがなぜか微妙にずれた2重のように聴こえる部分が1.2箇所ありました。気のせいかな?くらいで、微かに2音目が聞こえます。
カット編集だけしてるのですがどうも出力すると音ズレがします。他のかたはならないのでしょうか。
今もうこのやり方ではできないんでしょうか?
記載されている通りファイルから開いてやらせていただいたのですが、それでも最後にFailed to open filesが表示されました。
アップデートが影響してるんでしょうか?
「AviUtlでの実際のカット手順 MP4の場合」ではうまくできました。
Aviutilで1回MP4で作成したソースファイルを、カット目的で使用しました。
L-SMASH WORKS File Readerは優先順位で一番下でバージョンはr940
MP4のカットまでは問題なく行えたのですが、L-smash works MUXERでエキスポートした際にfinalizingのstepが行われる場合と行われない場合があって(行われないケースが大半)特に設定などをいじった記憶はないのですが原因などはわかりますでしょうか?