更新履歴 [ 全て表示戻す ]
2017.07.01: 参考リンク先消失してたのでサルベージして転載

2009.03.26: 初出


日テレ系列の番組を録画、aviやmp4などに変換していると、どうしても微妙な音ズレに悩まされる事が多々あります。(2時間番組などは、番組終了間際では台詞と口の動きが明らかに(0.2~0.3秒くらい)ズレているのが分かる)

これを解決する有効な手段はないものかとネット上を検索していて、非常に為になるページを見つけましたので紹介します。

3種の音ズレ

誠に勝手ながら、該当ページの「地デジ放送で発生する各種音ズレ」部分を転載させて頂きますm(_ _)m

今のところ、地デジ.tsを編集する際に発生する音ズレには次の3つがあります。

(1)各局共通の音ズレ
 単純に音声の位置ズレです。
 どこか一カ所で映像と音声を同期させれば、全編にわたって同期した問題ない動画となります。

(2)NHK・日テレのみの微妙なズレ
 NHKと日テレ系列のみで発生するわずかな音ズレのことです。
 映像と音声の長さが実際は微妙に異なるので、2時間で約0.3秒ほどズレます。
 MPEG2である間はタイムスタンプに従って処理されますのでズレません。
 2時間ドラマなんかを録画してみると、最初は問題なくても最後には口パクと台詞のズレが非常に気になるはず。

(3)日テレのみでおこる音声ch変更時の音ズレ
 従来どおりにDGIndexやTSDemuxで分離した音声をそのまま使った場合、
 日テレ系列の番組でだけ音声ch変更時に0.05~0.1秒ほど音がズレる現象です。
 日テレ系列局でのモノラル番組や5.1ch番組を編集すると顕著です。
  ↑
 aacsplitの登場によって、モノラルないし5.1chの音声のみを扱うことが可能になったので多分解決される問題です。
 *でも、日テレの番組には(2)の微妙な音ズレ問題がつきまとうので結局は音声に手を加えることが必要です。

  

3種の音ズレ:http://park.geocities.jp/ts_encode09/02.html (リンク切れ)

さすがに「対処法」までの転載は控えます。
音ズレに悩んでいる方は是非リンク先へ飛んで対処法まで確認してください。

「BonTsDemuxの「Video Frame補完」だけでは音ズレが解消しない場合」の対処方法ってのが全く知らないテクニックだったので非常に参考になりました。

5.1ch番組の編集方法

上記ページをTOPまで戻ると、5.1ch音声の番組を編集する方法も紹介されています。
地デジ.ts→AVI形式へのエンコードをごく簡単に
http://park.geocities.jp/ts_encode09/index.html (リンク切れ)
≫・5.1ch番組の編集について
 http://park.geocities.jp/ts_encode09/04.html (リンク切れ)

私的な結論は「BonTsDemux(1.10 mod 10)の「Video Frame補完」を使用する」だったので、こちらの紹介している方法のうち一つと全く一緒だったのですが、それ以外の方法も提示してあり私も非常に参考になります。

NHK番組の音ズレ

NHKの番組をソースに動画変換を行うと様々な音ズレが発生する場合があります。

MurdocCutterやHDTVtoMPEG2で番組冒頭の数秒をカットすると収まる場合が多いようです(番組開始直後から変換を始めると音ズレする事が多い)

また、BonTsDemuxを利用する場合は、音声遅延補正を使うとその分だけ音ズレする場合が多いです。補正は使わない方が無難。

