USTREAMは配信側でテレビ的な画像を送り出そうとしても、視聴者のPCの再生能力に結局依存するため、その辺を考えたコーディングをしなければいけない。
テレビのフレームは29.97≒30fpsとなるわけだが、30fpsをUSTREAMで送り出すと視聴者のPCでは1/30秒の頻度で絵を描き再生する。
それを例えば20fpsにおとすことで、視聴者のPCのFLASHプレイヤーは1/20秒で絵を描く。
そちらが負担が少ないだろうか。
そう、1/20秒で描くほうがPC負担は2/3になる。
また、コーデックの設定に「キーフレーム」という項目があるがこれはその秒数ごと(あるいは枚数ごと)に綺麗な絵を送るというタイミングの設定にあたる。
このキーフレームの間隔が短いと頻繁に高いビットレートのデータが送信されてくるので、データのボトルネックがおきやすく、結果、視聴側のPCでのコマとびや配信~サーバー間のボトルネックによるデータの欠落などが起きる。
キーフレームは10秒間隔くらいで設定したほうがよいようだ。
また、USTREAMのコーデックにh.264を使用する場合には「プロファイル」というものを設定するのだが、これもUSTREAMの仕様ではiPhone視聴も想定した形で
Baseline 3.0
を推奨する。
これは1Phone3GSが再生できるプロファイルレベルであり、また標準解像度(SD)で使用するにふさわしいプロファイルレベルである。
これよりさらに綺麗にHDまで再生できるMainプロファイルもあるのだが、現状のUSTREAMサーバーにおいてはMainプロファイルで配信したもののアーカイブが保存の段階で映像が一部壊れる現象が置きやすい。
また、Mainプロファイルは重いので視聴側に負担になりやすく、コマとびの原因にもなりやすい。
僕のお勧め
■ワイド画面での配信の場合
608px×342px
24fps
h.264 Baseline3.0
Keyflame 10sec(240f)
Video 500kbps Audio 96kbps
あたりが無難なようだ。
以上のことを踏まえて配信のコーディングを行うとコマとびやリップシンク(音ズレ)が出にくい配信が出来るようだ。
Facebookページもよろしくお願いします
記事の投稿者
中村 央理雄
株式会社キバンインターナショナルの取締役。代表取締役の西村とKiBANを創業しました。eラーニングの導入後の集合研修やLMSの導入サポートを担当しています。プログラム・デザイン・ネットワークなど、創業時は、いろんなことを経験しましたが、それらのノウハウを全部活かしてeラーニングの導入を支援しています。