yammo
2002-03-12 16:09:29 ( ID:dat.2whhaqf )
[ 削除 / 引用して返信 ]
前略
ども、yammoと申します。
MPEGツールの結合(カット)で質問があります。
(現時点での動作上に問題はありません。)
現在、各種バージョンのTMPGEncを使用しておりますが、
v2.0x系とv2.5x系で、速度およびファイルの内容が違いますが、
何が違うんでしょうか。といいますか何か支障がでたりするんでしょうか。
ふとした事から、「なんか以前のバージョンより遅い気がするなぁ」と
思って、前のバージョンを入れなおして、実測してみたら、
やっぱり遅くなってました。
以下に示す結果で、出力される MPEG1ファイルとして、
不都合が起こらないなら、時間的にもっとも早い v2.02を使用しようと
思っています。
何かご存知でしたら、よろしくお願いします。
では。
----------------------------------------
以下長文失礼します。
試行して解かった結果を示します。
ソースは
MPEG1でキャプチャーしたファイルを、TMPGEnc v2.53でMPEG1へエンコード。
(エンコード結果は、54分8秒)
設定は、MPEG1ストリーム、352x240、1:1(VGA)、29.97fps、
固定品質(CQ、品質100、最大5000kbps、最小0kbps)、動き予測検索(高速)、
フィルタなし、GOP(I:1、P:0、B:0)、シーケンスヘッダ出力間隔:1、ClosedGOP:ON、
MPEG-1 AudioLayer2(44.1kHz、ステレオ、224kbps)
これをそれぞれのバージョンで、
(0-3min) + (6min-9min)という範囲でカットしたものを結合。
結果は
v2.02 ビデオ出力 37s, オーディオ出力 70s, ファイル出力 258s, サイズ 190478340 B
v2.51 ビデオ出力 37s, オーディオ出力 70s, ファイル出力 324s, サイズ 190478340 B
v2.52 ビデオ出力 37s, オーディオ出力 70s, ファイル出力 282s, サイズ 190478340 B
v2.53 ビデオ出力 37s, オーディオ出力 70s, ファイル出力 315s, サイズ 190478340 B
(各々2回、手動で計った平均時間。ファイル出力が出力にかかった総時間。)
タスクマネージャーによる(ファイル出力時の)メモリ使用量
v2.02 9.5MB
v2.51 21.5MB
v2.52 9.5MB
v2.53 10MB
ファイル内容の比較(FileComp32 v1.24)
v2.02
anj
2002-03-12 22:40:21 ( ID:sr.n7sfm5wa )
[ 削除 / 引用して返信 ]
複数バージョンでこれだけのテストされるのは賞賛モノだと思いますが、まずは
ここのサイトの About TMPGEnc をお読みいただいたほうがいいかと思います。
・画質最優先→バージョンが上がったからといって早くなるわけではない
・各バージョンの違い→変更履歴を参照してください。
エンコ
2002-03-13 01:40:29 ( ID:v9q6mi59ybg )
[ 削除 / 引用して返信 ]
検証結果からバージョンアップによる速度、データの比較が、結構素直に
出てますね(笑)
まず、2.02から、2.51で、データ比較により相違があったのは
バージョンアップにより、データ内容のバグが修正されたように見受けられますし
それ以降内容が変わらない というのも納得できると思います。
そのため、時間が若干遅くなった というのはわかると思います。
その次のバージョンで、若干速くなった ということは、そのへんの細かい最適化
かなにかをされたように見受けられ、若干速くなった・・・と。
そして、最後に、2.52から2.53で遅くなってるのは、プログレスバー
を表示するようになったからというのも直ぐにわかることかなと。
このプログレスバー自体に問題があるわけではなく、Windowsアプリケーションの
仕様から遅くなるのですが、ダイアログを表示して、そのダイアログの処理をするのに
Windowsのメッセージ処理をするのですが、その辺のオーバーラップで遅くってるような
感じですね。
ただ、この場合も、もっと速くするようにすることは可能かと思うのですがいかがでしょうか??>開発されてる方
スレッドのクリティカルセッションを上げて、なるべくメッセージ処理しないようにすると
前の無いときと同じ とまではいかないまでも若干速くなるかも・・・
でもそうすると、今度は、ダイアログの再描画されないときが多くなって、白くなってしまう
場合があるので、この辺は、どっちを優先するかでかわってくるのではないかと思いますが・・
プログレスバーといえば、今、各パート毎にプログレスされますが、全体のプログレスに
した方がいいのではないかと思います。
1つが100%になったら、次が100%・・・そして次・・・となると、ちょっと
予想をつけ難い・・といいますか・・・
あと、普通のエンコード時の最後にもプログレスつけて欲しい(というか、画面上のプログレス
の中に埋め込みしてほしい)のですが無理でしょうか?
エンコードの最後に、ビットレートの書き換えをすると思うのですが、MPEGツールには
一応はいってくれたので、いいのですが、普通のエンコードの時のその時もプログレスしてもら
えると嬉しいです。
便乗の要望になってしまって申し訳ないのですが・・・
yammo
2002-03-16 14:36:51 ( ID:dat.2whhaqf )
[ 削除 / 引用して返信 ]
どうも、yammoです。
anj さん、お返事ありがとうございます。m(__)m
>複数バージョンでこれだけのテストされるのは賞賛モノだと思いますが、まずは
>ここのサイトの About TMPGEnc をお読みいただいたほうがいいかと思います。
すいません。改めて読みましたけど、何か支障がありますでしょうか。
(「限定的ユーザーサポートサービス」の事をおっしゃりたいのでしょうか。)
>・画質最優先→バージョンが上がったからといって早くなるわけではない
MPEGツールの結合(カット)と画質最優先と関連が無いと思っていたのですが、
画質によって、各バージョンのMPEGツールが影響を受けるのでしょうか?
>・各バージョンの違い→変更履歴を参照してください。
ver2.50〜ver2.53の変更履歴を改めて見てみました。
MPEGツールに関することは以下の点でした。
・ver2.52 MPEG ツールの結合(カット)で編集画面を表示する際にエラーが発生した場合、エラーの詳細を表示するようにした。
・ver2.53 MPEG ツールで進行状況表示を付けた。
これを見る限り、今回の内容に関する変更は見られないのですが、
どのあたりを参照したらわかりますでしょうか?
anj さんには申し訳ないのですが、anjさん何か勘違いされていらっしゃいませんか?
各バージョンで使用したMPEGツールのソースは、
ver2.53で生成した同一のMPEG1ファイルです。
なんか文句ばっかりのような内容で申し訳ありませんが、
引き続き何か解かりましたらよろしくお願いします。
yammo
2002-03-16 15:06:09 ( ID:dat.2whhaqf )
[ 削除 / 引用して返信 ]
どうも、yammoです。
エンコ さん、お返事ありがとうございます。m(__)m
>検証結果からバージョンアップによる速度、データの比較が、結構素直に
>出てますね(笑)
そうかもしれませんね。(苦笑)(^-^;)
>まず、2.02から、2.51で、データ比較により相違があったのは
>バージョンアップにより、データ内容のバグが修正されたように見受けられますし
>それ以降内容が変わらない というのも納得できると思います。
ver2.0系からver2.5系で何かしらの変更があったとは思うんですが、
変更履歴にはそれとわかる変更が見当たらないんですよね。
>そして、最後に、2.52から2.53で遅くなってるのは、プログレスバー
>を表示するようになったからというのも直ぐにわかることかなと。
これはある程度はしょうがないでしょうね。
動作的にすることが増えてるわけですから機能と速度のバランスが崩れないような
調整が進むのを見守ることしかできないです。
(機能も増やして、速度を早くなんて欲張りなことは
要求できるはずもないですからね。)
ただ、エンコさんも書かれていますが、
>ただ、この場合も、もっと速くするようにすることは可能かと思うのですがいかがでしょうか??>開発されてる方
ということは可能ではないかと想像してます。
旧バージョンでも、
ファイル処理と出力の合間に、ダイアログへ出力容量を表示していたことを考えると、
プログレスバーの表示をしても数パーセントの時間増加に
収まってもいいのではないかと期待しちゃいます。
>プログレスバーといえば、今、各パート毎にプログレスされますが、全体のプログレスに
>した方がいいのではないかと思います。
これなんですけど、
No.1201「要望 - 「MPEGツール」での動作」(かず01氏投稿)のコメントとして、
3/5に私も似たような(ちょっと違いますけど)要望を書きました。
コメントついていないくても、読まれているんでしょうか。
(ちょっと不安。)
一応、要望のコメントツリーだから読まれていると期待しているんですけどね。
では。ちゃお。(^-^)/
anj
2002-03-17 00:07:35 ( ID:sr.n7sfm5wa )
[ 削除 / 引用して返信 ]
どうも私の理解不足だったようで、申し訳ないです。
最初の投稿から速度向上にこだわっておられるようにお見受けしましたので、
TMPGEncは速度よりも画質を最優先に作られてますよ、と申し上げたかったつもりでした。
#変更履歴を見られても、高速化に関する更新はほとんどないですし。
エンコさんの書かれている内容が適切だと思いますが、「これで問題のない画質」と
思われるのでしたら2.02をお使いになるのも一つの手段だと思います。変更履歴では、
2.02以降には特に致命的になりそうな修正が見あたりませんし。
yammo
2002-03-17 23:51:13 ( ID:dat.2whhaqf )
[ 削除 / 引用して返信 ]
どうも、yammoです。
>どうも私の理解不足だったようで、申し訳ないです。
こちらこそせっかくご意見を頂いたのに、
あんな書き込みしかできなくで申し訳ないです。
妙にへりくだって書くのも変ですし、
かといって私の思い違いも無いとは言い切れないので、
あのような書き込みをしました。
(自分のを何度も読んでみると、
やっぱりあんまりうまくない書き方ですね。)
VirtualDub1.4.7の「ファイル情報」で見比べたら、
ファイルの違いはありませんでした。
日立マイクロソフトウェアシステムズ製の
「MPEGクラッカー ver1.3」(なんて名前だ。(^^;))という
MPEG解析用ソフトがあったので、何かわかったら書き込みたいと思います。
>最初の投稿から速度向上にこだわっておられるようにお見受けしましたので、
>TMPGEncは速度よりも画質を最優先に作られてますよ、と申し上げたかったつもりでした。
確かに速度向上にこだわっているのは図星です。(^^;)
かかる時間が何時間単位だと数パーセントでも結構な差になるので、
それだけ無駄な時間になる可能性があると感じたからです。
あの結果から考えると、エンバグ
(バージョンが上がっているのに新たな不具合を作りこんでしまうこと)が
無いと仮定すると、ファイル内容の違いは ver2.5系がより正確で、
時間がもっとも早いと期待できる、ver2.52を使用するのが、
一番いいんでしょうね。
ただそれも、予想に過ぎないので、
どうなのかなと思った次第です。
堀
2002-03-19 23:47:38 ( ID:TMPGEnc Net )
[ 削除 / 引用して返信 ]
v2.0x系とv2.5x系 では生成されるファイルの内容が異なるのは ver2.50 の変更点である
「DirectX のバージョンによっては高ビットレートのMPEGファイルで音声が再生されない事があるため対策した。」
によるものです。
これはファイル先頭のパケットの並びをちょっとだけ変更しただけですので
再生には何らかの変化が出ることはありませんが、ファイルの内容はバイナリ比較すると変化して見えます。
スピードについては、ver2.50 から Windows 2000/XP の環境でのみ自動的に
環境設定の「ファイルアクセスで OS のファイルキャッシュ機能を使用しない」の
オプションをデフォルトで ON にするように変更したことが影響していると思います。
これは変更履歴には載っていません。
このオプションが ON になると、ファイルのランダムアクセスが苦手になるため
MPEG ツールのようなランダムアクセスを多用するシーンでは遅くなります。
その代わり、OS のキャッシュが膨れあがり十分なメモリをPCに搭載しているのに
スワッピングが起きてしまう現象を回避できます。
現在のMPEGツールのプログレスバーの表示で、全体の処理完了割合を表示していない件ですが
これは直したいところですね。今の仕様では処理を開始する前に、どんな作業が必要か
分からないので、作業ごとにパーセント表示をしています。
yammo
2002-03-22 10:53:42 ( ID:dat.2whhaqf )
[ 削除 / 引用して返信 ]
いつも、お世話になっております。yammoでございます。m(__)m
>v2.0x系とv2.5x系 では生成されるファイルの内容が異なるのは ver2.50 の変更点である
>「DirectX のバージョンによっては高ビットレートのMPEGファイルで音声が再生されない事があるため対策した。」
>によるものです。
ということは、より安全な MPEGファイルを生成するのは、
v2.0系よりv2.5系ということなんですね。
安心して、v2.5系でファイルを作りたいと思います。
>これはファイル先頭のパケットの並びをちょっとだけ変更しただけですので
>再生には何らかの変化が出ることはありませんが、ファイルの内容はバイナリ比較すると変化して見えます。
今回の試験の場合、先頭付近だけで無く、幅をもった四箇所で相違がありました。
VBR(CQ)であることと関係があるんでしょうか。
(以下の結果は、相違の見られた範囲で、厳密にはこの範囲内でも、
一致する部分が10バイト未満ですが存在します。)
16進表記(ファイルサイズ 0x0B5A7804 バイト)
0x0000100F - 0x00008FFF
0x0A1F700F - 0x0A1F7FFF
0x0A3A880F - 0x0A3A97FF
0x0A69B80F - 0x0A69C7FF
10進表記(ファイルサイズ 190,478,340 バイト)
000,004,111 - 000,036,863
169,832,463 - 169,836,543
171,608,079 - 171,612,159
174,700,559 - 174,704,639
>スピードについては、ver2.50 から Windows 2000/XP の環境でのみ自動的に
>環境設定の「ファイルアクセスで OS のファイルキャッシュ機能を使用しない」の
>オプションをデフォルトで ON にするように変更したことが影響していると思います。
すみません。
環境設定を書いていませんでしたが、
どちらのバージョンで実行してものも、上記の設定ははずしてありました。
(条件をそろえるため。)
となると、エンコさんの予想と上記のファイル先頭パケットを変更する分で、
v2.5系は遅くなっていると考えてよろしいのでしょうか。
必要な処理で遅くなるのでしたら、仕方ないですしね。
>現在のMPEGツールのプログレスバーの表示で、全体の処理完了割合を表示していない件ですが
>これは直したいところですね。今の仕様では処理を開始する前に、どんな作業が必要か
>分からないので、作業ごとにパーセント表示をしています。
理想的には、全体の作業項目を表示して、
すべての作業の中での進捗状態を表示できるのが良いと思いますが、
メモリやディスクなどに左右される部分もあるので、
全体の作業項目を予め表示して、現在のようにそれぞれで、
進捗状態を表示するというようにはなりませんでしょうか。
(他のソフトでもありますが、一回プログレスバーが伸びきったのに、
また零から始まるとかなりがっかりします。
「あと何回伸びるねん。」って感じで。)
お手間取らせて済みませんが、よろしくお願いします。
追伸
3/17の書き込みで MPEGクラッカーで調べるようなことを書きましたが、
このソフトの注意事項に、このソフトの解析結果を問い合わせるのを
禁止する旨書いてありました。
といっても、何がどういう意味なのか全くわかりませんでしたけど。(._.;)
追伸というか独り言。
使えば使うほど、TMPGEncと動画の世界は奥が深いと実感する今日この頃。
MPEGの仕組みなど書いてあれば、オフィシャルガイド買ってもいいかも。
よくわかってきたら、将来的にDVD系に書き込むために、MPEG-2が必要だから
TMPGEnc Plus買っちゃうかも。
|