ex B

ある意味新しい手法を用いた、はじめ男爵である(キリッ

DTV - 動画エンコードの道

駄文が見つかりました。

基礎知識

再生ができなければエンコードもできないので、最初に動画再生の巻を読んでおいたほうがよい。また経験則中心で仕様解説ではない。間違ってる記述もたぶんあるだろうから、このページは取っ掛かり程度にして、他のサイトも参照したほうがよい。

オレの方針

ネットに転がっている動画はいろんな形式で出回っていて、いちいちコーデックを確認しないと再生できないことが多いし、サイズやクオリティもバラバラ。それがどうも嫌で、オレなりの標準形式で保存し直すことにした。あとカノープスのチューナーボード「MTVX2006HF」で毎週競馬を録画しているけど全部残しておくとすぐハードディスクがパンクするので、レースとか、柏木集保の変な予想とか、目黒貴子たんの熟女っぷりとか、福島競馬場屋外中継のときの長野翼パンチラ連発とか、村田一誠のガチなインタビューとか、その他気になるシーンを保存用にエンコードすることにした。

  • 録画ソースは映像をMPEG2の8000Kbps、音声をMP2の384Kbps(サンプルレート48KHz16bit)としたMPEG2 Program Stream(いわゆるM2P)。
  • 観賞・保存用エンコードはDivX6.2.5(エンコードに用いているTMPGEncに依存)、映像2000KbpsのCBR、音声256KbpsのMP3。1時間で約900MBになるけどCD-Rに焼くことを前提としていないのでこれで構わない。
  • サイズはソースに応じて704*480/720*480に変更。アスペクト比は元ソースに準ずる。

事前に必要なこと

再生できないと話にならないので、各種コーデックとスプリッタ揃える。作業前にソースデータのコーデック情報をMMname2で確認し、同時に破損等のチェックもしておく。

動画編集/エンコードソフト

業務レベルだとWindowsの出番はないような。業務じゃないからいいけど。

TMPGEnc 4.0 Express
イチオシ。MPEG編集・エンコードソフトとして名高いTMPGEncシリーズの最新版。TM4Eと表記することもある。MPEGだけでなくWindowsMediaやDivXコーデックにも対応し、WMVやDivX出力のフロントエンドとしても非常に優秀。正直これ以外何を使うというのか?ってくらい完成度が高く、特にカット編集の使い勝手は抜群で利用者のニーズをよくわかっていると感心してしまう(それがまた利用者を増やすという好循環を生むのだろう)。各種フィルタも充実しており、有料だけどこの内容で1万円は超お買い得。プラグインによりVP6のFLV4エンコードもできるようになった。ソースさえある程度しっかりしていればこれ一本でほとんど足りるはず。RM形式やMKVコンテナには未対応なので、いろんなコーデックを使いたい人は後述のVirtualDubModへ。またアセンブラレベルでIntel CPUに特化したカリカリチューンがなされているので、AMD使いには向かないかもしれない。
DVDを直接扱うこともできるが、著作権保護がかかっているとエラーになる。ま、どうにでもなるが。
超編2 UltraEdit
有料。カノープス社のビデオオーサリングソフト。主にDVソースからの編集で使用するが、それ以外にも静止画や各種動画、音声などを自由に扱うことができ、インターフェイスもオリジナルムービーの制作初心者(オレ)にとってわかりやすく、マニュアルも非常に親切な作り。カノープスからは業務レベルの制作者向けにEdiusもリリースされている。
2008-09-08追記

すでに販売終了してた。いいソフトだったのになあ。

VirtualDubMod+Avisynth
フリー。各種AVI系エンコードのフロントエンドの定番。TMPGEncはよくできているのだけど、ベースがMPEG編集ツールのためAVIファイルを再エンコードなしで直接分離・結合することはできない。たとえば音ズレのある動画をVirtualDubModで映像のフレームレートのみを変更し、エンコードはVFAPI経由でTMPGEnc、といった用途やいい加減なソースの再エンコードに使ってる。ちなみにAvisynthはフィルタ。
AviUtl
フリー。VirtualDubModと並んで各種AVI系エンコードのフロントエンドの定番。
Sorenson Squeeze
同時に複数のコーデックでエンコードするのに便利なマルチエンコードソフトだけど、特にFLV形式でのクオリティに定評がある(H.263コーデックの開発やってるんだから当たり前)。Flashムービーの制作で重宝する。ただ6万円はちょと高い(VP6プラグイン追加でさらに2万円)。

エンコードの際には各種コーデックごとにめんどくさい設定が必要なのだけど、これらを直接設定するかわりにユーザーにとっつきやすいインターフェイスを用意してくれるソフトをフロントエンドと呼んでいる。コマンドラインとGUIの関係みたいなもの。

VFAPIについて

Video File API。もともとはTMPGEncの作者である堀浩行氏が読み込みフォーマットを増やすために開発したAPIで、現在では動画編集ソフトを相互運用する際のAPIとして定着している。VFAPIを経由させることでAviUtlやVirtualDubModの編集内容をTMPGEncに流し込む、あるいはその逆といったことが可能になる。読み込む側のソフトごとに必要(読み込まれる側は不要)。

コーデック&スプリッタ

そのうち追記。

WindowsMediaEncoder
WindowsMediaVideo形式でエンコードするのに必要。
QuickTimePlayer
MPEG4のエンコードで必要。
RealOnePlayer
RealMediaでエンコードするのに必要。

その他あると便利なツール

DAEMON Tools
フリー。ISOなどのトラックイメージを仮想ドライブとして認識させるためのツール。あると便利というより、ないと話にならなかったりする。
Virtual CloneDrive
Ver4以降、スパイウェアまがいに生まれ損なったDAEMON Toolsのかわり。標準でISO/BIN/IMG/CCD/DVD/UDFに対応とあるがなぜかうちではIMG形式を扱えなかったので仕方なくDAEMONと併用している。
いつの間にか解決していたのでこっちを使ってる。
DVD Decrypter
フリー。DVDのリッピングツール。(プロテクションとか無視して)ISO、IFO、Fileの各種形式で吸ってくれる。いちおう焼くことも可能なのだが、焼くなら同じ作者のImgBurnを使ったほうがよいだろう。
DVDFab HD Decrypter
DVD Decrypterではリッピング時にダミーセクターを挿入されてしまうRipGuardやARccOSなどのプロテクションがかかってるDVDなどをきれいに吸いだせる。まあ、エンコードではあまり使うことはないかも。
AnyDVD
常駐させておくと各種プロテクションを外してくれる憎いやつ。3週間は無償。imgburnで吸い出しかけるときなんかで併用するとよい。
AutoGK
フリー。Goldian KnotというDVDのエンコードのためのフロントエンドを、周辺ツールも含め徹底的に自動化。あんまり手間をかけずにDVDをCDに圧縮保存するような人におすすめかもしれない。編集機能はなし。
携帯動画変換君
その名の通り、各種動画をPSPやiPod、3G携帯電話などで再生できる形式に変換してくれるツール。実力は高いけど名前がどうにかならなかったのか、と思う。フリー。
DRM2WMV
著作権保護機能が働いているWindowsMediaファイルをWindowsMediaPlayer以外で再生することができるようになる。WMP11にしてるとダメっぽい。著作権を解除するのが目的でなければたぶん問題ないのだろう。ほかAutomate unDRMやDecryptItなど。
AusLogics Disk Defrag
備え付けのデフラグは同時にファイル配置の最適化まで行うのでやたら時間がかかる。そうするに越したことはないのだろうが、単にフラグメンテーションの解消だけを行うならこれが最速と思う。

作業環境について

動画制作における各処理の負荷は非常に重いため、作業用マシンには再生時とは比較にならない高いスペックが求められる。

CPU
Pentium4(Northwood以降)の3GHzクラス以上。どんなに高クロックでもシングルスレッドのCeleronでは役不足。最低でもDualCore、できればQuadCoreプロセッサが欲しい(要するにマルチスレッド処理できないと話にならない)。特にHDで出力したいのであれば、その時点で考えられる最高のCPUが望ましい(2009年現在ならCore i7の920/940)。
メモリ
編集ソースや作業内容にもよるが、最低でも1GB、できればマザーが許す限り目一杯欲しい。なお64bitOSの環境であれば4GB以上の仮想メモリ空間を利用できるが、エンコードソフトなどが64bitに対応しているかが問題になる。
ハードディスク
システムとデータでディスクを別にするのは常識だが、特に高ビットレートの映像を扱う場合はソース用と出力用、それぞれ別のディスクを増設したい。また各ディスク300GB以上のサイズが欲しい。ディスクというかインターフェイスは非圧縮のHDみたいなソースでもない限り、S-ATAで十分。外付けの場合、USBは台数増やすと不安定になるので、後述するDVのことも考えるとIEEE1394にしたほうがよい。
グラフィックボード
ビデオメモリにメインメモリを拝借するオンボードのグラフィックボードは避けたい。3Dを扱うわけではないので、専用ボード製品でメモリ64MB以上積んでいればほとんど問題ないはず。予算があるならCUDA対応のボード&エンコードソフトの組み合わせが利用できれば、なおよい(万能ではないが)。
チューナーボード
TVを録画するのに必要だが、たいてい外部入力端子がついてるはずなので、VHSの取り込みなんかにも使える。地上波デジタルを録画するならフリーオなりのDRM解除可能な製品を選ぶべきなのだろうが、アナログ出力から取り込もうがDVD並みの画質は確保されるのであまり気にしなくてもいいと思う。
IEEE1394
DVカメラを映像ソースに使う場合に必要。安いチップだと取り込む際に処理が追いつかずエラーになったりすることが多いのでケチらないこと。理想はハードウェアエンコードチップを搭載した製品。俺はカノープスのAceDVを持ってる。NECチップがいいらしいよ。

以上、マシン本体はDOSパラあたりで10万円もあれば余裕。あとは作業内容に応じて増設ボードなり増設ハードディスクを揃えればよろし。

以下、経験則
  • オンボードのグラフィックが好ましくないのは、パフォーマンスというよりメモリリーク等のエラーでプロセスやOS自体が落ちる可能性があるから。エンコード中に3Dゲームやる奴もいないだろうし、安定してるなら別にオンボードでも構わない。このへんはマシン構成とか稼動アプリといった環境依存要素でもある。
  • スワップもといページファイルはエンコード時の入出力データのあるドライブとは別にしたほうがいい。ページファイルサイズは推奨値固定で。メモリ使用量が増えた際にシステムが自動でサイズ変更しようとする際に処理が重くなるのを避ける。また一旦サイズを設定したらあまり変更すべきではなく、する際には連続領域を確保できるかどうか確認の上で。
  • 「休止状態(ハイバネーション)」の設定を有効にしておくと、システムパーテーション(通常はCドライブ)に物理メモリと同じサイズの領域が必要になる。これもページファイル同様ディスク上の連続領域を確保する必要があるため、無効にしておくか、有効にするならクリーンインストール直後がよい。
  • デフラグ中、ページファイルやハイバネーションで使用している領域は移動不可能。メモリの増設等で再設定が必要な場合は、いったんページファイルも休止状態も無効にして再起動してからデフラグをかけ、連続領域を確保したのちに改めて設定するとよい。まあセーフモードで立ち上げてもいいんだが。
  • エンコード時のタスク優先度を通常から“高”にしても、劇的に処理時間が減ることはなかった。ただし通常以下にするとけっこう伸びるので、フォアグラウンド/バックグラウンドに関係なく通常のままでよいと思う。なお、エンコードアプリケーションに限った話でもないが、タスクマネージャ等を使って優先度をリアルタイムにするのはかなりチャレンジャーな行為。なおプロセス管理はタスクマネージャよりもProcessWalkerが便利。
  • 各種ソフトがテンポラリとして利用する領域はシステムパーテーションでもそれほど処理効率には影響なさそう。ただしどのドライブもまめにデフラグを掛けてあげること。フラグメンテーションが激しいと目に見えて処理時間が遅くなる。ストレージアクセスのスループットがパフォーマンスに与える影響はバカにできないので手間を惜しまない。
  • DVDのリッピングデータからエンコードする場合、該当データにフラグメンテーションが生じてないか確認するようにしたい。俺の場合、リッピングは直接読み出し用ドライブに吸い出すのではなく、一旦Cドライブなりに吸い出し、FFCで読み出し用HDDに移動するようにしている。こうするとデータがシーケンシャルに記録される。もちろん読み出し用ドライブに相応の連続空き領域があることが前提だが。なお、どんだけエンコード処理が速かろうがデータの読み出し速度を超えるなんてことはほぼありえないので、実際には万単位のフラグメントが発生していても“出力には”さして影響しない。ただしエンコ前のカット編集などの作業でけっこうぐずいたりする。
  • リッピングやエンコード、ダウンロードといった、要するに終わってみるまでファイルサイズがわからないようなデータというのは、あらかじめシーケンシャルに領域を確保しておいてくれない。出力されたデータはほぼ間違いなくフラグメントが発生しているので、別ドライブに移動するなりデグラグかけるなりしておく。
  • ファイルの移動やコピーにはFireFileCopyが便利。
参考

職場に新しいマシンがやってくる ヤァ!ヤァ!ヤァ!

2007-07-18

現在抱えている作業・・・濡れ場工房やらウェブ制作やら各種執筆やら・・・のほか、ウェブ配信用のエロ動画エンコード(たぶんWindowsMedia9)も加わることに。今のマシンだって持ち込みだし、エンコ専用PCがないと生産ノルマ達成は無理とゴネた甲斐あって、念願のDualCoreマシンが導入されることになった。Core 2 Duoは特に反復処理に強いらしいので、MPEG4系エンコードの処理性能向上はかなり期待できるはず。

参考:現在のマシン
CPUPentium4 Prescott 530J (3.0GHz)
メモリDDR2 SDRAM 667MHz 512MB x 2
マザーP5GD1-VM (Intel 915G , ICH6)
グラフィックオンボード (GMA900)
ハードディスクS-ATA 160GB x 1、400GB x 3、USB2.0 400GB x 4
光学ドライブ松下 SW-9585 (DVD Multi)

購入したのはほぼ2年前。S-ATAチャネル1(Dドライブ相当)だけなぜか書き込み転送の速度が極端に遅いという原因不明のトラブルを抱えているほかは、わりと安定稼動中。

ちなみに同じ基本構成のマシンがもう1台自宅にいて、そっちはHDDは400GB×4台とLGのマルチドライブ、カノープスのチューナーカードMTVX2006HFとDVキャプチャカードACEDVが刺さってる。OSはともにXP Pro。もう3台ほどいるけどみな引退間際のCeleronマシンでネットワークドライブ用につなげてるだけ。

現在8MbpsのMPEG2を2MbpsのWMV9へエンコードするのにソースの実時間の約1.5倍掛かっている(TME4、フィルタ設定はほぼデフォルト)。自宅のCeleron(Northwood 2.4GHz)だと4倍から5倍、とてもフィルタなんて使えない状態だったのでハイパースレッドの効果はちゃんとあるようだ。

2009-08-23追記:基本構成が同一のマシンが都合4台あったのだけれども、うち3台が今年の頭までにお亡くなりになっている。直接の死因はともかく、共通してるのはみな放熱に問題があった。530JはPrescottコアでも低クロックの部類であるが、それでも常時バッチエンコぶん回し、な使い方をしていると電源やCPU周辺の電解コンデンサにかなり負担が掛っていたようだ(1台はCPU傍の電解コンデンサ破裂、位置からしてコア電圧のレギュレータ?)。近年のマザーにおいて電源&熱設計がどれだけ重要か思い知らされた次第。なお唯一生存中の末っ子は現在、最小構成に戻し負担の軽いOffice系中心の職場で余生を過ごしている

歓迎:いらっしゃる予定のマシン
CPUCore 2 Duo Conroe E6420 (2.13GHz)
メモリDDR2 SDRAM 667MHz Dual Channel 1GB x 2)
マザー不明 (Intel G33 Express , ICH9)
グラフィックオンボード (GMA3100)
ハードディスクS-ATA2 320GB x 1
光学ドライブ不明(Super Multi)

