2台のPCで同時に動画再生をするため時刻の差を0.1秒以下にする

デジタル屏風では、2台のPCで動画の再生し、光音競演コンピュータを同期して光らせるデモを準備しています。複数台のPCで音楽や映像を再生させることで、楽しみが大きくなると考えるからです。一般家庭で2台のPCで同時に動画を再生するために、以下の方法でアプローチしています。

①2台のPCの時刻設定の差を0.1秒以下にする

②2台のPCの各々で決められた時刻に動画が正確に再生されるようにする

2台のPCでEthernet経由で互いに通信する別の方法も考えましたが、設定が複雑になると考え、上記の方法を選択しました。

1.2台のPCの時刻設定の差を0.1秒以下にする

Windowsでも0.1秒以下の誤差で時刻設定は可能です。しかし時刻設定に特別な注意を払っていないPCでは、1秒レベルでPCの時刻がずれていることが多いと思います。これは既定値で設定されているマイクロソフトのインタネット時刻サーバに起因するものと考えています。既定値では以下のように設定されていました。

マイクロソフトのインターネット時刻サーバーは、米国にあり日本の一般家庭からアクセスする場合、通信時間がかかり正確な時刻設定ができないと理解しました。PCのコントロールパネルからWindows Timeサービスを開始します。

コマンドプロンプトを管理者モードで開き、「w32tm /query /status」と入力すると、指定したtime.windows.comサーバとの通信状態が表示されます。

timeserverの設定を日本のインタネットマルチフィード社のtimeserver(無償)に変更してみました。コントロールパネルの「日付と時刻」から「インタネット時刻」を選択します。

この設定で「w32tm /query /status]を実行すると、ルート遅延の値が少し少なくなっています(約56ms)。「w32tm /resync」を実行し、「w32tm /stripchart /computer:ntp.jst.mfeed.ad.jp」にて(既定値で1秒間隔)timeserverとの時間差を表示します。時刻あわせはslewモードという徐々に時刻を合わせる方式で、当初は0.7秒ほどあった時刻差が、一晩かけて0.1秒以下に縮まりました。

時刻調整後、2台のPCで「echo %time%」を同時に実行(両手を使って2台のPCにEnterキーを同時に押す)します。複数回実行し、2台のPCの時刻表示が0.1秒以下となることが確認できました。今後検証を繰り返し実行していきます。

上記検証と合わせて、自宅PCをtimeserverにする試みも実施しましたが、microsoft社のtimeserver設定時に比べルート遅延の値が小さくならず、原因不明で断念しました。

Follow me!