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

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

F4F自体はちょっと前からあるけど、多分、DASHの初期草稿を参考にしているんじゃないだろうか。DASHがpublishされたことで、そのままDASH standardの形に移行したりするんじゃないかなぁ。と勝手な妄想をぐだってみる

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

ふむ。F4Fはfragment(ファイル内で分割)だけじゃなくてsegment(ファイルを分割)もサポートするのか。segmentはISO Base Media形式のDASHで定義されてるけど、構造的なものはまだpublishされてなくてdraft上なのだが。

2012-05-12 07:26:31
ロべルト@FFmpeg本出ました @nico_lab

この仕様ってUSTのアーカイブやJustinTVのアーカイブでも使われていて、シークし途中からでも保存ができる

2012-05-12 22:56:28
ロべルト@FFmpeg本出ました @nico_lab

psu鯖を使っている動画IDは時間が立つに連れて新しいIDで使われるようになり、昔のIDは使われなくなる。

2012-05-12 23:01:35
ロべルト@FFmpeg本出ました @nico_lab

まとめました ニコニコ動画のsmile-psuサーバーの仕様について - Togetter http://t.co/83y2YUaX

2012-05-12 23:28:44
Aki[CML-P] @CML_P

@goldenhige どうなんでしょうね? パケット解析していないしAdobeの米国のリリースノートも読んでいないのでなんとも。取りあえずVOD File Packagerを落として1回は試してみますが、パケット解析までする気力は無いのでその辺りは識者にお任せです。私は

2012-05-12 08:50:50
金の髭 @goldenhige

@CML_P @yaseiP 色々ありがとうございます。こちらでもPackagerを試してみましたが、MPC-HC+LAV FiltersならF4Fファイルを再生することができました。

2012-05-13 00:17:57
金の髭 @goldenhige

smile-psuの件の続き。とりあえず http://t.co/E1KdMLVu からVOD File Packagerというのをダウンロードし、MP4ファイルからF4Fファイルを生成してみた。

2012-05-13 00:27:39
金の髭 @goldenhige

出来上がったF4FをL-SMASHのboxdumperで見るとmajor_brandがF4V(Adobeが規定しているMP4の派生コンテナ)で、moof(Movie Fragment Box)でいくつかに区切られた構造になっているようだ。(難しいことはよくわかってませんが)

2012-05-13 00:30:32
金の髭 @goldenhige

F4FファイルはFlavie+FlashPlayer10.3.183.19では再生できなかったけど、MPC-HC+LAV Filtersなら普通に再生できた。

2012-05-13 00:31:09
金の髭 @goldenhige

なんか再生開始にえらく時間がかかった気もするけどPC自体が不調なのでそのせいかもしれない\(^o^)/

2012-05-13 00:33:25
金の髭 @goldenhige

そんでもって、今度はsmile-psuの動画について。smile-psu動画をシークして部分的にダウンロードし、IEのキャッシュに残ったMP4をboxdumperで見てみると、moofボックスは存在しない。なんか普通にMP4をキーフレームでカットしてエクスポートしたような感じ?

2012-05-13 00:37:30
金の髭 @goldenhige

HTTP Dynamic Streamingを試してみたブログ記事 http://t.co/RpdrSRCP によると、FireBugで見るとMP4が分割ダウンロードされているように見えるらしいが、smile-psu視聴時は特に分割してダウンロードしている様子はない。

2012-05-13 00:39:13
金の髭 @goldenhige

そんなわけで、「smile-psuはHTTT Dynamic Streamingを使ってるのだろうか」という件については、どうも違うのではないかというのが現時点での感想。ただ、正直よくわかってない。

2012-05-13 00:42:25
金の髭 @goldenhige

Youtubeもちょっと試してみたけど、キャッシュに残ってるものがなんなのかよくわからなかった。\(^o^)/

2012-05-13 00:45:49
金の髭 @goldenhige

「segment(ファイルを分割)」を使ってるという可能性もあるのかな。うーむ。とりあえずF4Vの仕様書にヒントでもないか見てみるか。 http://t.co/FN9qigSu

2012-05-13 00:52:30
金の髭 @goldenhige

よくわからんけどsmile-psuでキャッシュに残ってるのはisom(ISO Base Media)なファイルだしF4V仕様書のHTTP Streaming Segmentのとこに書かれてるrtmpというBoxも含んでないしやっぱり違う気がする。

2012-05-13 01:12:37
金の髭 @goldenhige

今のところsmile-psuの調査はこのあたりで手詰まりな感じです。また何か気づいたことがあったら調べてみよう・・・。とりあえずこれを続けるならニコ動は読み込み状況がわかるようシークバーを改善してくれい。(´・ω・`)

2012-05-13 01:26:07
ガックシ、 ɘ_ɘ @orz_ppp

@goldenhige smile-psuで2ch本スレにあるように再生が長時間(30分も)止まるという現象は起きたことがあるでしょうか?自分は再生時間が3倍程度で収まっているし(リロードでなく)もう一度再生すれば通常通り再生される(但し再生支援無しではCPU100%)のですが

2012-05-13 01:48:49
金の髭 @goldenhige

@orz_ppp どのレスのことかはちょっとわかりませんでしたが、うちでは特にないですね。全部読み込み終わるまで待ってから再生することが多いのと、あまりシークをしないというのもありますが。読み込み状況がわからないだけであって、読み込み速度は普通とほぼ変わらない印象です。

2012-05-13 02:09:24
金の髭 @goldenhige

@goldenhige @orz_ppp 速度については「ほぼ変わらない」ではなく、「あまり気にしてなかったのでわからない」というほうが正しいですねw あと大きいサイズの動画はそもそも通常モードではなく低画質モードで見たりしてますので差がわかりにくいとも・・・。

2012-05-13 02:13:17
ガックシ、 ɘ_ɘ @orz_ppp

@goldenhige psuかどうか確認してませんが読み込み速度は遅いのと速いのは明らかに差があります。遅いのは最高で再生速度、速いのは最低で再生速度の2倍以上。ここからは推測ですが2chスレの人は遅い動画で再生が止まった時にリロードしてる可能性が。これまずくないですか?

2012-05-13 02:16:44
ガックシ、 ɘ_ɘ @orz_ppp

@goldenhige 「もう一度再生すれば通常通り再生される」は間違いでした(nicocacheオンでやってました)。シークした後は再再生でもブラウザのキャッシュが不完全な箇所でまたニコに読みに行きます(再キャッシュ)sm16619083。もしリロードするとキャッシュ消えますね

2012-05-13 02:40:24
ガックシ、 ɘ_ɘ @orz_ppp

@goldenhige Webで「変な時はリロード」というのは経験則である意味正しいと思いますが、ニコのpsuの場合は自分も損するしサーバー負荷も上がるし誰も得しないと思いますが、これ広め難いですね。(動機的にも) nicocacheを広めたい気がしますが自分は詳しくないですし

2012-05-13 02:46:16