ニコニコ動画のsmile-psuサーバーの仕様について

主な登場人物 @goldenhige ニコニコ動画の動画の仕様をよく調べている人 @kourin つんでれんこの改造版、夏蓮根の作者 @orz_ppp 現在のさきゅばすのメンテナンスをしている人 @MP4_maniac x264 L-SMASH の開発者
14
金の髭 @goldenhige

ちなみにさっきの画像は現在の原宿バージョンで取得したものです。

2012-05-12 04:57:25
ガックシ、 ɘ_ɘ @orz_ppp

@goldenhige sm16077145は通常のHTTPサーバーlighttpdみたいですね。回線速度がプレミアムでも遅かったですが。max-age=3024000 expires Fri, 15 Jun 2012 19:59:12 GMTでキャッシュされました。

2012-05-12 05:04:35
ガックシ、 ɘ_ɘ @orz_ppp

@goldenhige バッファ小さすぎ read+write statistics(bytes) Count 1649, Min 448, Max 69008, Sum 8472278, Avg 5137

2012-05-12 05:06:34
金の髭 @goldenhige

@orz_ppp さっきの動画でしか試してませんが中間地点あたりにシークするとそれ以降の部分が全部キャッシュにMP4として残ってるので、ストリーミングのキャッシュというわけではなさそうなんですよね。

2012-05-12 05:07:25
金の髭 @goldenhige

さっき教えてもらった記事の続きがあったけど・・・うーむ? | ニコニコ動画がFMSを使い出したようです。の補足というかおまけというか。 http://t.co/yxktdUaW

2012-05-12 05:14:05
ガックシ、 ɘ_ɘ @orz_ppp

@goldenhige 比較sm17685613 smile-pow23 9333Kbytes, statistics(bytes) Count 2044, Min 32, Max 65536, Sum 9333707, Avg 4566 バッファ同じ程度だが速い?うーん

2012-05-12 05:15:41
ガックシ、 ɘ_ɘ @orz_ppp

@goldenhige 続き sm17685613は expires Mon, 08 Oct 2012 20:11:19 GMT max-age=12960000 lighttpd でした

2012-05-12 05:18:57
金の髭 @goldenhige

ニコニコ動画研究所さんが記事にしてたけど状況は色々変わってるらしい。 |【ニコ動】 動画配信ホストまとめ 海外配信でFMSの利用開始 : ニコニコ動画研究所 http://t.co/YslXFQ5c

2012-05-12 05:21:33
ガックシ、 ɘ_ɘ @orz_ppp

もしかしてサーバーの名前かフラッグか何かでswf内のスクリプトの制御を変えてる?

2012-05-12 05:22:28
金の髭 @goldenhige

とりあえず「MP4を途中からぶった切って部分的にプログレッシブダウンロード(多分だけど)させる技術ってどういう風に実現してるのだろう」というのが気になった次第。

2012-05-12 05:31:15
金の髭 @goldenhige

まあなんにせよ、ニコ動はそのへんも踏まえてシークバーで読み込み状況がわかるよう、作りをちゃんと考えるべきなのは間違いないですな。

2012-05-12 05:32:34
yaseiP @yaseiP

@goldenhige 地上波みたいなコンテナフォーマットなんでないのん。途中で同期取れるようになってるって奴。

2012-05-12 05:32:52
金の髭 @goldenhige

@yaseiP キャッシュに残ってるのはMP4なので、なんかうまいことキーフレームでカットしてキャッシュする仕組みがあるんだろうと思いつつ、そのへんがどうなっているのかよくわからない感じですね~。

2012-05-12 06:07:14
金の髭 @goldenhige

まあ技術的な話が理解できれば何よりなのだけど、最初に書いたとおり「Youtubeやsmile-psuの方式を端的に表せる用語ってなんだろう?」というのが出発点ですな。

2012-05-12 06:14:22
yaseiP @yaseiP

@goldenhige 詳しくないんでテキトーですが、ファイルのどの位置から読んでもキーフレームがわかるとかそんなコンテナフォーマットなんじゃないのかな。AVIファイルフォーマットとコーデックみたいな関係というか。

2012-05-12 06:18:51
yaseiP @yaseiP

@goldenhige バイナリエディタで適当にぶった切って再生して試せばわかったりしてねw

2012-05-12 06:20:58
ガックシ、 ɘ_ɘ @orz_ppp

@goldenhige お休みになられたと思いますがキーフレームとファイルオフセットの対応が判れば通常のHTTPでジャンプ出来るようです。 http://t.co/asyLLNYH それは分ってるからキーフレームオフセット対応を調べる方法はと聞かれるとorz

2012-05-12 06:35:04
金の髭 @goldenhige

寝るといいつつ最後に「Adobe プログレッシブダウンロード MP4 キーフレーム」でググったらFlash Media Serverの「HTTP Dynamic Streaming」というのが出てきたのだけど、もしかしてこれなんだろうか。 http://t.co/CgCcUcgP

2012-05-12 07:05:37
muken@混沌の良人 @ChaosSoulLover

@goldenhige DASHは最近ISOから仕様書が公開されたばかりなので、まさしくDASHだとは思わない。あと、AdobeがDASH使うぜーってアナウンスしたのは今年の2月。

2012-05-12 07:07:02
muken@混沌の良人 @ChaosSoulLover

@goldenhige ISO Base MediaのMovie Fragment機能だとしても、先頭のmoov boxは特定のコーデック(例えばH.264)では必須。なぜなら再生に必要なデータがそこに格納されてるから。だから途中だけ取り出すことはできなくて、更にmoovが必要

2012-05-12 07:10:47
muken@混沌の良人 @ChaosSoulLover

@goldenhige Flash player上で再生する場合はmoov box無しで出来るはず(例えばXMLにmoovの中身を書いておき、Flash playerにそれを解釈させる等)だが、ローカルで再生出来る場合は、すくなくともmoov boxが頭に付いてるはず。

2012-05-12 07:13:44
muken@混沌の良人 @ChaosSoulLover

@goldenhige とりあえず、Movie Fragmentを使ってるなら、キャッシュとして残っているMP4だかF4Vだか知らんが、それをboxdumperでdumpすればmoof boxとmdat boxのペアの存在が確認出来るはず。

2012-05-12 07:15:33
muken@混沌の良人 @ChaosSoulLover

AdobeのDASHっぽいのを利用したファイルフォーマットは確か、F4Fとか言ったかな。F4Vをベースにうんぬんとかよく知らないが、そんなヤツ。(どんなヤツだよと突っ込むの禁止です)

2012-05-12 07:20:25