ぱっと調べた感じではCPUとチップセットともに戦略商品、いわゆるお買い得セットくさいけど、現行環境より2世代新しいぶんパフォーマンスはそれなりに高いのだろう。導入されたらさっそくベンチマーク比較をする予定。こういうのはクリーンインストール状態より実作業環境でやったほうが体感性能の違いがはっきりすると思う。それぞれクリーンインストール環境を用意するほうがめんどくさいだけというのがホンネだが。

OSは使えないXP Homeモデルっぽい。OSレスにしてそのぶんビデオカード増設したいけど納期が延びるし、金出すのは俺じゃないし、どのみちKTH86でProfesssssssssionalに変更するのでどうでもいい。ただスリム筐体のようなので拡張性が期待できない。ひょっとしたらミニタワーに変更なるかも。その場合、CPUがE6600(2.4GHz)になる。マザーボードはG33 Express搭載としか書かれてないけど、何使ってるのかが気になる。価格的にECS G33T-M2あたりとは思うがDOSパラは比較的ASUSが多いのでP5Kという可能性も。

E6420はCPU電圧1.59Vで4GHzなんて例もあるように、オーバークロック耐性はかなり高そう。あまり冷却に神経質にならなくても3GHz程度までなら楽勝か?E6600はロットによって耐性に差がありそうだけど、4.2GHz稼動の例もあるので3GHz程度なら気にすることもないだろう。

