探検


【ニコニコ】自動ローカル保存プロクシ NicoCache22

■ このスレッドは過去ログ倉庫に格納されています
2018/01/27(土) 11:31:17.16ID:tBASqTJv0
!extend:default:vvvvv
!extend:default:vvvvv
スレ立て時に↑をコピペして3行で書き込んでください

ニコニコ動画のキャッシュを自動的に保存して
二回目以降はローカルから再生することで
ニコニコ動画の回線に負担をかけることもなく再生できるソフトのスレ。

一度通常画質でローカルに保存すれば
エコノミーモード時間帯でも常に通常画質で再生することがる。

またオミトロンと併用することも可能。

Java ソフトウェアの無料ダウンロード
ttp://java.com/ja/
Java Runtime Environment (JRE) 5.0以上が必要。

■関連サイト
NicoCache_nl wiki
ttp://www58.atwiki.jp/nicocache/
NicoCache_p - パンヤポータル
ttp://homepage2.nifty.com/wanko/pangya/nicocache.htm
NicoCache_u
ttp://www28.atwiki.jp/nicocacheu/
NicoCacheGUI - HB Software Factory の跡地に出来た何か。
ttp://hbsoft.s10.xrea.com/
ASR's Room NicoCache (本家様。公開停止中)
ttp://homepage1.nifty.com/asr/index.html

【ニコニコ】自動ローカル保存プロクシ NicoCache21
https://egg.5ch.net/test/read.cgi/software/1495681255/
VIPQ2_EXTDAT: default:vvvvv:1000:512:----: EXT was configured
2018/04/04(水) 06:18:28.39ID:TlOyYDvX00404
>>152
https://www65.atwiki.jp/nicocachenlwiki/pages/25.html

nlMovieFetcher_110411(v0.6) w/ 180324 o_Oのインストールと同じ。

extensions   nlMovieFetcher.javaをコンパイル
local        上書き
nlFilters     上書き
2018/04/04(水) 19:54:01.62ID:TlOyYDvX00404
Windows環境のみでwebkitを使ってniconicoを見ている場合、 /local/popThumb_FA_my.css に↓を入れておくとちょっぴり文字を見やすいかも?

/* webkit(ChromeやOpera)でフォントをぼかす(アンチエイリアスっぽくする) */
@media screen and (-webkit-min-device-pixel-ratio:0) {
.popThumb_clearfix > *,
#nico_popThumb_container .font10,
#nico_popThumb_container .font12 {
display: inline-block;
transform: rotate(.03deg);
}
}



フィルターのRequireHeaderでUser-Agentをチェックして、OSとブラウザーが一致したときだけ読み込むようにした方が良いかな?
155名無しさん@お腹いっぱい。 (ワイモマー MMd9-l38M)
垢版 |
2018/04/05(木) 03:21:03.33ID:BUrjZNAnM
キャッシュ利かなくなってない?
動画のdmcってhlsだったっけ
2018/04/05(木) 11:09:24.84ID:k+Kf5JGv0
>>155
生放送はHLSですが動画は一つのmp4ファイルにRangeリクエストするだけですよ
そんな恐ろしいことになってる動画があるんですか……?
2018/04/05(木) 15:34:20.63ID:BUrjZNAnM
>>156
dmcの動画が軒並み
ttp://pa90.dmc.nico:2808/hlsvod/ht2_nicovideo/nicovideo-smXXXXXXXX_yyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy/1/ts/1.ts?ht2_nicovideo=aaaaa.bbbbbbbbbbbbbbbbbbbbbbbbbb
みたいなhls(5秒の細切れのts)になってる
IDプレミアム会員/登録時期β、環境はWin8.1/Chrome,Firefoxで確認

ログアウトしたり別のIDで開くとvodの方につながるのでA/Bテスト中か何かかもしれない


とりあえず視聴ページのパラメータからhlsを削除すれば従来の方で動く模様…