ステレオ/モノラルが激しく切り替わるニュース番組などは別の問題。私の守備範囲から外れているので対処方法は分かりません(^_^;

追記:リンク先消失につき、サルベージ&転載

geocities 消滅につき リンク先が消えてしまったので、色々探しまわってサルベージを行い、以下に転載しました (01.html にあった画像はサルベージできなかった)

スポンサー リンク

http://park.geocities.jp/ts_encode09/index.html

地デジ.ts→AVI形式へのエンコードをごく簡単に

・通常の本編ステレオの場合
http://park.geocities.jp/ts_encode09/01.html

・地デジ.tsの3種類の音ズレについて
http://park.geocities.jp/ts_encode09/02.html

・aacsplitを用いた5.1ch音声ファイルの扱いについて
http://park.geocities.jp/ts_encode09/03.html

・5.1ch番組の編集について
http://park.geocities.jp/ts_encode09/04.html

・BonDriverを用いたHDUS使用について
http://park.geocities.jp/ts_encode09/1_01.html

http://park.geocities.jp/ts_encode09/01.html

※画像がサルベージできなかった&かなり長文なので、転載は後回し
(このページの最後にあり)

http://park.geocities.jp/ts_encode09/02.html

今のところ、地デジ.tsを編集する際に発生する音ズレには次の3つがあります。

(1)各局共通の音ズレ
 単純に音声の位置ズレです。
 どこか一カ所で映像と音声を同期させれば、全編にわたって同期した問題ない動画となります。

(2)NHK・日テレのみの微妙なズレ
 NHKと日テレ系列のみで発生するわずかな音ズレのことです。
 映像と音声の長さが実際は微妙に異なるので、2時間で約0.3秒ほどズレます。
 MPEG2である間はタイムスタンプに従って処理されますのでズレません。
 2時間ドラマなんかを録画してみると、最初は問題なくても最後には口パクと台詞のズレが非常に気になるはず。

(3)日テレのみでおこる音声ch変更時の音ズレ
 従来どおりにDGIndexやTSDemuxで分離した音声をそのまま使った場合、
 日テレ系列の番組でだけ音声ch変更時に0.05~0.1秒ほど音がズレる現象です。
 日テレ系列局でのモノラル番組や5.1ch番組を編集すると顕著です。
  ↑
 aacsplitの登場によって、モノラルないし5.1chの音声のみを扱うことが可能になったので
 多分解決される問題です。
 *でも、日テレの番組には(2)の微妙な音ズレ問題がつきまとうので結局は音声に手を加えることが必要です。


>>(1)の対処法
単純に音声の位置を調整するだけです。
・AviUtlの「設定」→「音声の位置調整」で音の位置をずらす。
・Avisynthで DelayAudio(-0.123) など。


>>(2)(3)の対処法
今は BonTsDemux 1.10 mod10 がありますので、
これでtsファイルを読み込んで「Video Frame補完」にチェックするだけで大丈夫。

BonTsDemux 1.10 mod10 でもダメは場合は
・本編の音声を伸張する
・TS初心者 勉強会スレ 7頁目の >>4 >> 30 両氏の方法を使う。

これで音声と映像の長さはピッタリ。


***TS初心者 勉強会スレ 7頁目の >>4 >>30 両氏の方法***

CM1+本編1+CM2+本編2+CM3+本編3+CM4 というTSファイルがあるとします。

まずはtsファイルをDGIndexで読み込んで
「CM1+本編1+CM2」となるように範囲選択・demuxして、01.d2v と 01 delay***ms.aac を得る。
AAC音声のディレイを解消しつつwavとして扱うためにFakeAacWavを用いて音声をwavに変換し、01.d2vと01.wavを得る。

続いて「CM2+本編2+CM3」となるように範囲選択→demuxで02.d2vと02.aac
→FakeAacWav→02.d2vと02.wav。

同様に「CM3+本編3+CM4」でdemux→FakeAacWav→03.d2vと03.wav。


avisynthで

video1 = mpeg2source("01.d2v")
audio1 = wavSource("01.wav")
video2 = mpeg2source("02.d2v")
audio2 = wavSource("02.wav")
video3 = mpeg2source("03.d2v")
audio3 = wavSource("03.wav")

AudioDub(video1, audio1)++AudioDub(video2, audio2)++AudioDub(video3, audio3)

このavsファイルを元に不要部分をカット編集して、
映像を出力(エンコード)、音声をwav出力→FakeAacWavでaacへ戻す。
最後に映像と音声を結合すると綺麗に一致しているはずです。

90分のモノラル番組で試してみましたが、見事に映像と音声が一致していました。
手間は掛かりますが、従来の方法ではうまくいかない時にどうぞ。


TS初心者 勉強会スレ 7頁目の >>4 >>30 両氏に感謝いたします。

http://park.geocities.jp/ts_encode09/04.html

5.1ch番組の編集について


(0)5.1chをあきらめる

BonTsDemux 1.10 mod 10を使って5.1ch→2chにしてしまえば
5.1ch特有の扱いにくさもなくなり、編集は格段に楽になります。
実は一番賢明な道かもしれない。

(1)TSSplitterで分割

●「番組情報で分割する」→ダメ
どうしても後番組の映像が残る。
これと「音声チャンネル切替で分割」を組み合わせてもダメ

●「番組情報およびPMT情報で分割する」でストレートにうまくいくことも。
でも、前番組の音声が入っていたり、後番組の映像が入っていたりするので
DGIndexでdemuxする際に範囲指定することもしばしば。

○「番組情報およびPMT情報で分割する」&「音声チャンネル切替で分割」(SEPA1)

これで5.1ch本編のみのtsファイルが作成されるので、あとはお好みで。
ウチではDGIndex→出てきたaacをそのまま使う。映像は別途エンコード。
・・・mp4boxで音声ディレイを指定しつつmuxしてもmp4のsplitterによっては
ディレイを認識してくれないこともあるので、mkvにしてます。

(2)普通にDGIndexでdemux
a)aacsplitを使って音声を分割
音声にdropが1でもあるとaacsplitがエラーで止まるのに注意。