余談だけどConroeはPentium Proの系統という記事を見つけた。確かにP6アーキテクチャという意味ではPentiumProがご先祖様にあたる。OSの主流がWindows95でP6マイクロアーキテクチャを活かす環境が整っておらず、また16bit命令の処理効率が悪いことでDOS動作中心だったゲーム系ユーザーには嫌われまくり、アキバにいくと中古のPentiumProマシンが叩き売り状態だった。

つーか業務で使うマシンを当たり前のようにオーバークロックするなよ、オレ。

2007-07-20

当初希望していた機種が販売店側の仕様変更で在庫切れ、かわりにこれを発注したらしい。

熱烈歓迎:いらっしゃるマシン
CPUCore 2 Duo Conroe E6850 (3.00GHz)
メモリDDR2 SDRAM 800MHz Dual Channel 1GB x 2)
マザー不明 (Intel G33 Express , ICH9)
グラフィックオンボード (GMA3100)
ハードディスクS-ATA2 320GB x 1
光学ドライブ不明(Super Multi)

ちょwww何このスペックアップwwwwwwww

クアッドコアを別にすれば、現時点の最上位CPUに不満があろうはずもなく。これならわざわざリスク冒してオーバークロックしないで済むけど、なんとE6850でFSB600x9の5.4GHz稼動に成功した例もあるようだ。ちょっとソソられる。筐体はミニタワーで3.5インチ空きベイは3つ。ちょうど手持ちのS-ATA400GBを3台増設できる。