[Replace]
Name = DMC HLS無効化
URL = www\.nicovideo\.jp/watch/
Match<
&quot;protocols&quot;:\[&quot;http&quot;,&quot;hls&quot;\],
>
Replace<
&quot;protocols&quot;:[&quot;http&quot;],
>
2018/04/05(木) 16:39:38.93ID:RlYeMyhLr
tsってほぼ無圧縮だよな?
twitterがその仕様(hls)なのは知ってるけどmp4ストリーミングに比べてメリットがあるってことなのか?ないってことなのか
2018/04/05(木) 18:09:10.37ID:oSEfydJc0
他のフィルターから使うためにUser-Agentから得た情報をコメント要素で埋め込むフィルターを作ったんだけど、「RequireHeader =」で()を使ってReplace時に後方参照できるようにして欲しいです。
2018/04/05(木) 20:28:49.37ID:YNxt2f3I0
>>158
コンテナとコーデックのお勉強してほら
tsもmp4もコンテナだから中身がh264とかh265でもオッケー。なんならAVIでもオッケーサイズ変わらん
2018/04/05(木) 20:33:19.12ID:YNxt2f3I0
後思ったけど無圧縮ってなんぞw
2018/04/05(木) 20:37:18.80ID:RlYeMyhLr
ふーん、ts=MPEG-2tsじゃねぇのか
2018/04/05(木) 20:46:14.38ID:YNxt2f3I0
>>162
いやだからあってるよ
MPEG2TSはコンテナだから調べてこいよもうちょっと書き込む前に
mp4とかに入ってるh.264とかMPEG4でも言い訳わかる?
2018/04/05(木) 20:53:51.51ID:YNxt2f3I0
わかりやすい例とかならTS形式で記録するビデオカメラとかのAVCHDは中身はh.265とかだったりとかそのへん探してもメリットあるから採用されてる
2018/04/05(木) 20:54:19.60ID:k+Kf5JGv0
>>157
うわあこっちの環境にも来た.
そのワークアラウンド採用.本体にハードコードします.
2018/04/05(木) 21:26:57.05ID:3IZZVRZO0
まったく関係ないけどyyyyyyyyyyyyyyyyyyyyyyyyyyyyって文字列を見てたらセガサターンを思い出す
2018/04/05(木) 23:15:34.95ID:TbexENVo0
システムメッセージにhttpとhlsの切り替えとか出たんだがなんだこれ
切り替えなきゃキャッシュできないではないか
2018/04/05(木) 23:44:37.60ID:/QhH7+Gda
うちにもきてたけど>>157のおかげで取り急ぎは回避できた
リロードしてもログオフしてもなおらんから何事かと
2018/04/06(金) 00:41:29.46ID:zqaMmgL1M
あ、プレイヤーを右クリックして「視聴方法の切替(hls > http)」でOKですね
ということはこのフラグを常に立ててやるほうがいいのかな
●は削除で

[Replace]
Name = DMC HLS無効化v2
URL = www\.nicovideo\.jp/watch/
Match<
</head>
>
Replace<
<scr●ipt>
localStorage.setItem("DMCSource.isHLSDisabled", "true");
localStorage.setItem("EXPIRES.DMCSource.isHLSDisabled", Date.now()+30*86400000);
</scr●ipt>
</head>
>
2018/04/06(金) 01:07:07.92ID:X7GiQT/b0
nc0138 NicoCache_nl+150304mod+180405mod HTML5+dmc
[機能追加]
★証明書の対象ドメインとMitM対象ドメインが一致しているかを検証してから起動
・TLS MitM設定が完了していない時のメッセージとドキュメントを改善
・HLSを使わないようにするワークアラウンド追加(>157)
・RequireHeaderのキャプチャを$RequireHeader1で取れるように(>159)
[仕様変更]
・enableMitM=true時にMitM機能の有効化に失敗すると起動しないようにした
[不具合修正]
・TLS MitM時にポート番号が正しく解釈されないことがあったのを修正
・リダイレクトを内部で処理する際にドメインが変わったらCookieを送信しないようにした

genCerts.bat実行忘れの事故が多いのでNicoCache側で検証して
更新されていなければ起動しないようにしました.この機能の導入のために
TLS MitM機能が有効ならアップグレード後にgenCerts.batの再実行が必要です.
mitmHostPortRegex設定を廃止して別の設定に変更したのでここを設定していた方は注意.

enableMitm=trueをデフォルトにしようかとも思ったのですがhttpsなdmcを見かけなくなってしまったので保留.

NicoCache_nl的にはdataApiDataの中身を書き換えるほうが自然だったので>>157方式で
ワークアラウンドを実装してしまいましたが,>>169方式でやりたい方は
workaroundNoDisableHLS=true してください.

>>159
HLSの件で急いで出したのでコピペ実装で汚いですが一応動きます.
2018/04/06(金) 02:28:58.62ID:+PDTPiKV0
http://rd.nicovide●.jp/cc/nicotop_sidemenu/video
から
http://www.nicovide●.jp/video_top
へのリダイレクトが行われなくなった。
ビルドを失敗しているのかな?
2018/04/06(金) 03:08:54.83ID:X7GiQT/b0
nc0139 NicoCache_nl+150304mod+180406mod HTML5+dmc
[不具合修正]
・リダイレクトの処理が正しく行われていなかったのを修正(>171)

>>171
すみません.リダイレクトの処理が壊れてました.
2018/04/06(金) 05:28:20.90ID:DNyqioqe0
ZenzaWatchならキャッシュすんのに直接開くとキャッシュしない動画が出てきたなと思ったらhlsか…
解決したけど先行きがこわい話だ
2018/04/06(金) 22:52:04.59ID:fpi/Ra1M0
http://nicocache.jpn.org/src/nc0140.zip
最近のdmc動画を埋め込みプレイヤーで再生してもキャッシュできるようにする拡張作りました
2018/04/06(金) 23:16:29.03ID:+PDTPiKV0
nc0141.txt  nlUser-Agent:HTMLにUser-Agentから得た情報をコメント要素で挿入するフィルター