b)FAAD 改造版 0.4で音声をwav変換&分割&ディレイ解消
多少dropがあっても気合いで音声を1ch/2ch/5.1ch部分に分割してくれる。
でも、dropが多いor気合いが足りないと途中で止まって変換不可。

(3)BonTsDemux 1.10 mod 10 を使う

「Video Frame補完」はもちろんチェック。
音声出力を「強制5.1ch(Split)」で各チャンネルのwav合計6個を得る。
そのウチの1つと映像部分のm2vで編集。音声をwav出力。
また別のwavとm2vを結合し、先ほどの編集結果を読み込む→wav出力。
これを6個のwav全部について行って、本編部分の音声6個を得る。
で、6個のwavをBeLightあたりで結合→aacなりac3なりにエンコード。

手間はかかるけれど、dropが多発している5.1ch番組を音ズレなく編集するにはコレが1番。


北京五輪の開会式(4時間15分/5.1ch/NHK)で実験してみました。
ややdropありの状態です。

録画ファイル全体
pid=0x0100, total=140101238, drop= 49, scrambling=0, biterror=0
pid=0x0110, total= 3676161, drop= 2, scrambling=0, biterror=0

本編部分だけTSSplitterで抜き出した場合
pid=0x0100, total=137191190, drop= 48, scrambling=0, biterror=0
pid=0x0110, total= 3644163, drop= 2, scrambling=0, biterror=0


(1)TSSplitterで分割
○「番組情報およびPMT情報で分割する」&「音声チャンネル切替で分割」(SEPA1)

これで出てきたtsファイルをDGIndex→d2v+aac
aacをディレイ設定して映像と結合したところ、
最初は同期しているものの、後に行くほど音ズレが生じてきます。


(2)普通にDGIndexでdemux
a)aacsplitを使って音声を分割
音声にdropありなので、aacsplitは途中で止まります。

b)FAAD 改造版 0.4で音声をwav変換&分割&ディレイ解消
8.20GBの巨大wavが作成される。
このままだとaacには変換できないのでWaveSwapperにてチャンネル順変更・2GBごとに分割。
2GB*4+200MB、合計5個のwavをBeLightにてAC3に変換し「copy /b」で単純に結合。
映像とmux。
最初から最後まで映像と音声は同期していました。
・・・ただ、FAADでディレイ解消したはずなのに500-600msほどの音声の位置ズレあり。
muxするのに4分ほど必要なので確認が面倒。


(3)BonTsDemux 1.10 mod 10 を使う
「Video Frame補完」+「強制5.1ch(Split)」

事前の準備に手間はかかるものの完璧。
映像と音声をmuxしても最初から最後まで同期しています。
長時間のNHK・日テレ5.1ch番組はこれが一番かと。


ほかにもっとスマートな方法があるかもしれませんが、何かの参考にでも。

http://park.geocities.jp/ts_encode09/01.html

※画像はサルベージできませんでした。

地デジ.ts→AVI形式へのエンコード

はじめに

