NicoNicoViewer #7


どうも、mrtskaです。

前回の#6から2ヶ月も経ってしまいました。

ニコニコを見るソフトを作りたいと思ってから1年が経ちました。

1年前は思っていただけですが今では割といい感じに出来ているのではないかなと思ったりしていろいろと感慨深いです。

2ヶ月も空いたというのもあると思いますがbeta0.6のダウンロード数が2月22日時点で443回と割と使っている人はいるんじゃないかなと思ったりしています。

 

さて、今回のアップデートbeta 0.7で結構な更新がありました。

大きな更新として以下の4つ。

  • ウィンドウフルスクリーン
  • コメント投稿&装飾
  • マイリスト連続再生
  • コミュニティ表示

ですかね。他にもコメントを薄くしたりサイズを小さくしたりNG共有レベルに対応したりバグ修正など細かいものはあります。

 

1456074684164

ウィンドウフルスクリーンです。前々から欲しいと言われていた機能の一つです。

私は動画を見る時はだいたいフルスクリーンで鑑賞するのでほとんど使わないと思いますが案外楽に実装できたのでまあ良しとします。

まあ見ての通りUIパーツの使い回しですしおすし。

設定項目でウィンドウフルスクリーンを使うにチェックを入れると使えるようになります。

 

1456075601047

次はコメント投稿&装飾です。

ニコニコと言えばコメントですから早々に実装したいと思っていました。

どうせ実装するなら装飾も出来るようにしたいなということでコメントデコレーターも作成。このコメントデコレーターのUIは結構気に入ってたりします。

Enterキーでもコメント投稿のポップアップは出ます。

 

1456074712746

次はマイリスト連続再生。

公開マイリストからも連続再生出来ます。

これも前から要望が多かった機能ですね。やっつけ感があるのは気のせいだと思いたいです。はい。

Nキーで次の動画、Pキーで前の動画に飛べます。フルスクリーン時でもちゃんと飛べます。

 

1456074734003

最後はコミュニティ表示。ホントに表示機能しか無いです。今のところは。

 

あと今回のアップデートでアップデーターを搭載しました。

次回以降のアップデートではボタン一つで簡単にアップデート出来ると思います。

回線によるとは思いますがテストでは数秒でアップデートは終わりました。

ちゃんと機能するといいな。

 

次回以降のアップデートではそろそろ生放送関連に手を出していきたいと思っています。

 

ではでは!

 

カテゴリー: NicoNicoViewer, WPF | コメントする

Visual Studioでデバッグ中にRuntimeBinderExceptionが出てくる件


タイトル通りです。

Visual StudioでC#のdynamic型を扱っている時に大量にこの例外がスローされるようになりました。

1452171692402

軽くトラウマです・・・

 

VS2013の時も全く同じ現象が起きてその後にVS2015にしたら出なくなったのでそっち系の問題だったのかなと思っていたのですが、そうではないみたいで。

 

で、調べていたらこんなツイートを発見しました。

設定のデバッグの中にあるマイコードのみのチェックを外せば良いみたい?

1452254554674

ところが私の場合チェックが入っていなかったので試しにチェックを入れてみたところ綺麗さっぱり出なくなりました。

 

なんだったんだろうね。

何かの拍子にこのチェックが外れたんでしょうが、思い当たる節は実はあったり。

Releaseビルドの時にVisualStudioでデバッグするとマイコードのみ云々のダイアログが出ることがあります。

多分その辺テキトーにポチポチした時になったんじゃないかなぁと。

 

 

調べてもなかなか見つからなくて苦労したので一応記事にしようかと。

 

ではでは。

カテゴリー: C#, WPF | コメントする

NicoNicoViewer #6


どうも、mrtskaです。

前回のbeta 0.5から1ヶ月もかかってしまいましたが、私は生きてます。

今回は公開マイリストUIと動画UIの改修、実装がメインのアップデートでした。

1450955947909

(表示されている内容は宣伝などではなくあくまで表示の一例です)

 