次のようなコメントをHTMLに挿入して、他のフィルターがUser-Agentを扱いやすいようにします。
<!-- nlConsole:"Windows NT" --><!-- nlBrowser:"Firefox 59.0" -->
<!-- nlUser-Agent:"Windows NT; Firefox 59" -->

User-Agentは偽装ができるため、「処理できなくても問題ない程度のフィルター」をブラウザー判定してから使うケースを想定しています。

アップロード前のファイル名:98_nlUser-Agent.txt


nc0142.txt  nlUser-Agent別にpopThumb_FA_用のCSSを指定するフィルター

「nlUser-Agent」のコメントを使ったフィルターのサンプル。
中身は >>154 の改善版CSSをWindows版の「Google ChromeとOpera」使用時に使うフィルター。

アップロード前のファイル名:popThumb_FA_nlUser-Agent別フィルター.txt
2018/04/07(土) 04:44:28.84ID:0P/YmMMPM
もしかしてHLS一旦引っ込めた?
2018/04/07(土) 11:31:04.07ID:5PCtm/TQ0
>>174
埋め込みだと低画質優先されがちだから高画質優先するスクリプトとか必要そう
2018/04/07(土) 12:42:37.46ID:EUMKB9Ry0
どうもgetflvでis_https=1にするとhttpsの動画が取得できるらしく
smile-pom51.nicovideo.jpがsmile-pom51.sv.nicovideo.jp
smile-pcm42.nicovideo.jpがsmile-pcm42.sv.nicovideo.jp
smile-com42.nicovideo.jpがsmile-com42.sv.nicovideo.jp
smile-fnl31.nicovideo.jpがsmile-cls31.sl.nicovideo.jp
smile-pow32.nicovideo.jpがsmile-pow32.sv.nicovideo.jp
になって*.sv.nicovideo.jp *.sl.nicovideo.jpの追加が必要っぽい?
2018/04/07(土) 16:10:14.88ID:Uh726ilO0
nc0143 NicoCache_nl+150304mod+180407mod HTML5+dmc
[機能追加]
・CORS偽装機能にallow-headersを追加
[不具合修正]
・チャンネルの埋め込みURL変更に対応
・埋め込みプレイヤーの呼び出すwatchapiのURL変更に対応(thx.NicoCache22>>174)
・ThumbWatch APIの呼び出しURL変更に対応&バグ修正
・旧配信システムのhttps用ドメインを追加(thx.NicoCache22>>178)
・過剰なunescapeを削除(thx.NicoCache22>>174)

