性能向上
  • Mac で、RGB から ULY2 へのエンコードをアセンブラ化して高速化した。
  • 共通: デコードを少しだけ高速化した。
  • 共通: x64 で、エンコードを 10% 程度高速化した。
その他
  • Mac で、中間圧縮用コーデックとしては不要なフラグを出力しないことによって、エンコード後のサイズをちょっとだけ小さくした。

readme 日本語 英語 / バイナリ Windows (exe) Mac OS X (zip) / ソース

だいたい高速化だけです。

Mac で(というか QuickTime で)エンコード後のサイズを小さくした件ですが、これは圧縮率が向上したわけではありません。MOV ファイルではトリックプレイ(早送りとか)用のヒントを持つことができるのですが、これを出力しないことでファイルサイズを削減したということです。Ut Video Codec Suite は中間圧縮用コーデックであり、直接再生することを目的としているわけではないので、このヒントは不要です。

Trackback

15 comments untill now

  1. すいすい @ 2012-05-14 18:58

    >梅澤様

    すいすいです。

    Macで作ったMOVデータをWinでのFFMPEG経由でのNULLフレームの増減ですが、以下の様な現象が出ているようですね。
    *お気づきの事でしたら申し訳ありません。

    フレームレートが設定値を「1001」で割るものは「ffmpeg -vcodec copy -acodec copy」で大量のNULLフレームが入る。

    30fps -> 30fps
    29.97fps -> 30000fps
    24fps -> 24fps
    23.976fps -> 24000fps
    15fps -> 15fps

    MediaInfoで読み取った時のデータです。
    *大丈夫なもの
    ゥTSC: 24
    ゥTSZ: 1
    *ダメなもの
    ゥTSC: 30000
    ゥTSZ: 1001

    コピー処理をするFFMPEG側の問題かもしれませんが、ご報告に。
    長文、失礼しました。

  2. 梅澤 威志 @ 2012-05-14 20:07

    端数の少ないfpsだと変換後にNULLフレームが少ない、ということですね。

    手元だと(Macで)MOVファイルを自由に吐ける環境がiMovieしかないんですが、同一のプロジェクト(「30fps-NTSC」と表示されてるので多分実態は29.97)からムービー設定のフレームレートを変更するだけだと、29.97でも30でも25でもffmpegで変換した後はNULLフレームが大量に入るようです。プロジェクト設定の方に引きずられてるってことですかね…?

    —-

    返す返すもカラーNTSCが1001で割ったfpsになってしまったのが残念でなりません :-p (技術的必然性があるのは知ってますけど)

  3. すいすい @ 2012-05-15 21:10

    >梅澤様

    すいすいです。

    色々調べた結果、上記のNULLフレームがおかしくなるものは、
    ffmpeg -i “入力ファイル”で調べられる、「tbn」or「tbc」の値に「.000」を掛けた数値で吐き出されるようです。
    *どちらが参照されて出力fpsになっているかはわかりませんが。

    ダメなデータはfps値は「29.97」でもtbn値が「30k(30000)」と表示されていました。

    また、これはソフトの問題だと思いますが、Apple純正のQuickTimePlaerProでの書き出しでは映像的に問題はありませんが、
    AdobeMediaEncoderなどのソフトでは、一回目の圧縮は問題なくても、2回目以降(書きだしたものを再度UTCodecで書き出し)は、全体に青みがかかった映像で出力されます。
    *ちなみにAfterEffectsでは問題なかったので、出力に使われているエンコーダが違うのかもしれませんが。

    またまた、長文失礼しました。

  4. まりも @ 2012-06-24 09:23

    はじめまして、まりもと申します。

    AmaRecTVでULY2で使用させていただいております。

    質問なんですが、録画したファイルをWMVEncoderで
    WMVに変換しようとすると入力メディア形式が無効です
    と表示されてしまいます。

    これを回避してWMVに変換する方法をご存知ないでしょうか。
    どうかよろしくお願いします。

  5. 梅澤 威志 @ 2012-06-25 10:41

    WMVEncoder なるものがどういうものか分かりません(Windows Media Encoder や Expression Encoder とは違うんですよね)が、YV12 しか受け付けないように作られてるとかではないですかね?

  6. まりも @ 2012-06-25 22:35

    失礼しました。
    WMVEncoderではなく、Windows Media エンコーダでした。
    以前は、ULY2で録画したものを同じツールでWMVに変換できて
    いたんですが、上記のエラーが出るようになってしまって。

    なにかヒントをいただけないかと思い、質問させていただいた次第です。
    失礼しました。

  7. 梅澤 威志 @ 2012-06-29 20:45

    おっと見落としてました。
    うーん、分からんですねぇ。手元では ULRG でも ULY2 でも何事も無くエンコードできるんで…。

  8. 初めまして、こちらのコーデックを使用させて頂こうと、
    先日DLしてみたのですが、インストールが完了できませんでした。
    途中「ファイル名の変更中にエラーが発生しました」というメッセージが出てしまい、
    再試行もしましたが、意味がありませんでした。

    保存場所が悪いのかと思い、とりあえず他の場所にもしてみましたが
    どうも無理なようで やっぱりエラーが出てしまいます…。

    どういう原因が考えられるでしょうか?
    PCはwin7です。

  9. 梅澤 威志 @ 2012-07-06 21:33

    なんかどっかで聞いたような…と思ったら以前他の人から報告されてました。
    http://umezawa.dyndns.info/wordpress/?p=3074&cpage=1#comment-43465
    で、原因は分からないんですが、結構起きる現象なんですかねぇ…

  10. そうなんですか…。

    再試行の隣にある、「無視」を選ぶとインストールを中止する事になるのでしょうか?
    何度も質問すみません。

  11. 梅澤 威志 @ 2012-07-07 18:41

    手元で発生しないので推測ですが、「無視」を選んだ場合、おそらくそのファイルだけインストールされずにインストール続行になります。
    必須なファイルがインストールされないとコーデックとして動作しないので、続行できてもあまり意味は無いと思います。
    なお、現状では、utv_core.dll utv_vcm.dll utv_dmo.dll が必須なファイルです。utv_cfg.exe がインストールされないと global configuration ダイアログが開けません。その他のファイルはドキュメントなので特に支障はありません。

  12. すいすい @ 2012-07-09 12:05

    梅澤様

    すいすいです。

    UT Video CodecのWin版QuickTimeへの格納ですが、先日発表された「Grass Valley HQX Codec」のWin版を見ていたら、Win版QuickTimePlayerの「QTCompornent」にqtxの拡張子でインストールされて、Playerから使用できていました。

    素人考えですが、これと同じようにコンポーネント化できれば、movのままスムーズに持っていけると思います。

    以上、ご報告までに。

  13. [...] ecというのを使ってる。 もっといいコーデックがあるなら紹介して欲しいです。 Ut Video Codecの公式サイト ここからコーデックをDLしてインスコすると、Dxtoryのビデオコーデックで選択で [...]

  14. 金の髭 @ 2012-07-21 18:24

    上でまりもさんという方も書き込んでらっしゃいますが、
    WindowsMediaエンコーダでの変換でULRGとULY2でエラーが起きてしまうようです。
    可逆圧縮スレの
      http://toro.2ch.net/test/read.cgi/avi/1247236230/616
    にも書いたのですがこちらにもご報告させていただきます。

    ■環境等
     ●OS: WinXP SP3
     ●UtVideoのバージョン: 11.1.0
     ●Windows Media エンコーダのバージョン: 9.00.00.3374
     ●ソースファイル
        AviUtl+拡張編集プラグインで
           320×240、30fps、3秒
           640×480、30fps、3秒
        の2種のファイルを作り、AVI出力で映像のみ各種コーデックで出力したもの。
     ●WMEでの手順: 新しいセッションでファイルの変換を選んで「ファイルへ保存→最高品質ビデオ(VBR 100)」
     ●エラーが起きるもの
        ・ULRGで出力したもの
        ・ULY2で、「YUY2圧縮オフ」で出力したもの。(YUY2圧縮オンなら問題なし)
     ●WMEで発生するエラー:
        入力メディア形式が無効です。(0xC00D0BB8)
     ●備考
       ・AMV2のR2,Y2設定やAMV3のS2設定、HuffyuvのRGB圧縮、あとLagarithのRGB,YUY2も問題ありませんでした。
       ・当然ですがどのAVIファイルもWMPでの再生やAviUtlでの編集は問題なく行うことができます。
       ・ffdshowを使っておりLAV Filtersは入れていないのでUtVideoのデコーダーは公式のもののみです。
        GraphStudioで見てもUtVideoのDMO Decoderがデコードしています。
        (レンダラとの間にAVI Decompressorが入ってYUV→RGB32変換してますが)

    そちらではULRGも問題なくエンコードできているとのことですので
    何か環境依存の問題があるのかもしれませんが・・・。うーむ。

  15. 梅澤 威志 @ 2012-07-24 23:49

    うーん、その挙動ってつまりエンコーダに RGB24 で渡してできた AVI ファイルだとエラーになるってことですよねぇ…ともあれ調べます。

Add your comment now