2012/04/17:
r150へ更新。Libav Reader の追加、ランダムシーク時のデコード処理変更、m2ts の LPCM 対応など。詳しくはこちら。
2012/04/13:
r142へ更新。修正内容は異なるソースファイルの連結に対するものです。
(*1)AviUtl は映像ありきのソフトウェアであるため、基本的に映像がない状態で音声ファイルのみを読み込むことはできない (*2)Wave File Reader には音声ファイルのみの編集に対応すべくダミー映像機能(黒ベタの映像生成機能)が実装されている
例えば、m4a な AAC 音声を L-SMASH Works(lsmashinput)で読み込み、カットするなりした編集結果を L-SMASH Works の Libav-SMASH Muxer で m4a なまま出力すると、無変換(無劣化)で編集結果を出力できます。wav でないと読み込めないがゆえに、AAC を wav に偽装するといた処理が必要が無く、AviUtl 上では PCM にデコードされたデータとして扱うため、再生ウインドウでの音声プレビューも正常に行うことができます(L-SMASH 対応コンテナである場合、Libav-SMASH Muxer での出力時に編集結果を反映させるかたちで元データをストリームコピーする)。ただし、音量変更など音声にフィルタリングを適用した場合、その限りではありません。
ダミー映像は、ファイル → 環境設定 → 入力プラグインの設定 → Libav-SMASH File Reader で行います。ダイアログには右のように「Dummy resolution」と「Dummy flamerate」の設定項目があり、Dummy resolution でダミー映像の解像度(横×縦)を、Dummy flamerate でダミー映像のフレームレートを指定します。
例えば、24fpsベースの映像用音声を10倍の240fpsでダミー読み込みすると、24fps読み込みの10倍の細粒度で編集ができますし、極端な事をいえば 48KHz の音声を 48000fps で読み込むと 1フレーム = 1サンプル となり、音声を1サンプリング単位で編集することもできます(AviUtl は映像1フレーム単位での編集が基本であるため)。これらは、 wav(PCM)系の音声を編集するテクニックとして特に役立つため、AviUtl 標準の Wave File Reader よりも高精度な編集を強いられるケースで実践すると良いかもしれません。
ただし、総フレーム数が半端無く増えるため、システムの設定で最大フレーム数をかなり大きく設定しておく必要があり、48KHzで90秒ジャストの音声ファイルを48000fpsで読み込むと、4320000フレームを必要とします。
L-SMASH Works は将来的に FFMS(ffmpegsource)Reader の廃止を計画しており、その第一弾として Libav Reader を実装しました(r143)。これにより FFMS を使用せず Libav がサポートするフォーマットのアクセスが可能となり、FFMS の不具合等を回避しつつ Libav が対応するフォーマットをより幅広く扱えます。
(*3)M2TSについては正常にシークできていない可能性があるとのこと
また、23.976fps、29.97fps 収録の映像を 59.94i 表示(3-2プルダウン等)するための RFF フラグには未対応ですが、プログレッシブ扱いで収録されているストリームをいちいちインタレースで展開して編集するケースは稀であるため、これについてはそれほど不自由がないはずです。
RFF については対応を予定しており、FFMS Reader に絡むビルド仕様についても FFMS Reader の削除と同時に解決されると見られます。
# 情報引用:muken氏の呟きより
# 課題2と3は r148 での avcodec_decode_audio4 対応を通じてクリアーされています
・VFR-maniac/L-SMASH-Works
・l-smash - A simple tool for mp4. - Google Project Hosting
・Get ffmpeg(L-SMASH Worksの推奨ライブラリは Libav)
・ffmpegsource
・L-SMASH Works 今後の課題(muken氏の呟き)
r142だと読み込めるけど、r150だと読み込めないmkvがありました。なにが原因なのか、当方では検証できませんでした。
> jun1さん
わかればで宜しいのですが、読み込めないmkvコンテナ動画の映像と音声コーデック、チャプタの有無など、ファイルの仕様をお知らせいただけると助かります。
# できる限り同様のファイルを作って検証しますので
追記:
処理は出来るもののエラーが出るパターンは確認できました。
現在のリビジョンでは問題ないため、大きな不具合がないことを確認のうえ、バイナリを公開予定です。
はじめまして。プラグインありがたく使わせて頂いております。
既に報告済みの内容と同じかもしれませんが、
lsmashinput.auiとds_input.auiが入っている状態で、
lsmashinput.auiの方が優先順位が上位の時にWMVやAVIを読み込むと以下の様なエラーが出ます。
「
アドレス”0x65bf208c”で例外”0xc0000005″が発生しました
発生モジュール : lsmashinput.aui
オフセットアドレス : 0x0003208c
備考 : INPUT_PLUGIN_TABLE::func_open() [Libav-SMASH File Reader]
」
処理を継続すれば正常にds_input.auiで読み込めますし、順位を変更すれば問題ないのですが、
r17やr142ではエラーが発生しないので一応ご報告致します。
使用環境は
Windows7 64bit
Core 2 Quad Q6600
です。
> azazelさん
その現象はかなり以前に確認済みでして、その後のrevisionでは発生しません。お手数をかけまして恐れ入ります。
以下に、r214のバイナリ(ソースコード込み)を仮に置いておきますので、宜しければこちらをお使いいただけますでしょうか。
http://pop.4-bit.jp/bin/aviutl_plug-in/L-SMASH-Works_r214.zip
無事解決しました。
素早い対応ありがとうございます。
ありがたく使わせて頂きます。
これからも頑張ってください。
お返事、遅くなりました。真空波動研で見た範囲でしか答えられません。1920×1080 10Bit AVC/H.264 High 10@5 Unspecified 23.98fps 0f 40000.00kb/s
FLAC 48.00kHz 16Bit 2ch
Chapter(13)
[Matroska] 00:40:42.440 (2442.440sec) / 1,123,871,954Bytes
1920×1080 8Bit AVC/H.264 High@4.1 Unspecified 23.98fps 34097f 8753.27kb/s
AAC 48.00kHz 2.0ch(2/0 L+R) HE(LC) 192.00kb/s
[Extra][2]
MP4 Base Media v1
MetaData
[MPEG4] 00:23:42.164 (1422.164sec) / 1,590,907,429Bytes
の2種類がありました。