2007-07-23

お昼に届いた。

wktk:いらっしゃったマシン
CPUCore 2 Duo Conroe E6850 (3.00GHz)
メモリDDR2 SDRAM 800MHz Dual Channel 1GB x 2)
マザーECS G33T-M2 (Intel G33 Express , ICH9)
グラフィックオンボード (GMA3100)
ハードディスクS-ATA2 320GB x 1
光学ドライブLG GSA-H62NWH3(Super Multi)

ズバリ読みどおり、マザーはECS G33T-M2(ちょっと嬉しい)。あんまりエリートって使ったことないのだが評判とかどうなんだろう。とりあえず手持ちのディスクを増設して起動、XP Professssssssionalのインストール開始したがフォーマットだけで2時間かよ、クソッ。

2009-01-13

わけあって上記マシンを使っていた職場とはおさらばしたためPrescott 530J生活に戻っていたのだけど、酷使しすぎたせいかメチャクチャ不安定になってしまったため、会社に借金してニューマシンを導入した。詳しくはお買いものレポで。

CPUCore 2 Quad Yorkfield Q9400 (2.66GHz TDP95W)
メモリDDR2 SDRAM 800MHz Dual Channel 1GB x 2
マザーMSI P45NEO-FI (Intel P45, ICH10)
グラフィックGALAXY GF P95GT/512D3 (GeForce 9500GT GDDR3 512MB)
ハードディスクS-ATA2 500GB x 1 (その後11台増設)
光学ドライブなし(手持ちのLG GSA-4613B装着)

これで不満が出るならあとはもうCore i7しかない。