TLS MitMの対象ドメインを追加したのでgenCerts.batの再実行が(ry

>>174
埋め込みプレイヤーはwatchapiで処理してなかったっけと思ったらURL変わってました.
こちらの修正はnc0140のようにタイトルを取得して設定するものではないので,
本体だけだとキャッシュ開始時はunknown titleになって
後からgetthumbinfoでタイトルが設定されるという動作になります.

putTitleCacheの過剰unescapeも正しそうなので修正しました,が
ファイル名にするときにさらに2回unescapeしており……歴史的事情かな……

>>178
ありがとうございます.追加しました.
# そろそろSubject Alternative Namesの数に上限とかないのか気になってきますが
# Googleが60個つけてるのでそれくらいは大丈夫そう
2018/04/07(土) 16:53:51.77ID:M53ZKNHB0
>>179
更新乙です

メモ
「NicoCacheCA.jar」も更新しないとMitMが有効にならない
2018/04/07(土) 18:18:21.63ID:bHvOXuun0
build.cmd に .java ファイルをドラッグしたときにエラーがあってもすぐに窓が閉じてわかりにくいので、こんな感じにして欲しいです。

@echo off
setlocal
if "%~1"=="" goto USAGE
"%JAVA_HOME%\bin\javac" -Xlint -Xlint:-path -classpath ..;..\NicoCache_nl.jar %*
goto :END
:USAGE
echo Usage: build Extension1.java [Extension2.java ...]
:END
pause
2018/04/07(土) 21:14:50.01ID:Uh726ilO0
>>181
それをやるとコマンドプロンプトを起動してから実行している人の使い勝手が悪くなるのでは
……build.cmdではコンパイルできない拡張があるしそれ以前の問題か

D&Dとの分岐はこの辺を参考にしてやれば良さそうではありますが
https://stackoverflow.com/questions/886848/how-to-make-windows-batch-file-pause-when-double-clicked/12036163
2018/04/08(日) 19:18:34.43ID:pw4KofZ6p
popThumb_FA.txtとpopThumb_FA-https対応案.txtのどちらにもある
[Replace]
Name = popThumb_FA:JS SET
というフィルタを有効にすると、
ttp://ch.nicovideo⚫.jp/portal/animeのpopにエラーが出てしまうのですが、何か忘れているのでしょうか。
無効にするとエラーなく出てきます。
2018/04/08(日) 19:38:49.67ID:4x2flMN60
>>183
今期からチャンネルの埋め込みURLが変更になったけどまだ誰もpopThumb_FAのパッチを公開してないため.
それを無効にするとエラーが出なくなるのはpopThumb_FAが無効化されて179で修正済みのpopThumbが動作するため.

nc0145 自分用に直したやつ置いときますね
2018/04/08(日) 19:52:06.75ID:pw4KofZ6p
>>184
ありがとうございます。
パッチを作成される方、すいませんがよろしくお願いします。
2018/04/08(日) 20:29:13.88ID:6rrSGMdt0
近々に古い動画全部mp4へ変換されるらしいけどcache動作どうなるのかな?
2018/04/08(日) 21:41:25.75ID:4x2flMN60
>>186
現行の処理: 古い動画(swf,flv)のキャッシュがあっても新たにdmcのmp4をキャッシュ (のはず)
今後の修正予定: flvに対してはdmcにもflv2mp4が機能するように修正

swfについてはローカルでmp4に変換する処理を実装していないので
今のところ新たにキャッシュする仕様で放置かなあ

# swf2mp4の実験はしてあって変換方法のメモまでは作ってあるんですが
# ffmpegだけだとまともに変換できないのでgnashを使って
# 1フレームずつ画像に変換する感じの処理になって
# そのまま実装するとストレージを食いつぶすので
# 名前付きパイプを使ってプロセス間通信で云々
2018/04/09(月) 01:14:28.15ID:ZinKor070
すごく……大変そうです……
2018/04/14(土) 15:41:10.89ID:f8UTvox50
クリックで再生・一時停止 ダブルクリックでフルスクリーン のフィルタ動作してますか?
2018/04/14(土) 22:23:35.54ID:I7CXB9ld0
>>189
普通に動いてる(Chromium 65/Firefox 52 on Linux)
2018/04/14(土) 22:29:47.92ID:regO+LF20
>>189
俺も問題なく動いてるよ
firefox59.0.2
2018/04/15(日) 00:33:23.98ID:eFkEzbBR0
>>190
>>191
ありがとうございます。ページを読み込みなおしたらちゃんと動作しました。
2018/04/15(日) 02:21:47.49ID:H5kDw9AQr
ハハァ…
194名無しさん@お腹いっぱい。 (ワッチョイ b367-FHGt)
垢版 |
2018/04/16(月) 08:55:47.70ID:AEFT8gUG0
検索のページでcacheSearch.htmlが読み込まれているとUncaught TypeError: Cannot read property 'reset' of undefined
at mylist2.js?0.1.20:1217というエラーがすごい勢いでカウントされています。

とりあえずmylist2.jsの前に<script charset="utf-8" src="Http://nicovide○.cdn.nimg.jp/web/scripts/common/lazyimage.js?1513055246" ></script>を入れておけばカウントはなくなります。

ちなみにmylist2.jsは301でアドレスがttp://nicovide○.cdn.nimg.jp/web/js/mylist2.js?0.1.20に変わっていました。
2018/04/16(月) 14:52:55.27ID:7rtYvhRUM
旧型式動画の変換が始まっていて今まで非dmcだった動画の一部はデフォルトでdmcの方を読み込むようになった模様
対象の動画では旧型式のキャッシュを持っていてもdmcのキャッシュが始まってしまう
ただしプレイヤーを右クリックして「旧配信システムで視聴する」を選択すれば旧型式の方の動画を参照できる模様

軽く調べた限りではdmcに変換された動画の場合はdmcInfo.import_versionが1か2になる模様
この時dmcInfoをnullにしてしまえば従来通りの挙動になるかな?

#ちょっと乱暴なフィルタなので注意

[Replace]
Name = 自動変換されたdmc動画を参照しない
URL = www\.nicovideo\.jp/watch/
Match<
,&;quot;dmcInfo&;quot;:\{(.+,&;quot;import_version&;quot;:[12])
>
Replace<
,&;quot;dmcInfo&;quot;:null,&;quot;_dmcInfo&;quot;:{$1
>
2018/04/16(月) 17:33:49.32ID:5T1H4slW0
もういい加減原宿のコード削除していいですか
ニコニコに原宿のページを出力させる方法なくなりましたよね?

wrapperのほうはどうなってるのか把握してませんがこっちはまだ生きてるのかね

>>195
flvはいいとしてswfはvideo.smileInfo.urlがfalseだからエラーになってloggerを叩きません?試してはいませんが
2018/04/16(月) 17:36:26.50ID:SENeEQZNr
wrapperとかoldplayerとかどこからダウンロードするのかさえ分からん…(使わないけど
2018/04/16(月) 18:36:07.53ID:PIRPE5KC0
?ods=1
199名無しさん@お腹いっぱい。 (ワッチョイ b367-FHGt)
垢版 |
2018/04/16(月) 19:57:28.76ID:AEFT8gUG0
107_広告削除CSS.txtが有効だと変数Adsがらみのエラーが多発するので、いっそJSごと消してまえってフィルター。

[Replace]
Name = 広告JS削除
URL = www\.nicovideo\.jp
Multi = TRUE
ContentType = text/html
Match<
$NEST(<script,(?://ads\.|(?:new)?\s*Ads\.),</script>)
>
Replace<
>


header_light(9)_100615_custom.txtを使っている場合は、389行目あたりのj_bar_search.val(Ads.get_segment_object().keyword);も変数Adsの影響を受けているので↓みたいに変更。

j_bar_search.val(document.forms.header_search.s.value);
2018/04/17(火) 00:31:35.58ID:Wc+86/P20
あれ?再生後の動画一覧でなくなった?
2018/04/17(火) 18:26:25.14ID:brUx0N1s0
>>200
日付を変え忘れているけど、フィルターを更新しておきました。

nc0148.txt  99-15_thumbInfoFilter(追加):watch_app.jsの更新に対応


>>199
/video_top/?cc_referrer=nicotop_sidemenu のContentTypeがdocumentなので、ContentType = text/htmlはコメントアウト。
ついでにwatchページ用のフィルターを2つ追加。

nc0149.txt  107-2_「107広告削除CSS」によるJSエラー対策.txt
2018/04/17(火) 18:33:27.27ID:brUx0N1s0
watchページ(HTML5)でエラーを確認したフィルターのエラー対策例。


●history lock.txt
Require = //nicovideo\.cdn\.nimg\.jp/uni/js/nicolib\.js
↑フィルターにこれを追加、


●watch:コメントログ拡張(ユーザーID表示など).txt
Require = \.nimg\.jp/(web/)?js/watch/require
↑フィルターにこれを追加、


●mediaInfoFilter.txt
prototype.jsに依存しているので他のフォルダーに移して使わないようにした。


●popThumb_FA watch視聴時にdataコンテナ作成.txt
他のフォルダーに移して使わないようにした。
2018/04/17(火) 19:45:08.06ID:brUx0N1s0
「107広告削除CSS」によるJSエラー対策なのに単独で動く設定だったからnc0149.txtは消しておきました。
2018/04/17(火) 20:00:01.89ID:8i45a1/n0
nlitab ( nl_watch.js ) 生きてますか?
表示崩れるようになりました・・・
2018/04/17(火) 20:38:49.65ID:G3GGeS6K0
>>198
誰宛の返信でしょうか
何も変わりませんでしたしWeb上にも関連情報が見つかりません.

>>189
再現しました.
多分is-beforeInitializeが外れるタイミングが早まって
video要素が生成される前にinitializedに登録した処理が走ってます.
nllib_watch.jsで対処すべき問題.
おそらく >>204 も同原因じゃないかな.
206名無しさん@お腹いっぱい。 (ワッチョイ 63e9-CJEA)
垢版 |
2018/04/17(火) 21:23:43.10ID:NeEmCzx20
おま環なのかもしれないがURLに[ods=1]ってつけないと再生時flv取得できない
2018/04/17(火) 22:00:48.40ID:pE8ZwtJr0
?ods=1は「旧配信システムで視聴する」リンクをクリックした時にURLの後ろにつく文字列ね
2018/04/17(火) 22:58:43.14ID:G3GGeS6K0
>>206-207
把握
原宿の件とは無関係でしたか

これ自動削除を付けるかとか検討するより先に
とりあえずワークアラウンドでswf,flvを持っていたら
dmcをキャッシュしない機能をつけたほうが良さそうですね.
2018/04/18(水) 22:35:52.96ID:jHpluqOb0
キャッシュからの強制プリロードってちゃんと動いてる?
Loading状態で止まっちゃう…。
2018/04/18(水) 23:11:17.54ID:bMIaffYV0
とりまここら試してみよっか?
トラブルシューティング - NicoCache_nl Wiki (新) - アットウィキ
http://www65.atwiki.jp/nicocachenlwiki/pages/18.html
2018/04/19(木) 01:23:27.75ID:JcxByJmJ0
>>209
AndroidのChromeならだいぶ前からそうなってます.PCでは問題なし.
# 原因調査ちゃんとやってない.メモリ不足時の挙動とかが怪しそう
Androidじゃないなら環境情報
2018/04/19(木) 02:55:29.67ID:zT5zm+1d0
>>210-211
ありがとう
PCなんだけど、何か上手くいく動画やLoading表示のまま再生される動画などあるんで、おま環であるならとりあえず色々やってみます。
2018/04/19(木) 20:34:32.67ID:mZMAJkX40
検索でautopager_3col.jsによって付け足されたページで……
 movieFetcherFilterでdocument.getElementById()から取ってきたノードの書き換えってHTMLに反映される?

fetchのリンクのthisからたどって書き換える分にはHTMLに反映されているのだけど……。

movieFetcherFilterでtarget = '_blank'が追加読み込み分のノードには適応されているけど、HTMLには反映されていなかった。

※最初にページを表示した時点で表示されている動画には、普通にtarget="_blank"がつく。

とりあえずGoogle ChromeとMozilla Firefoxで確認。


fetchのリンクのthisからたどる分には大丈夫なので、手元のはparentNode.parentNode.innerHTML.replace()でtarget="_blank"に書き換えて誤動作がないか確認中。
2018/04/20(金) 07:57:35.76ID:oXdscmMW0
>>199
j_bar_search.val(document.forms.header_search.s.value); の部分はページによって異なるので、次のように修正。


var search_word = "";
switch (true) {
case typeof document.forms.header_search !== "undefined":
search_word = document.forms.header_search.s.value;
break;
case typeof document.forms["search_united_form"] !== "undefined":
search_word = document.forms["search_united_form"].s.value;
break;
case typeof document.forms["head_search_form"] !== "undefined":
search_word = document.forms["head_search_form"].s.value;
break;
case typeof document.forms.search_form !== "undefined":
search_word = document.forms.search_form.keyword.value;
break;
}
j_bar_search.val(search_word);
2018/04/20(金) 19:55:13.72ID:oXdscmMW0
>>213
nc0150.7z  個人的に弄ったmovieFetcherFilter 検索でtarget="_blank"がHTMLに適応されないケースへ対策
2018/04/20(金) 20:42:09.54ID:jDR5QUBV0
nc0151 NicoCache_nl+150304mod+180420mod HTML5+dmc
[機能追加]
・swf,flvのsmileキャッシュを持っている場合にdmcをキャッシュしないワークアラウンド
・連続する同じ内容のログ表示を圧縮
[不具合修正]
・WatchVarsの処理を整理してswfからdmcに変換された動画やwatchapiへの対応を改善
[nlFilter]
・nllib_watch.js: NicoCache_nl.watchのonInitialized起動タイミングを調整(>189,204)
・popThumb.js: すべての埋め込みページにhttpsで接続できるようになったので制限を解除
・liveのhttps埋め込みページがまだhttpを参照しているので修正するワークアラウンド

using cacheの表示が多すぎなので表示を圧縮するようにしました.
swf,flvの変換動画へのちゃんとした対応はまた後日……
2018/04/20(金) 23:16:38.10ID:6WLiw/Au0
nc0152でいいのかな?
2018/04/21(土) 01:16:39.67ID:Y+ZSk9P00
そういえばJava10のリリースと同時にJava9がサポート終了となっていますので
Java9をお使いの方は,コンパイル環境(JDK)はともかく実行環境(JRE)は更新しましょう.
あるいはJava8に戻す手もあり.

数日前にjdk-10.0.1がリリースされていましたが文字化けバグは未修正
原因調査して追加のレポート送っておいたので次のリリースで修正されると良いのですが.

>>217
そうですnc0152です.
2018/04/21(土) 02:31:58.80ID:pnzGZaV50
>>216
うp乙です

導入してみましたがマイページのみサムネイル表示がおかしく、ログには
failed to process: null
javax.net.ssl.SSLHandshakeException: Received fatal alert: unknown_ca
が並列していましたが個人環境によるものでしょうか?
2018/04/21(土) 03:11:44.08ID:Y+ZSk9P00
>>219
TLS MitM有効化でCA証明書のブラウザへのインストールに失敗しているんじゃないでしょうか
そのエラーメッセージは「ブラウザがそんなCA知らんと言って来て通信失敗した」なので
2018/04/23(月) 00:23:30.27ID:aIzg1hXP0
なんかsm14015708だけnicocacheで再生できないんですが原因わかる方いませんか
ターミナルにInvalid status code: 404と出てロードしません
222名無しさん@お腹いっぱい。 (ワッチョイ 13e9-R5bN)
垢版 |
2018/04/23(月) 01:32:15.84ID:R713GINP0
>>221
俺はできるからおま環じゃない?
2018/04/23(月) 01:52:17.67ID:aIzg1hXP0
>>222
まじですか
もうちょっといろいろ試してダメだったら改めてテンプレ埋めて質問します
2018/04/23(月) 01:56:21.76ID:zBF+/Plw0
>>221
再現したけど再生できないのNicoCache関係なくない?
2018/04/23(月) 03:40:02.02ID:aIzg1hXP0
>>222, >>224
今改めてやってみたら再生できました
もしかしたらと思いエコノミー強制でやったら同じようにInvalid status code: 404となったので
エコノミー版だけの問題だったようです
かつ、プロキシーバイパスで試してみたら同様にエコノミー版はロードできなかったのでNicocacheの問題ではないようです
お騒がせしました
2018/04/25(水) 15:19:29.58ID:416/FSOX0
http://anime.nico video.jp/
2018/04/28(土) 00:30:13.03ID:AcRJFoBF0
画質自動調整機能,HLS時のみ有効になるようにwatch_app.jsに書かれてるわ……
テスト運用が始まった時期(4/3)もHLSが話題になった>>155と一致している
2018/04/28(土) 00:36:47.51ID:Z5ifSO2/0
全動画キャッシュできなくなるってこと?
2018/04/28(土) 00:42:33.40ID:MzDJ3Lusr
マジ?
2018/04/28(土) 00:42:39.98ID:4ekZviPz0
nc0153.7z  個人的に弄ったnlMovieFetcher nc0150.7z( >>215 )の対策の修正。

autopager_3col.js 対策でinnerHTMLを弄ってtarget="_blank"にする処理が他の検索(チャンネルとか)のinnerHTMLに影響していたので条件式を修正。

innerHTMLだと消える処理があるので、fetchのリンクのthisからたどってtarget="_blankとclickイベントだけ弄るようにした。
※__modifyAnchor()に飛ばしてもHTMLに反映されないので、__modifyAnchor()からrmfunc()をコピーしてきた。
2018/04/28(土) 02:00:42.75ID:AcRJFoBF0
nc0154 MonkeyPatchFilters-180428
主に動画クリックで再生が動画再生前のサムネに反応しない件の修正
他いろいろ修正

>>211の調査を行おうと動かしてみたら再現しなくなってました
2018/04/29(日) 17:41:06.89ID:GJwS9NnV0NIKU
nlMovieFetcherの弄った部分を__modifyAnchor()で行けるようにした。

どうせならStaticNodeListを判定して検索以外にも対応できるようにって考えたけど……

idに/が使われていて、エラー。

考えてみたら、/ってidに使えない文字だったような?

とりあえず-に変えとこ。

というわけで、近いうちにフィルターをup予定。
2018/04/29(日) 22:55:39.53ID:GJwS9NnV0NIKU
ニコレポのようにanchorが文字列ではないは除外するとして……

普通にページを読み込んで表示されている動画の一覧に対して、fetchする動画のリンク(テキスト)をquerySelectorAll()で探してみるとlengthが1になる。

でも、検索のページでautopager_3col.jsで読み込まれたfetchする動画のリンク(テキスト)をquerySelectorAll()で探してみるとlengthが2になる。

他のページでautopager_3col.jsではない追加読み込みの場合は、lengthが1になる。

これはthis.anchorを弄る対象の判定に使えるかも?
2018/04/30(月) 10:21:07.24ID:W42S5OwK0
nc0155.7z  個人的に弄ったnlMovieFetcher id属性に使われていた/を-に変更など

id属性に使われていた「/」を全て「-」に変更。

「__modifyAnchor()」対策で条件式の判定用に検索のフィルターに入れていた「 target="_self"」を不要になったので消しました。

引数「anchor」で「/」が使われているときか「document.querySelectorAll("#" + anchor).length」が1を超えるとき、引数「elem」からたどって「anchor」の対象を探して、見つかれば「this.anchor」を弄るようにしました。
※「__modifyAnchor()」対策。
2018/05/01(火) 11:54:59.61ID:uBsfhzgip
NicoCache関連ファイル置き場 避難所にある
[up500.7z] mylistCountBar:「data-navbar-tab-link」のクリックに対応。

[up406.7z] by ◆awd5z.AlOFJq NicoCache_nl 20170318 120609(up006)+150304(up292)+170318(up405)
のみ入れてmylistCountBarを検索ページで表示しようとしましたが、4列表示で出てきません。
もしよろしければ修正お願いします。
2018/05/01(火) 15:29:12.46ID:qnss8gGP0
>>235
使っているNicoCache_nlが異なるので対応しかねるけど、とりあえず4月3日に手元のファイルを弄っているのをupしておきました。

↓のファイルに置き換えて試してみてください。

nc0156.txt  2018-04-03時点のmylistCountBar.txt
2018/05/01(火) 19:37:57.62ID:Z4e1M+Tgr
「ニコニコ動画」4月末までを予定としていた改善がすべて対応へ―追加機能に関しても順次実施 | インサイド
https://www.inside-games.jp/article/2018/05/01/114427.html
2018/05/01(火) 21:17:11.70ID:uBsfhzgip
>>236
返信ありがとうございます。
[up406.7z] by ◆awd5z.AlOFJq NicoCache_nl 20170318 120609(up006)+150304(up292)+170318(up405) を
NicoCache_nl+150304mod+180420mod HTML5+dmc (based on NicoCache v0.45)に変更して試用してみました。

しかし、4列時の表示は期待通りの結果になりませんでした。期待に沿えずすいません。
2018/05/02(水) 18:30:06.70ID:Ac/Mq4Gr0
nc0157.7z  mylistCountBar:検索の1列と4列で使えなくなっていたのに対応

条件式で幅を持たせられるようにclassを設定する変数をStringからRegExpに変更。

検索の1列表示と4列表示でノードが変わっていたのに対応。
 2列および以前の1列と4列:投稿の要素の親の子孫に数字
 現時点の1列と4列:投稿の要素の親の親の子孫に数字
2018/05/02(水) 19:11:01.90ID:Ac/Mq4Gr0
昔の検索のHTMLソースを確認したら違っていたので訂正

> 2列および以前の1列と4列:投稿の要素の親の子孫に数字
 2列:class「itemTime」の子孫に投稿の要素があるとき、「itemTime」の親の子孫をたどったところに数字
 以前の1列:strong要素を探して投稿と数字をページ内で見つかった順で結びつけ
 ※4列はHTMLソースが見つからなかったけどたぶん1列と同じ

> 現時点の1列と4列:投稿の要素の親の親の子孫に数字
 現時点の1列と4列:class「itemTime」の子孫に投稿の要素があるとき、「itemTime」の親の親の子孫をたどったところに数字
2018/05/02(水) 19:38:09.39ID:xaG0KfL5p
>>239
対応ありがとうございます。
大変助かりました。
本当にありがとうございました!
2018/05/03(木) 11:07:52.68ID:owkB7J1q0
nc0158.txt  個人的に弄ったnlMovieFetcher id属性の修正漏れを修正

fetchリンク追加(動画トップ&new_list) (GINZAバージョン)でid属性の指定(anchor)に/が残っていたので-に修正。
243名無しさん@お腹いっぱい。 (ワッチョイ 1be9-sIcd)
垢版 |
2018/05/08(火) 11:52:37.61ID:7tgebCBP0
キャッシュもしないし読み込みもしないからどうしたのかと思えばついにhls始まったのか。
今のところZenzaWatchで見るなら影響ないけど通常のプレイヤーだともろ影響あるな
244名無しさん@お腹いっぱい。 (ワッチョイ 1be9-sIcd)
垢版 |
2018/05/08(火) 12:03:51.33ID:7tgebCBP0
書き忘れたけど最新版適用済み
あと>>169で解決した。
2018/05/08(火) 18:59:23.00ID:+LmmqcQAd
同じnlでも、Chromeは問題ないけど、Firefoxだと、4回ほどpartical Dwonloadナンチャラって出た後、失敗する。
で、同じ物をChromeで再生するとキャッシュするんだけど、ブラウザが原因か。
数日前まではFFでも問題なかったから、ブラウザ変えてokにたどり着くのに時間かかった。出来ればFF使いたいんだがなぁ
2018/05/08(火) 21:27:18.35ID:iD6ZVJ1b0
>>243-244
>>170>>157 相当のワークアラウンドを入れたつもりですが
バグっとるのやら仕様が変わったのやら……
dataApiData.video.dmcInfo.session_api.protocolsの値をいただければ直せるかもしれません

>>245
Firefox 59.0.2 on Ubuntu 18.04で動いているので環境テンプレ
あと「失敗する」とは具体的にどうなるのか.
キャッシュが完了しないのか,エラーメッセージがコンソールに出るのか,
エラーメッセージがブラウザに出るのか.
2018/05/08(火) 22:04:59.35ID:zqZJujZ3d
>>246
FF(59.0.3 64bit on win10)での失敗は、試しにプロキシ外してみたら、同じエラーで再生出来ないので、FFの問題(58に落としても同じ)。
そして、win8(64)では同じverで再生出来たので、おま環ですね。
ちょっと色々調べてみます。
お騒がせしました。
2018/05/08(火) 22:16:03.27ID:aVe8TxZyr
hlsってキャッシュできるの?
2018/05/08(火) 22:29:22.05ID:iD6ZVJ1b0
>>248
現状は不可
対応する気はあるが技術的課題が存在

hlsのままキャッシュするのは多分簡単
hlsから現状のキャッシュ形式に変換するのも簡単
でも現状のキャッシュ形式からhlsに変換して送り出す,これが難しい
2018/05/08(火) 22:58:31.06ID:aVe8TxZyr
hlsのままキャッシュして
それをそのまま送り出して利用するのじゃいかんのん?
2018/05/09(水) 12:44:13.13ID:0N2he8qu0
10秒ごとにファイル分割されているんだっけか
アホみたいに分割されたファイルがキャッシュされることになりそうだから
連結した状態で保存し、再生時にffmpegとかで分割して使用する、でどうだろうか?
2018/05/09(水) 16:11:30.34ID:lxQzFXCBr
hlsを現在のキャッシュ形式で保存したらhlsを無効化して再生させればいいかな?
将来的にニコニコが全面的にhlsに移行する気であれば問題がある方法かも知れないけど
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況