今回使用させていただくソフトウェアは以下の5つです。
すべて無料で公開されています。

DGIndex(http://neuron2.net/dgmpgdec/dgmpgdec.html)
WinAMP(http://www.winamp.com/)
AviUtl(http://ruriruri.zone.ne.jp/aviutl/)
XviD(http://www.xvidmovies.com/codec/)
Lame(http://mitiok.ma.cx/)

 

 

まずはDGIndexを起動して、tsファイルを放り込みます。

http://park.geocities.jp/ts_encode09/pic/001.png
こんな画面が出たら、右下の「OK」ボタンを押してください。

http://park.geocities.jp/ts_encode09/pic/002.png
↑こんな警告が出ることが多いですが、気にせずOKボタン。

次にDGIndexのStream→Detect PIDs:PAT/PMTをクリック
http://park.geocities.jp/ts_encode09/pic/003.png

MPEG2 Video on PID ~をクリックしてから、下の方にある「Set Video」ボタンを押します。
http://park.geocities.jp/ts_encode09/pic/004.png

AAC Audio on PID ~をクリックしてから、下の方にある「Set Audio」ボタンを押します。

そして、右の方にある「Done」ボタン。
http://park.geocities.jp/ts_encode09/pic/005.png

これで分離する映像と音声の指定が終わりました。


次は実際に映像と音声を分離する作業です。

DGIndexのFile→Save Projectを選びます。
http://park.geocities.jp/ts_encode09/pic/006.png

適当にファイル名をつけてから、「保存」ボタンを押します。

ここでは 01 と名付けます。
http://park.geocities.jp/ts_encode09/pic/007.png

あとはじっと待っていればDemux(映像と音声の分離)が終わります。

こんな画面が出たら終了
http://park.geocities.jp/ts_encode09/pic/008.png

こうして、できたファイルが

・01.d2v

・01 AAC PID 110 DELAY -410ms.aac (DELY~以下の数字は環境によって違います)

以上の2つです。
http://park.geocities.jp/ts_encode09/pic/009.png

ただ、たまに普通にdemuxしようとしてもなぜかaacではなくMPEG Audio が出力されて

しかも無音だったりします。

こんな感じ。
http://park.geocities.jp/ts_encode09/pic/010.png

こんなときはあわてずにDGIndexでDemuxする先頭位置を変えてみます。

画面左下の赤い部分をドラッグしてやや右にスライドさせたら、

画面右下の青い部分のボタンを押します。

先頭部分の指定です。
http://park.geocities.jp/ts_encode09/pic/011.png

こうやって先頭を指定してから、さきほどと同じようにDemuxすれば

ちゃんとaacファイルが出力されるかと思います。


次は音声を扱いやすいWAV形式に変換します。

WinAMP(Ver.5以降)を起動した後,PlayListにさきほど出力されたaacファイルを放り込みます。
http://park.geocities.jp/ts_encode09/pic/012.png

PlayListのファイル名を右クリックして、送る→フォーマット変換をクリックします。

英語版WinAMPだとsend→Convet to .. です。
http://park.geocities.jp/ts_encode09/pic/013.png

赤丸の部分「古いファイル名とパスを使用」にチェックを入れた後、

青丸の部分をクリックして Wave Encoder を選択します。
http://park.geocities.jp/ts_encode09/pic/014.png

赤い部分「フォーマット変更」にチェックが入っているのを確認した後、

青い部分「フォーマット選択」をクリックして

PCM 48.000kHz 16ビット ステレオ になるように選択します。
http://park.geocities.jp/ts_encode09/pic/015.png

最後に右下のOKボタンを押してフォーマット変換です。
http://park.geocities.jp/ts_encode09/pic/016.png

こんなかんじにwavファイルができあがります。
http://park.geocities.jp/ts_encode09/pic/017.png


最後にAviUtlを用いてのエンコードです。

まずはファイル→環境設定→システムの設定を選びます。
http://park.geocities.jp/ts_encode09/pic/018.png

次の画像のように

最大画像サイズを幅:1920 高さ:1088 と入力。

次にリサイズ設定の解像度リストの末尾に ,1280x720 と入力します。

1280の前の , を忘れないように注意してください。
http://park.geocities.jp/ts_encode09/pic/019.png

設定を反映させるため、一度AviUtlを終了させます。

再びAviUtlを起動させて、01.d2vを放り込みます。
http://park.geocities.jp/ts_encode09/pic/020.png

次に音声部分の読み込みです。

さきほどWinAMPを使って変換したwavを読み込みます。

AviUtlのファイル→音声読み込みをクリックします。
http://park.geocities.jp/ts_encode09/pic/021.png

そして 01 AAC PID 110 DELAY -410ms.WAV を選択して右の方の「開く」ボタンを押します。
http://park.geocities.jp/ts_encode09/pic/022.png

ここで音声と映像との同期をとります。

AviUtlの設定→音声の位置調整の設定を選んで...
http://park.geocities.jp/ts_encode09/pic/023.png

出てきたスライダーを動かして、-400msに合わせた後、

赤い部分にチェックを入れます。
http://park.geocities.jp/ts_encode09/pic/024.png

AviUtl標準の音声の位置調整では33ms単位での調整となります。

今回の音声は 01 AAC PID 110 DELAY -410ms.WAV とディレイ値が-410msですので

これに近い-400msを設定したわけです。

念のため、ちゃんと同期がとれているか確認したい場合は

AviUtlの表示→再生ウィンドウの表示を選んで
http://park.geocities.jp/ts_encode09/pic/025.png

出現した再生ウィンドウの再生ボタン(赤い部分)を押してみてください。

ご自身の耳で確認できます。
http://park.geocities.jp/ts_encode09/pic/026.png

次はCMカット(不要部分の削除)です。

AviUtl左下の赤丸で囲った部分にあるスライダーを動かして

不要部分の先頭にきたら、右下の青で囲ったボタンを押します。
http://park.geocities.jp/ts_encode09/pic/027.png

再び画面左下の赤丸で囲った部分にあるスライダーを動かして、

不要部分の末尾にきたら、右下の青で囲った部分のボタンを押します。

(さきほどのボタンの右側のボタンです。)
http://park.geocities.jp/ts_encode09/pic/028.png

スライダーをマウスで動かしていては微調整が難しいですから、キーボードを用います。

←→キーで1フレームずつ、PageUp・PageDownキーで10フレームほど前後にスライダーを動かせます。

そうして不要部分の先端と末尾を指定したら、

AviUtlの編集→選択範囲のフレームを削除 をクリックすると

さきほど選択した不要部分が削除されます。
http://park.geocities.jp/ts_encode09/pic/029.png

この作業を繰り返して、先頭部分の先番組や途中のCM、末尾の次番組等をカットしていきます。

次にリサイズします。

AviUtlの設定→クリッピング&リサイズの設定 を選びます。
http://park.geocities.jp/ts_encode09/pic/030.png

ハイビジョン制作の番組をできるだけ高解像感のまま残したいなら 1280x720 でいいかと思います。

赤丸の部分をクリックして 1280x720 を選んだ後、右上の青い部分にチェックします。
http://park.geocities.jp/ts_encode09/pic/031.png

念のため、今まで行ってきた編集作業を保存しておきます。

ファイル→編集プロジェクトの保存を選択して、好きな名前で保存してください。
http://park.geocities.jp/ts_encode09/pic/032.png

いよいよ最後にAVI出力です。

ファイル→AVI出力 を選びます。
http://park.geocities.jp/ts_encode09/pic/033.png

ファイル名に好きな名前を入れてください。
http://park.geocities.jp/ts_encode09/pic/034.png

まずはビデオ設定です。

ここではXvidのSingle-pass QB5.5を選んでいます。
http://park.geocities.jp/ts_encode09/pic/035.png
http://park.geocities.jp/ts_encode09/pic/036.png

次にオーディオ設定です。

ここではLameを用いたMPEG Layer-3の192kHz ステレオ音声を選んでいます。
http://park.geocities.jp/ts_encode09/pic/037.png
http://park.geocities.jp/ts_encode09/pic/038.png

最後に「保存」ボタンを押して終了です。
http://park.geocities.jp/ts_encode09/pic/039.png

おつかれさまでした。

以上が地デジ.tsからAVI形式へエンコードする基本的な方法です。