公開マイリストのUIはこんな感じ。パーツを流用した感がとてもあり(ry

とは言え簡単にパーツの流用が出来るのもWPFの強みですかね。

 

動画UIは投稿者の表示、フルスクリーン時にシークバーを隠すなどの処理を実装しました。

フルスクリーンで上のシークバーが気になっていた方にはうれしいアプデかもしれません。

1450976990940

 

右下のスペースは何に使おうか今のところ考え中です。

何に使うかなぁ・・・

 

というわけで次回のアプデはいつになるか分かりませんが少しずつ生放送関連にも手を出していきたいと思っています。

 

 

ではでは。

 

カテゴリー: 未分類 | 2件のコメント

NicoNicoViewer #5


どうも、mrtskaです。

 

先日NicoNicoViewer beta 0.5をリリースしました。 続きを読む

カテゴリー: 未分類 | 1件のコメント

ニコニコのAPI


どうも、mrtskaです。

NicoNicoViewerを作っている時にAPIが見れればいいなとか思ってたりしたので作ってみました。

ニコニコAPI辞典

まだまだ工事中の部分だらけですが今後どんどん増やしていけたらなと思っています。

 

それから、最近サイトに広告を試験的に挿入することにしました。

このサイトやAPI辞典はスマートフォン用には作ってないのでPCで御覧ください。

余談ですが、私はスマートフォンでもPC版にして表示してみるのが当たり前になってますが皆さんはどうですかね。スマートフォン用のサイトは私には字が大きすぎるのと画面あたりの情報量が少なくスクロール回数が増えるのが嫌なんですよね。

ではでは。

 

 

 

カテゴリー: NicoNicoViewer | コメントする

NicoNicoViewer #4


お久しぶりです。mrtskaです。

前回から大分間が空きましたが生きてます。

これだけ期間が空いたわけですからそれなりに進捗もあるわけですがまずはスクリーンショットから。

1444741563037

 

マイリストですね。はい。内容はテキトーですのでお気になさらず。

#3からとは思えないくらい進化しています。

そもそも新たにUIライブラリとしてMetroRadiance(KancolleViewerのUIを担っているライブラリ)を使用しています。

おかげで見た目がまんまKancolleViewerになってしまった感は否めませんがリスペクトという意味も込めてこのまま行こうと思います。

また、ありとあらゆる場所でKancolleViewerのソースコードを参考にさせていただいています。本当にありがたい限りです。

で、肝心の動画部分ですがこちら。

1444665797540

動画情報部分は右側に(設定で左にすることも出来ます)説明文は下にしています。(黒子かわいい)

実際に使ってみてこれが一番しっくり来たかなって感じですね。

他にも頑張って作ったところがたくさんあるので紹介したいのですがなにせ期間が空きすぎてとてもとても紹介出来る量ではないので少し・・・

1444664163275

これは私が勝手にマイリストエディットモードと読んでいる画面です。

各種マイリスト操作がこの画面で簡単(?)に出来るようになってます。

このくらい形になってくると作っててとても楽しいものです。

 

とりあえず全部スクリーンショット付きで紹介するのもアレなので箇条書きで今現在ある機能を書いてみます。

  • ニコレポ表示(ユーザーが作成したニコレポも表示可能)
  • 自分のニコレポは削除可能
  • マイリスト表示
  • マイリスト編集
  • 視聴履歴表示
  • 動画再生(MP4、FLV、SWF、RTMP)
  • 動画説明文のリンクから動画を再生
  • コメント表示
  • 簡易ツイートボタン
  • とりあえずマイリストに登録

 

くらいですかね。他にもあると思いますが。

RTMP動画は所謂著作権関連が厳しい動画に使われます。

例えばプリズンスクール(http://www.nicovideo.jp/watch/1436498353)とかですね。

動画のどの場所にシークしても時間がかかる動画はおそらくRTMP動画です。

これがなかなか曲者で実装が大変でした・・・

尚、このソフトウェアはNicoNicoViewerでありNicoNicoDownloaderではないのでダウンロード機能を付ける気は全く無いです。

今後付けたい機能としては

  • 動画ページにてマイリスト登録
  • Twitterアカウントでログイン
  • タグ検索
  • マイリストのフィルター表示
  • マイリスト連続再生

などでしょうか。他にもありますがとりあえず。

ある程度ニコニコ動画関連の機能を実装出来てきたらぼちぼち生放送のほうにも手を出していきたいなと思っています。

 

今後どうなるか私も楽しみです。

 

ではでは。

 

 

カテゴリー: NicoNicoViewer, WPF | コメントする

NicoNicoViewer #3


どうも、mrtskaです。

少し間が空きましたが生きてます。はい。

前回の#2からいろいろありました。

まず、使用しているライブラリがコロコロ変わって訳が分からなくなっております・・・

#1でVlcがすごい!などと言ってましたが、動画のダウンロードが間に合わないとクラッシュする、対処法がない、など詰み要素が満載でした・・・

 

じゃあVlcを使わずにどうやって動画を再生するのか。

思いついたのは一つだけ。Flashでした。

ええ、Flashです。あのFlashですよ。

WPFの中にWebBrowserを動かしてその中でFlashを動かして動画の再生はFlashにやってもらう。そういう根端です。

というわけで今現在のスクリーンショットがこちら。

2015年09月05日現在

 

この通り。

 

コメントの描画まで実装出来ました。ダウンロードが終わってないところにシークしても動画は止まりますがクラッシュはしません。

 

やったぜ。

 

また、この時点でフルスクリーンモードを実装しました。

Fキーを押せばフルスクリーン、フルスクリーン時にEscを押せば元通り。

ここまでとても長かった・・・

 

コメントの描画もFlashでやっています。WPFでも実装したのですが、これまた異常に重い&制御出来なかったので仕方なくFlashで実装しました。

コメントの描画処理はニコニコ動画のプレイヤーの処理を参考にさせていただきました。この場を使ってお礼申し上げます。(丸パクリでは無いです)

該当箇所はこちらになります

https://github.com/mrtska/SRNicoNico/blob/master/SRNicoNico/Flash/src/comment/CommentPositioner.as

コメントを描画する位置を決定する処理ですね。私には到底思いつくものではないです・・・

 

以上現状報告でした。次回は何を実装しようかな。

最終的にブラウザを開かなくてもおkなぐらいに機能を実装したいと思っているので(課金要素は除く)数年かかるかもしれないな(笑)

 

ちなみに#3.5はありません。なぜならAPIの説明を載せても最終的に使わなかったりしたからです。GetFlvAPIの説明も書きましたが結局使わなくなりました・・・

 

 

ではでは。

カテゴリー: NicoNicoViewer, WPF | コメントする

NicoNicoViewer #2


どうも、mrtskaです。

さて、#2ということはシークバーがあらかた完成したということですがまずはこちらを。

 

1439180062410

ひだりの二コレポとか検索は見なかったことにしてほしい。

 

どうでしょう。シークバーらしくなってきたと思います。

一応通信速度もでますが動画のダウンロードが終わってると0になります。

 

で、このシークバー、もちろんシークバーとしての機能もありますがこれを見て欲しい。

スクリーンショット 2015-08-10 13.20.46

どうでしょう。

この機能の名前がよく分からないのですがサムネイルプレビュー機能とでも言っておきましょうか。

ニコニコ動画を見てると動画によってはこれが出てきますよね。動画によっては出てきませんが。

sm9なんかは出てきませんね。残念。

ブラウザで動画を見ていてプレビュー機能が動いていたらこれでも動くと思います。楽しい!!!

このサムネイル画像は動画から抽出しているわけではなくニコ動のAPIを利用しているだけですのでそんなに重くないです。

ていうか動画から抽出なんてしたら読込が終わってない場所はこの機能は動きませんし・・・。

調べてて分かったんですがこの機能はyoutubeも同じ実装をしているみたいですね。

APIの説明は後日やるとしてこの後は二コレポ関連の実装をしたいと思ってます。

二コレポって実はAPIが存在しなくて(あるにはあるけど使い方が全く分からない)htmlから抜き出すことになりそうですが・・・

 

今回はここまで。ではでは。

 

カテゴリー: NicoNicoViewer, WPF | コメントする

自サイトがhttpsになりました。


超タイトル通りです。

まあ特に理由は無いんですがさくらインターネットが一年間はただでいいよ!って言うもんですからお言葉に甘えて。

これでどのブラウザでもhttpsに!

 

 

カテゴリー: SSL | タグ: , | コメントする

NicoNicoViewer #1.5


どうも、mrtskaです。

まだシークバー関連が出来ていないのでとりあえず1.5ということで。

今回は使用しているAPIについて書こうかなと思います。

では早速。

GetFlv API(要セッション)

URL:http://flapi.nicovideo.jp/api/getflv/<動画ID>

まあ見ての通りではありますがFlvをGetするAPIです。

とは言っても取得できるのはSWFだったりMP4だったりするんですがね。

このAPIで動画ストリーミングサーバー、コメントサーバー、サブコメントサーバーなどもろもろの情報を取得出来ます。

ニコニコ動画にログインしている状態なら試しにこちらにアクセスしてみるのも良いでしょう。

 

http://flapi.nicovideo.jp/api/getflv/sm9

まあURLエンコードされているので読むにはちょいと厳しいものがありますが・・・

検索API(要セッション)

URL:http://ext.nicovideo.jp/api/search/<search|tag>/<検索ワード>?mode=watch&sort=<f|v|他>&order=<a|d>&page=<1-50>

長いですね・・・検索APIは他にもあるのですが、この検索APIが一番使い勝手が良い気がします。要セッションではありますが。

キーワード検索をしたければsearch、タグ検索をしたければtagにします。

検索ワードはそのままでmodeは無くてもいいんですがこれを入れないとヒットした件数などが取得できません。

sortは文字通りソート方法でfは投稿、vは再生数。他にもありますが長くなるので割愛。

orderも文字通りでこれはaかd。昇順か降順ってことですね。

sort=f&order=dだったら投稿が新しい順に、ということになります。

ちなみにこのsortとorderが指定されていないとエラーを返されます。

pageは1ページに付き32件の検索結果が得られてそれが50ページまで指定できます。

なぜ50ページなのかはよく分かりませんがこのページを見れば察して頂けるかと。

pageを指定しない場合は1ページ目の結果が得られます。

結果はこんな感じで得られます。ニコニコ動画にログインしていれば見れます。

http://ext.nicovideo.jp/api/search/tag/%E5%88%9D%E9%9F%B3?sort=v&order=d&page=1&mode=watch

 

とまあ、だらだらと書いていきましたがとりあえずここまでにしときますかね。

API紹介は2.5あたりがあればやろうかなと思いまーす。

 

ではでは。

シークバーの進捗ダメです。

カテゴリー: NicoNicoViewer, WPF | コメントする