疑問と対応策のコーナーです。サポートページにも技術情報などがあるので参考にしてみてください(連絡先からいけます)。
これ以外に何かあれば、些細なことでもかまわないのでバグ等の報告、ぜひともお願いします。
このエラー表示が出る場合、適切な音声コーデックがインストールされていない、もしくは有効になっていない可能性があります。
オーディオデバイスのプロパティでコーデックの状態を確認してください。
『Fraunhofer(l3codeca.acm)』のMP3コーデックは常に有効にしておいてください。
通常、MP3->PCMのデコード、AAC(orPCM)->MP3のエンコードではこれを使います。
標準で存在するはずの『Fraunhofer(l3codeca.acm)』のMP3エンコーダがなくて『decode only』の場合、
LameのMP3(ACM)エンコーダをインストールするとよいでしょう。
『動作環境』の『必要とされるオーディオコーデック』の項目を参照ください。
MP3のエンコーダが有効になっているかどうか確認して下さい。『動作環境』の『必要とされるオーディオコーデック』の項目を参照ください。
MP3VBRで、VBRヘッダがない場合、再生プレーヤーによっては再生時間が何倍にも膨れ上がって表示されることがあります。
設定で『MP3VBRHeader(Xing)付加』にチェックを入れて出力すれば改善されると思います。
なお、Xingヘッダを加えても正常に表示しないプレーヤーもあります。
ADPCMやNellymoserをPCMにデコードする際につなぎの部分で『プチノイズ』が入ってしまうことがあります。
修正を重ねた現在ではそういった現象は少ないと思いますが、もしそうなったらこれまたプログラマがショボいと思ってご勘弁ください。
SorensonH.263は普通のH.263形式と異なり、あらゆるサイズを許容しています。
それが原因で、ある特定の条件下で画像の『ズレ』が生じる場合があります。
また、On2VP6に関しても、同じような条件下で同様な現象が起こり得ます。
未圧縮の映像でこのような現象に出くわしても、プログラマがショボいと思ってご勘弁ください。
圧縮の映像がおかしかったら大抵はサイズの問題だと思われるので、
一般的なサイズにリサイズしてから圧縮を試みてください。(もしくはリサイズできるビデオコーデックを使用)
それがOn2VP6ビデオデータならコーデックがインストールされていない可能性があります。
VP6コーデックやffdshowなどをインストールして試してみてください。
それでもなにかおかしいならメールをください。
あと、HugFlashはフラッシュファイル(SWF)をAVI化するものではありません。
ビデオデータが含まれていないフラッシュ(SWF)でAVI出力されることはありません。
また、H264/AVC(MP4)での音声付AVI出力、静止画抽出においてもデコーダが必要です。
これらが問題であるのならば、ffdshowをインストールして適切な設定を行ってください
(『動作環境』参照)。
『圧縮方法』の項目を参照ください。(とくに赤字のところ)
ソースがSWFの場合は『欠落画像を補填して出力』にチェックしておくと音ずれが低減すると思います。
v2.7.2以降からVBR(ABR)のMP3や、8で割り切れないサンプルレートのMP3でもうまく同期させるようにしたので、以下の記述は今となっては必要ないかもしれません。
ただ、完璧ではないかもしれないので残しておきます。
映像と音声の長さがほぼ等しいのに音ズレする場合は以下の設定(『HugFlashモードの設定』参照)を試してみてください。ただし、ソースがMP3VBRの場合は改善しないかもしれません。
それでもズレる場合は、別途編集ソフト(AviUtl, VirtualDub, VirtualDub-MP3, Nandubなど)で同期補正してください。
FLVやSWFに含まれる『ビデオデータ』から1コマ毎の画像が欲しい場合、『PICTURE』にチェックを入れるのは間違いです。
設定の『VIDEO』項目にある『静止画出力』を選択し(設定でBMPorPNGの選択可能)、メイン画面では『VIDEO』にチェックを入れてください。
アルファチャンネルつきのBMPまたはJPEGをそのままの設定で出力した場合、そうなることもあります。
アルファチャンネルは『黒』が完全透過の部分です(たいていの場合背景が黒くなります)。
画像内のメインオブジェクトも黒もしくは黒に近い色の場合、全体が黒く見えます。
こういった場合、設定においてPNG形式で圧縮出力することにより、透過情報を反映することができます。
また、JPEGにおいては別途アルファデータのみを出力するということも可能です。
PNG出力したのにまだ黒いぞ、という場合はそれは元々そういうものであるか、PNGの透過表示に対応していないビューアで閲覧している可能性があります。
『Flashの真偽確認しつつサーチ』にチェックが入っていると低速になりますが、それ以外にも原因となる要素があります。
一つは『記憶』を押した後でリストアップが遅くなることがあります。記憶した数が多いほど遅くなります。
そしてもう一つ、当方ではアンチウィルスソフトとしてAVGを使っていましたが、ファイルサーチの際にAVGが介入しているようで、それが遅延の原因となっていることを確認しています。
対策の一つとして、ビューア閲覧の際にはAVGのシールドを一時的にOFFにすることがあげられます。
他のアンチウィルスソフトにおいても、常駐させている状態でなにかしら介入しているようであれば、一時的にOFFにすると改善するかもしれません。
アンチウィルスソフトをOFFにしてもHugFlash自体が悪さをすることはないので過剰な心配はいりませんが、OFFしたときはむやみにSWFの画面をクリックしないなどの注意が必要です。心配な方はOFFにしないでください。
インターネットキャッシュフォルダにあるフラッシュファイルに起こりがちです。
推測ですが、(ダウンロードを途中でやめた)不完全なフラッシュである可能性があります。
こういったファイルは削除しておいたほうがいいかもしれません。
ZLIBで圧縮された部分の解凍(展開)に失敗したときに出るものです。
このエラーが出るフラッシュファイルは壊れているか、何かしらの問題を抱えているものと思われます。
基本的に仕様と捉えてください。ただし、明らかにおかしい場合はディスプレイの『画面』のプロパティをご確認ください
ディスプレイ上で右クリック->プロパティ->設定タブ->詳細設定ボタン->全般タブにおいて、DPIの設定を確認してください。
HugFlashは標準の96dpiであることを念頭にデザイン設計されています。
文字化けや余計な文字が入ることがあります。
作成元が特殊な言語、例えばアラビア語とかスペイン語などの場合は意味不明な文字列になるでしょう。
コード変換できるテキストエディタを使用しているなら、UTF-8形式に変換することで文字化けが改善することもあります。
何度やっても同じところで逝ってしまう場合は是非ご連絡ください。
その際にはログを見てどこで問題がでているか報告していただけるとありがたいです。
さらに、差し支えない範囲でそのフラッシュファイルのありかを教えていただければなおありがたいです。
その現象が特定の箇所でない場合、『LOG』や『AS』出力していることが原因かもしれません。
『LOG』や『AS』のチェックを外すか、ログの場合はシンプルモード、AS3の場合は『なし』か『DumpLog』のみで実行してみてください。
また、その記述内で『UnknownTag』が書かれている場合があります。
FLASH作成ソフトの名称を記述したり、ASにプロテクトをかけるときに使われる場合があり、これにより強制終了してしまう可能性があります(未知のタグがあっても強引に解析を進める仕様のため)。
その場合は、即座に修正しますのでご一報をお願いいたします。
先の項目でも触れましたが、不完全なフラッシュファイルの場合でもこういった現象が起こりえます。
『HugFlash』モードで何にも抽出できないときはそのファイルに素材が入っていないことを意味します。
たいていの場合、ベクター描画か、外部からインポートしているか、ストリームか、といった感じだと思います。
インポートしている場合は『Temporary Internet File』(IEの場合)に佇んでいる場合があるのでチェックしてみるのもいいかもしれません。そのファイル名はLOGファイルやASファイルを見ればおおよそわかると思います。
ベクター画像に関しては『HugShadow』モードにして遊んでみてください。
Windows Vista以降のOSで『互換性』の『特権レベル』で『管理者としてこのプログラムを実行する』にして起動させているとDrag&Dropできない場合があります。
システムフォルダ内でない限り、HugFlashはその設定にしなくとも動作します。
あとは保存先もシステムフォルダ内を避けていれば問題はないと思います。
ちなみに、これと同様の理由でコマンドプロンプトからの実行も制限される可能性があります。
アルファチャンネルとは簡単に言うと透過情報です。
0~255の256段階でその『透明度』を表現できます。
BMPやJPEGでも実は透過情報を含めることができますが、BMPに関してはあまりにも一般的ではなく、また、JPEGに関しても完全透過か不透過かしか表現できません(0か255ということ)。
つまり、JPEGはマスクはできても『半透明』(または『ぼかし』)という微妙なニュアンスをアルファ情報を用いて表現できません(多分)。
アルファチャンネルを含むことができるフォーマットにはTGAやPNGなどがありますが、ちょうど手元にPNGのライブラリがあったのでここはPNGを使おうということになりました。
一口に MP3形式といってもいくつか種類があります(MPEG1 Layer3、MPEG2 Layer3、MPEG2.5 Layer3)。フラッシュから抽出されるものはこれらの形式をサポートします。
しかし、抽出されたこれらのファイルを音楽CDとして CD-R などに書き込むときに、ライティングソフトによっては MPEG1 形式しか受け付けない場合があります。その場合は別途、書き込める形式に変換しなければなりません。その辺は臨機応変に対応願います。
また、MP3にはCBR(固定ビットレート)やVBR(可変ビットレート)、ABR(平均ビットレート)といったレート方式があり、CBR以外はAVI動画との同期に不具合が起こる可能性が高くなります。
それを回避するには設定で『音ずれ対策』のいずれかにチェックを入れて出力すれば改善される可能性があります。
もし劣化など気になるのであれば、映像と音声を別個に出力して、音声を無劣化でVBRからCBRに再エンコードし(要・別ソフトウェア)、同期させればよいでしょう。
もちろんVBRのまま同期させる編集ソフトもある(前述『映像と音声がずれる』参照)ので、それを使用してもよいと思います。
なにはともあれ、フラッシュに組み込まれているMP3はサイズを抑えるために相当ビットレートを下げている場合が多いこともあわせて留意ください。
ここでは両者のパフォーマンスについて記述しておきたいと思います。
『HugFlash』でのパフォーマンスについて比較しており、そのテスト環境はDirectX(9.0c)+ffdshow(rev1909)です。
まず、顕著な違いはそのスピードです。
相当な違いがあるのでなるべくVFWを使うようにしてください。
そして、ビデオデータからの画像抽出の際にも違いが現れます。
例えば、VFWとDirectShow、それぞれを使って、すべてのフレームを抽出したとします。
その二つの結果をサムネイル表示して比較すると、微妙な違いを見つけることができます。
DirectShowの場合、最初の数枚のうち、なぜか重複しているフレームが一つ二つあるのです。
どちらが正しいのか、また、なぜかはわかりませんが、フレームの画像が両者で異なっている場合があるということを気に留めておいてください。
これらのことがありますので、VFWでの使用を促しております(たとえ時代遅れだとしても)。
とはいえ、環境やコーデック、DierctXのバージョンによって異なることもあるかもしれませんので、その辺は臨機応変に。