L-SMASH Works とは
 muken氏が L-SMASH Works 開発の一環として実装を進めている OSS であり、MP4/MOV/QT/3gp/3g2/F4V/M4A 等の L-SMASH 対応コンテナに格納された映像・音声データおよび libav / ffmpeg ライブラリ対応のコンテナフォーマットを AviSynth / AviUtl / VapourSynth で読み込むためのプラグインで構成されています。

コーデックのデコードは ffmpeg や Libav が受け持ちます(当プラグインは ffmpeg を使用)。

内容によっては開発者に確認・報告し、開発の手助けとなるようフィードバックに努めます。

r940 release1 更新内容
  • ffmpeg ライブラリを 4.0.2 から 4.2.2 へ更新
  • AV1 コーデックのデコーディングをサポート
  • libvpx による VP8・VP9 デコーディングの追加(vp8 と libvpx_vp8、vp9 と libvpx_vp9 が指定できます)
  • r940 mod1 更新内容
  • ffmpeg ライブラリを 4.3.1 へ更新
      これに伴い Motion JPEG と VP9 を QSV でデコード可
      Preferred decoders で mjpeg_qsv , vp9_qsv 指定
  • リサンプリングライブラリを avresample から swresample へ変更するためパッチを適用
  • AV1 コーデックのデコードライブラリを dav1d へ変更しパフォーマンス向上
  • デコードに問題のあった一部 MPEG-2 映像及び TS コンテナを正常に展開できるようパッチ適用
  • Quick Sync Video(QSV) デコーダが正常動作していなかった点の修正
  • 関連するエントリー: 「mod 版でやりたいと思っていること」

    ダウンロード
    転送量超過を防ぐため日本国内のみのアクセスに限定しています。
    転送量のデータ収集につき限定的に制限を解除しています。

    当サイトのほか、 Avisynth wiki の LSMASHSource ページ等もご検討ください。
    Avisynth wiki - LSMASHSource http://avisynth.nl/index.php/LSMASHSource

    音ズレなど設定が反映されない問題の対策は こちら

    ハッシュ値
    L-SMASH Works および ソースコードのハッシュ値(SHA-256)を以下に示します。ダウンロードしたファイルを解凍する前にハッシュ値を参照することで、ダウンロードミスやファイル改ざん等がないか確認するひとつの手段としてご活用下さい。

    r940 release1

    • L-SMASH_Works_r940_plugins.zip (27,668,751 バイト)
    • SHA-256 : 2e38c6107ac27729077be0f2f1938b7542e0f01478c76599ad47d8e8c0a35739
       
    • L-SMASH_Works_r940_sourcecodes.tar.bz2 (11,016,672 バイト)
    • SHA-256 : 15f58b4536528a34fe985faa6701f42b445d261c2a8c4b9c95b58a48f2efdbdf


    r940 mod1

    • L-SMASH_Works_r940m1_plugins.zip (20,038,797 バイト)
    • SHA-256 : 4d44606764bec31f2f888298f48f7be3cc83ae4158e28b891d8f970eb55dbe06
       
    • L-SMASH_Works_r940m1_patches.tar.bz2 (8,865 バイト)
    • SHA-256 : d0d103ef4b99d1df576db24e5ca2c0e8aeb161dd36d46c244207c90b73af50e5

    設定どおりに動作しない問題と回避法
  • 音ズレなどの問題が起きる起動方法
  • 編集プロジェクトファイル(拡張子 .aup)に AviUtl の実行ファイル(aviutl.exe)を関連付け、 aup ファイルから AviUtl を起動した場合に限り、L-SMASH Works の設定ファイルが反映されない問題があります。

    例えば、VFR 動画編集の音ズレ回避のために VFR->CFR 変換を指定したつもりが、上記の起動方法に限り設定ファイルが読み込まれず、VFR->CFR 変換が無効(初期値)状態で音ズレが出てしまうなどの現象が起こります。他にも、音声のサンプリング周波数や Preferred decoders の指定など、すべてが初期値をロードするため設定値が反映されません。

  • 正常に動作する起動方法
  • 回避策として確実なのは、aup ファイルから起動せずに AviUtl を起動させてから aup ファイルを読み込む、または AviUtl のウィンドウに aup ファイルをドラッグ&ドロップすることです。これらの aup ファイルの読み込みについては、L-SMASH Works の設定が正常に適用されるため問題は発生しません。

    どうしても aup ファイルから起動したい場合は、以下のようなバッチファイルを作成して、aup ファイルにバッチファイルを関連付けて起動させる方法もあります。これは、start コマンド /D スイッチで aviutl.exe のあるフォルダをカレントフォルダとしてセットし、L-SMASH Works の設定ファイル lsmash.ini を正常にロードさせるためのものです。
  • aviutl_start.bat の例
  • C:\App\AviUtl\110\ = aviutl.exe があるフォルダのフルパス

    --------------------------------------------------------------------------
    set "AviUtlPath=C:\App\AviUtl\110\"
    start "" /D "%AviUtlPath%" "%AviUtlPath%aviutl.exe" "%~1"
    --------------------------------------------------------------------------

    この問題を発見した f11894 さんのツイート : https://twitter.com/f11894/status/1237763732429656064

    ビルド・動作確認環境
    MSYS2
    MinGW-w64 v7.0.0
    GCC 10.2.0
    binutils 2.35
    Visual Studio 2019

    CPU : Core i9-9900K
    GPU : AMD RADEON RX590
    Main Memory : 64GB
    Windows10 Pro 64bit
    AviSynth+ 3.6.1
    AviUtl version1.10

    * 導入は Readme.txt をご一読ください
    * Windows10 以外での動作は未確認です

    r940 release1 で確認されている問題
  • webm コンテナに格納された一部の VP8/Vorbis codec 動画が正常なフレームレートで展開できない
  • divx コンテナに格納された一部の Xvid/mp3 codec 動画をシークすると音声同期がずれる
  • Quick Sync Video デコードにおける不具合(ビルド環境の問題)
  • divx コンテナの読み込みで異常がありました場合、お手数ですが AVI File Reader (AviSynth は AVISource) で読み込んでみてください。ただし、動画エンコード時に使用したビデオコーデック(デコーダ)を別途インストールする必要があります。

    Quick Sync Video の不具合は次回公開のバイナリで修正予定です(r940 mod1 で修正)。

    リンク
    L-SMASH Works GitHub
    FFmpeg 公式

     

    1件のコメント

    1. > ブラウンパパさん
      解像度1920×1080で制限をかけるような仕様にはなっていないので、AviUtlでしたら ファイル→環境設定→システムの設定で最大画像サイズ指定が 幅1920 高さ1080 未満になっていないかご確認いただけますでしょうか。

      POPn
    2. お疲れ様です。
      現在海外にいるのですが、
      日本国内のみのアクセスに限定されているためにダウンロードが出来ません。
      本当に勝手なことを言うようで申し訳ないのですが、どうにか個人限定でダウンロードができるようにしていただけないでしょうか。
      無理なことを言っているのは承知ですが、どうかご検討の程、よろしくお願い致します。

      みきてぃ
    3. > しろみちさん
      本件の原因は、L-SMASHライブラリがUnicode対応を図った際のL-SMASH Works(lwmuxer.auf)への対応漏れです。

      L-SMASHライブラリに渡す文字列のエンコーディングは UTF-8 でなければならないのですが、
      ダイアログで指定されるファイル名はAviUtlを介してプラグイン(lwmuxer.auf)に渡されるので、
      エンコーディングが ACP(日本語環境ならCP932) となっています。

      コレをL-SMASHライブラリにそのまま渡しているので、エンコーディング違いによる文字化けが発生しています。
      正しい対策はプラグイン側で ACP->UTF-8 への変換を行う事です。(こんな感じで↓
      https://github.com/maki-rxrz/L-SMASH-Works/commit/faebcf91238eef70e73bf40a8c3d175f6d4a6f83

      ちなみに、L-SMASHライブラリの common/osdep.c のWin32用コードは、非Unicodeアプリケーション/ライブラリでUnicode文字列を扱う為の実装です。

      ブロマガに記載された変更を使用した場合、Unicode文字列を扱えなくなる弊害が発生します。
      影響があるのは、L-SMASHのcliアプリ(muxer,remuxer,timelineeditor)、L-SMASH WorksのVapourSynth用プラグイン(vslsmashsource)、です。

      Unicdode非対応なAviUtl、AviSynthでは直接的な影響はない(Unicdodeを渡してはならない)にせよ、L-SMASHのcliアプリを併用する人は注意が必要になります。

      maki
    4. > maki さん
      お返事ありがとうございます。
      正しい情報の発信のために私のブロマガの内容を修正および追記いたしました。
      対応していただきこの場をお借りして感謝いたします。

      しろみち
    5. これをDLしないと、AviUtlは使えませんか?
      使えないのなら、他国でもDLしてくださるとうれしいです

      いるか
    6. mp4(avc/h264+aac)を読むと、音ズレが起きました。音が少し早めに、0.5秒ぐらいです。全てのmp4ファイルはこの問題があります。libav+L-SMASH や LW-livav や a/v sync correction 色んな設定を試してみましたが、やはり不具合です。a/v sync correction を 外すと やや改善、でもまだ早めです。DirectShow File Reader と seraphy MP4 File Reader で同じ動画ファイルを読んで確認して、この問題はありません。

      zpfbj0
    7. > いるか さん
      L-SMASH Works の AviUtl プラグインはあくまで「プラグイン」ですので、これがなくても AviUtl は動作します。
      心置きなく AviUtl をお使いください。

      > zpfbj0 さん
      大変お手数ですが、その動画はどういう仕様でどう作られたのかお知らせいただけますでしょうか。
      同様の動画を作って再現を試みますのでよろしくお願いします。

      POPn
    8. > zpfbj0 さん
      動作チェック目的であれば大丈夫なのかもしれませんが、ファイル名を見るからに手を出しにくいサンプルなので、できればそれらの動画をどうエンコードして作ったのか書いていただければと思います。

      的外れかもしれませんが、CFR にもかかわらず DSF などで大丈夫だけれど L-SMASH Works ではズレるという事でしたら、コンテナへの格納が L-SMASH 的にはおかしい可能性も考えられるので、該当する動画を L-SMASH Works Muxre でエクスポートして remux した動画を再度読み込み、VFR でしたら VFR->CFR 変換でどうなるかお試しいただけますでしょうか。

      POPn
    9. AviUtlの拡張編集にmp4動画をドロップしたところ、AviUtl上での再生で60分に16秒ほど、音に対して画像が遅れているようです。
      出だしは合ってて、リニアに遅くなっている感じです。

      動画はnVidiaのShadowPlay(Share)でフルスクリーンでゲームを録画したもので、
      画像:1600×1200 8bit AVC/H.264 プログレッシブ 29.94fps
      音声:AAC 48kHz 2ch
      の動画で、元動画をHandBrakeでCFRに変換したものをGOMプレイヤーで再生し、比較したところ、音の位置は同じで、画像が遅れているのを確認しました。
      ※同じ音が出てるタイミングの、GOMプレイヤーの再生時間位置(0:59:55)とAviUtlの拡張編集の時間メモリ位置(0:59:55)との比較
      ※遅れてる時間数はAviUtl上で音のタイミング(0:59:55)から、その音を発生する画像までの時間差(1:00:11)
      ※HandBrakeで変換した動画は、ずれなし
      ※元動画をGOMプレイヤーで再生して比較した場合は逆に音が早まってるように見えます(音の位置1:00:11)

      L-SMASH Worksの入力プラグイン設定では、
      VFRー>CFRにチェックを入れ、30000/1000に設定、他はデフォルトです。
      回避策があれば教えていただければ幸いです。

      なお、動画形式は、真空波動研SuperLight 171022版で取得しました。

      ちびにゃ
    10. >AviUtlの拡張編集にmp4動画をドロップしたところ、AviUtl上での再生で60分に16秒ほど、音に対して画像が遅れているようです。

      nVidiaのGeForce Exprienceとドライバを最新にしたらずれなくなりました。^^;

      ちびにゃ
    11. 7 days to dieというゲームを、shareで撮影したときの録画ファイルを読み込むとL-SMASH Worksを追加したaviutlで音ズレが発生します。

    12. > あ さん

      現在、NVIDIA の GPU を使っていないので share でキャプチャした動画の詳細はわかりませんが、VFR(可変フレームレート)である可能性も考えられるため、 L-SMASH Works で読み込む場合は設定で「VFR->CFR」にチェックを入れて60000/1001(キャプチャしたゲームの最大フレームレートが60fps・またはモニタのリフレッシュレートが丁度60Hzで share がその周波数を基準とする場合は60/1)以上にして読み込んでみてください。

      ただし VFR の可変幅によっては 120000/1001(120/1) かそれ以上の固定フレームレートに変換しないと部分的に音ズレしたり意図しないフレームの増減が目立つ可能性もあるため、精度を要求する場合は動画の仕様を熟知する必要があります。

      また、直前の投稿でちびにゃさんが似たような内容の報告にて解決した事例もありますので、そちらも参考にしていただければと思います。

      POPn
    13. 海外在住の者です。
      アクセスが日本国内限定になっていて困っています。
      もしできれば、ファイルをGoogle DriveやDropboxといった外部のストレージサービスに移動していただけないでしょうか。

      otter
    14. 私も海外在住のものですが、
      国外でもアクセス可能にしていただきたいです。
      よろしくお願い致します。

      YY
    15. 以上と同じく、国外でアクセスしたいなんですが…。
      よろしくお願いしますm(_ _)m

      名無し
    16. 今更感のある質問ですが、msvcr120.dllの更新は特に必要ないのでしょうか?(同梱されていない為)

      別件なのですが、windows10-64bitを1709にしたところTSをLwlibavvideosourceで読み込む(avsをaviutlへ)む時、下手をすると20分以上掛かるようになってしまい困っております…
      何か情報等ありましたらご教示頂けないかと…
      (TSファイル以外での読み込みは特に問題がない為、こちらの環境下での不具合なのかとも思いますが…)

      やらかし

    コメントを残す

    メールアドレスが公開されることはありません。 が付いている欄は必須項目です

    ÷ 5 = 1

    このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください