コンテンツへスキップ

タイムコード計算機

すでにお知らせしているように、動画ビューワを静かにリリースしましたが、実はここに至るための伏線がありました。それがタイムコード計算機です。ソフトウエアを作るにはプログラミングの知識とそれを活用するためのテクニックが必要ですが、初心者が試しに作るのが電卓アプリです。私も入門編としてSwiftで挑戦しました。

実はさらにこれの前に、Pythonを学んでいるときにコマンドラインバージョンのタイムコード電卓を作っていました。その後bash版を作り、そしてSwiftに至っています。ご存知の通りタイムコードは時間計算にフレームの概念が加わっていて、ちょっとだけ工夫が必要です。そして、その先にDropframeという厄介者がいて、ここで力尽きて白旗になることも多いのではないでしょうか。

タイムコードのDropframeは、NTSCカラー放送がはじまった一回めの東京オリンピックの頃に由来します。白黒放送とカラー放送を同じ電波で送って受信してもらうことになったため、新しい問題も出てきました。カラー放送を受信した白黒しか映せないテレビの家庭では、音声にノイズが載ったそうなのです。これを防ぐために0.1%だけ周波数をズラすことでノイズ発生を回避したそうです。厳密には0.1%ではなくて、1000/1001でした。そうこれがDropframeのはじまりで、今でも面倒な存在として残っているのです。

一番初めに作ったPythonの時は30fpsだけで良かったのですが、その後60fpsが登場しました。そして今回Swift版を作るにあたって参考にしたDaVinci Resolveでは、バージョン15以降で突然16や18などのイレギュラーなfpsに加えて、最大で120fpsもサポートするようになっています。ただこれらのたくさんのfps設定の中でDropframeをサポートしなければいけないのは、30DF、60DF、120DFの三つだけです。これら以外に端数のある1000/1001系はありますが、DFをサポートしていないものもあります。

こうやってDropframeをサポートした計算機を作ったことで、タイムコードを表示できる動画ビューワの基礎部分はすでにできていたことになります。ですので、動画ビューワQlipは、DaVinci Resolveの最新版と同じfpsをDropframeをサポートした形で対応できています。動画ビューワを作り始めて再認識した映像技術はいくつかあったので、また折を見てyamaqblogで書いてみたいと思います。コンピュータのことを深く知るためには、自分でコーディングすることがとても効果的なため、若いエンジニアの方も是非経験をされることをお勧めします。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

%d人のブロガーが「いいね」をつけました。