2009/06/20

パーマリンク 18:28:18, 著者: Charlie

TSから音声をずれないように抽出するには

D-VHSからi-link経由でキャプチャしたものや、Friio, PT1等の機器の出力はMPEGのTS(Transport Stream)形式というものになっています。TSを素材にしてエンコすると、音ずれの問題に悩むことが多いようです。 TSから音声ストリームを抽出する方法は色々ありますが、一体どの方法だと音ずれが起きないのでしょう? 実験してみました。

...

実験対象

TSDemux
入力のTSファイルと出力のprefixを指定すると、m2vと音声ストリームに分解して出力します。途中で音声形式が切り替わるような場合は、自動的に連番が振られます。
出力の音声ストリームのファイル名には「-100ms」のような「ずれ」の時間が記録されているので、今回の実験ではこの分をSoundEngineを使って手動でずらしました。
TSDemuxの処理フロー

■ TSDemuxの処理フロー

CapDVHS
入力のTSファイルと出力のPS(Program Stream)ファイル、抽出するPIDを指定すると、映像と音声だけのPSファイルを出力します。
PSファイルのままでは比較できないので、TMPEGEncのMPEGツールを使って分離しましました。
CapDVHSの処理フロー

■ CapDVHSの処理フロー

Media Player Classic
「ユーティリティ」メニューの「DSMコンバータ」に入力のTSファイルをドロップすると、ストリームのリストが表示されるので、音声 (Audio) を右クリックして「分離する」メニューを選択、出力先を指定すると音声ストリームだけを抽出できます。
MPCの処理フロー

■ MPCの処理フロー

BonTSDemux
入力のTSファイルと音声出力ファイルを指定して、音声ストリームを抽出できます。AACはWAVに変換して出力可能。
「映像と音声の開始位置を同期させる」オプションがあるので、onとoffのどちらも試しました。
BonTSDemuxの処理フロー

■ BonTSDemuxの処理フロー

音ずれしなかったのはTSDemuxとCapDVHS

今回調査した中では、TSDemuxを使った場合とCapDVHSを使った場合の2つのケースが映像とほぼ正確に同期していました(約30ms, 1フレーム分のずれはあったが、一般には知覚できない)。

■ 音声抽出の結果 (数値は秒)
上から順に、TSDemux, CapDVHS, MPC, BonTSDemux (同期off), BonTSDemux (同期on)

音声抽出の結果

TSDemuxを基準として、CapDVHSは-30ms, MPCとBonTSDemux (同期off)は600ms, BonTSDemux (同期on)は400msのずれ。TSDemuxのずれ数値は-437ms。

BonTSDemuxは映像と同期をとるオプションを付けても、ずれが意識できないまでには解消されませんでした。

結論

CapDVHSは補正された出力が得られるのでTSDemuxを使うより楽ですが、稀に処理できないファイルがあるので、その場合はTSDemuxを使うとよいでしょう。
TSDemux自体は「ずれ」の時間をファイル名に書き出すだけで補正はしてくれないので、タイムライン編集をする前に、今回の実験のように音声編集ツールで補正する必要があります。

カテゴリ: DTV
パーマリンクパーマリンク

この記事へのトラックバック アドレス

Trackback URL (right click and copy shortcut/link location)

フィードバックはまだありません...

コメントを残す


Your email address will not be revealed on this site.
(改行が自動で <br /> になります)
(For my next comment on this site)
(Allow users to contact me through a message form -- Your email will not be revealed!)
3月 2024
 << <   > >>
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31            

リンク

最近の記事

アーカイブ

検索

XMLフィード

open source blog software