【ニコニコ】自動ローカル保存プロクシ NicoCache24
■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。 (ワッチョイW b7b1-LHdB)
垢版 |
2023/01/30(月) 09:26:28.79ID:wmd15AiH0
!extend:on:vvvvv:1000:512
!extend:on:vvvvv:1000:512
スレ立て時に↑をコピペして3行で書き込んでください
■テンプレートはこちらからコピー:https://www65.atwiki.jp/nicocachenlwiki/pages/23.html

ニコニコ動画のキャッシュを自動的に保存して
二回目以降はローカルから再生することで
ニコニコ動画の回線に負担をかけることもなく再生できるソフトのスレ。
ページにスクリプトを埋め込んで実行したり、見た目を書き換えることもできる。

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

Java で作られており Windows / MacOSX / Linux / Solarisで動作する。
https://adoptopenjdk.net/

■関連サイト
NicoCache_nl wiki (新)
ttps://www65.atwiki.jp/nicocachenlwiki/

■前スレ
【ニコニコ】自動ローカル保存プロクシ NicoCache23
https://egg.5ch.net/test/read.cgi/software/1541715924/
VIPQ2_EXTDAT: default:vvvvv:1000:512:: EXT was configured
0002名無しさん@お腹いっぱい。 (ワッチョイW e3b1-LHdB)
垢版 |
2023/01/30(月) 09:28:43.56ID:wmd15AiH0
■NicoCache関連ファイル置き場 避難所2
ttp://nicocache.jpn.org/

《NicoCache_nl+mod+mod》
■NicoCache_nlのトラブルシューティング
NicoCache_nlについて質問する前に確認すべき事項のまとめ
ttps://www65.atwiki.jp/nicocachenlwiki/pages/18.html

■GUI起動について
Readme.txtの「GUI起動対応」参照
ショートカットなどでコンソールに接続せずにNicoCache_nl.jarを起動

《NicoCache全般》

■繋がらない時は
ブラウザのキャッシュ削除、ブラウザ再起動、NicoCache再起動、PC再起動
アンチウイルスソフト一時無効を試す

NicoCacheGUI.bat起動してもNicoCacheが起動しない場合はNicoCacheGUI.property削除と
繋がりにくい、挙動がおかしい場合のthcache.bin削除を試してみること。

特にノートンはファイアウォール等の設定を見直す必要があるらしい
0003名無しさん@お腹いっぱい。 (ワッチョイW e3b1-LHdB)
垢版 |
2023/01/30(月) 09:29:09.87ID:wmd15AiH0
■質問する場合は
今使っているものが最新日付の差分かどうか確認してください。
また、スレッドの過去ログを検索してみてください。同様の問題が報告されているかもしれません。

それでも解決しない場合は、フィルタ・拡張を一つずつ外してみて原因となっているモノの特定をお願いします。
また、最低限動作環境は書いてください。特にJavaScript系の不具合はブラウザ依存の事も多いので、再現確認すらできない事もあります。
開発者はすべてのフィルタ・拡張を入れているわけではありません。開発者ほど他の人が作ったものをあまり使っていない事が多いものです。

nc003.7z等アップローダのアーカイブ番号のみで報告すると内容が分からないのでスルーする可能性が高いです。
元の書き込みに安価を貼るのが確実です。

質問した後で自己解決した場合、自己解決した内容も責任をもって書き込んでください。
「どう解決したのか?」を書くことで、同様の問題に困っている人の参考になります。
0004名無しさん@お腹いっぱい。 (ワッチョイW e3b1-LHdB)
垢版 |
2023/01/30(月) 09:29:35.11ID:wmd15AiH0
■質問用テンプレ
 ≪動作環境≫
  【OS・Java・本体】(ログウインドウの最初の二行をコピペ)
  【ブラウザとバージョン】Google Chrome 00/Mozilla Firefox 00/Opera 00/Safari 00etc...
  【使用プレイヤー】GINZA/公式HTML5/ZenzaWatch
  【FlashPlayerのバージョン】(GINZAの場合)Adobe Flash 00.0.0.000
 ≪NicoCache環境≫
  【拡張の状態】すべて外した、もしくはコレコレを利用している等
  【プロキシ】全て通過、デフォルト設定のproxy.pacを利用している、もしくはカスタム設定のpac
  【その他】(wrapperやオミトロンを使用しているなら特に)
 ≪質問/障害内容と検証状況≫
  【事象・質問内容】
  (具体的に、詳細に。ログウィンドウの表示も含めて)
  (言葉での説明が難しければ、画像ファイルを用いたり、デスクトップキャプチャーソフトで動画を撮影して説明を試みるのも効果的だろう。)
  【検証済の内容】
  (NicoCache_nlwiki(新)のトラブルシューティングを全て試したか否か)
  【特記事項】
   一般会員、プレミアム会員、ブラウザの拡張機能の利用状態等、関係ありそうなことないこと
   他のブラウザでの動作状況
   NicoCacheを使わない場合の動作状況
   wrapper、オミトロンを利用している場合、停止した時の動作状況
   利用ソフトのデフォルト状態(拡張を一切外した場合)の動作状況
注意:
・本体やJava、FlashPlayerなどアップデート可能なものは、質問の前に必ずアップデートしてください
・NicoCache_nlについてのトラブルは>>2のトラブルシューティングを試してみてください
・一般的でない環境での質問の場合、検証出来る環境を持っている人がいるとは限りません。
0014◆awd5z.AlOFJq (ワッチョイW 16b8-RySB)
垢版 |
2023/03/11(土) 13:46:03.34ID:c7Ss5uOS0
フィルタまとめ#118うpしました

https://nicocache.jpn.org/download.php?id=154&key=631f904d23f05602d2545b87e65689f8d202289c27b4cb0f5cd670e5b9a49dd6
- (主な変更点)
- pc.jsとup_nv.jsでのコメント取得方法を新方式に完全移行
- pc.jsのトラッカーにmouseenterすると時間が表示されるようになった
- pc.jsの音量にプリセットを配置した
- pc.jsからMinimumVolumeを廃止
- up.jsでリンクをアイコンに
- コメントリストと動画リストのタブスイッチでマイリストボタン・ニコニ広告ボタン・Likeボタン・カスタムマイリストボタンが消えるようにした(wr_MylistUadLikeButtonToggle.js)
- チャンネル動画がwindow.customCommon.retryによって失敗しづらくなった
0017名無しさん@お腹いっぱい。 (ワッチョイ 7fc0-sFbk)
垢版 |
2023/04/15(土) 00:16:01.04ID:fEPgxQl70
ん~、popThumb_FA.txt が有効だと、動画番号(orタイトル)のポップアップが効か無くなってるなぁ
これ無効化した場合は、nlの方のポップアップは出るので、htmlの書き換えは出来てるっぽいけど、jsが対応しきれなくなった???
って所までは切り分け出来たけど、どのファイルのどこがどうなって動かなくなってるのかさっぱりww
0018名無しさん@お腹いっぱい。 (ワッチョイ df56-sFbk)
垢版 |
2023/04/15(土) 01:31:14.00ID:u1byTiR40
12 名前:名無しさん@おーぷん[sage] 投稿日:23/04/13(木) 08:38:38 ID:p3ow
3DSのサービス終了でAPIが廃止されたのが原因なので、 popThumb_FA_個人設定2.txt から api.ce. を使っている
・popThumb_FA:個人設定3
・popThumb_FA:個人設定4
を削除すればまだ動きました。
popThumb_FA_個人設定.txt で
popThumb.use_VideoArrayAPI = false;
popThumb.use_VideoArrayAPI_so = false;
になっていることも要確認。
0021名無しさん@お腹いっぱい。 (スッップ Sdbf-4NQN)
垢版 |
2023/05/27(土) 05:54:21.23ID:7Q9c9FeTd
前スレでHLSについて話題が出ていて、キャッシュもできるっぽい話ぶりだから多分できるんじゃないかな
暗号化されてるHLSも技術的には復号化できるみたいだけどこれは倫理的に(著作権的に?)ダメだからやらないみたいだけど
https://egg.5ch.net/test/read.cgi/software/1541715924/269
https://egg.5ch.net/test/read.cgi/software/1541715924/275
https://egg.5ch.net/test/read.cgi/software/1541715924/281
etc
0024◆2TK8xdazzp3d (ブーイモ MM5b-/ZG2)
垢版 |
2023/07/04(火) 02:42:30.92ID:yXJUF30DM
nd0158 NicoCache_nl+150304mod+230704mod (eR)
[機能追加]
・ニコニコの仕様変更(HTTP方式廃止)に伴いHLSに対応
[nlFilter]
・シリーズページで動作しなくなっていたのを修正
・05_topBarFilter.txt でコンソールにエラーメッセージが出ていたのを修正

まだ調整したいところがありますが時間切れっぽいのでひとまず。

HLS形式のキャッシュはsm00000000[720p,192]_XXXX.hlsという形式のディレクトリに記録します。
mp4やflvのキャッシュはHLSでは使用することができないので、
存在していてもキャッシュを用いずそのままサーバに取りに行きます。
ただし、.mp4キャッシュがある場合、新たに.hlsをキャッシュしないようになっています。
新たに.hlsをキャッシュさせるためにはキャッシュ削除を行ってください。
0025名無しさん@お腹いっぱい。 (スッップ Sd02-7WKa)
垢版 |
2023/07/04(火) 07:22:24.58ID:bp6MkwWJd
>>24
ありがとうございます。お疲れ様です。ん?ということは.mp4キャッシュを別で用意しても今回以降は意味を成さないってことか…それは困るな。。。有料動画の期限切れキャッシュ使用の裏技も使えなくなるのか。。
0031名無しさん@お腹いっぱい。 (ブーイモ MM93-/ZG2)
垢版 |
2023/07/04(火) 10:50:04.07ID:r4y9hxtKM
mp4キャッシュを無駄にはしたくないのでmp4キャッシュを利用してHLSに応答する方法をなんとか考えたいところです。
mp4からリアルタイムでhls配信を行う有償の製品は存在するので不可能というわけではなさそうなんですが、なかなか難しいです。
flv2mp4のように再生開始まで少し変換に時間がかかる非リアルタイムな方式では実装できますが、mp4キャッシュを持っているすべての動画の再生が遅くなるのはキャッシュとして無意味で、それなら再キャッシュしたほうがいいからね……

さしあたって、ffmpegを使った手動での変換方法は後ほど案内します。
0034名無しさん@お腹いっぱい。 (ワッチョイ 86c0-hRAP)
垢版 |
2023/07/04(火) 23:45:59.79ID:wn0fH/hQ0
>>24
お疲れ様です。

キャッシュは出来ましたが、mp4への変換手段次第ですね。
ffmpegの使い方、お待ちしています。

うちの環境では、MP4化するのにTMPGVMW6が一番まともでしたが頭2秒の音が途切れてしまいました。
他の方法もいくつか試しましたが、tsが切り替わるタイミングで音飛びするようです。
再生だけならMPC-HCで何の不具合無く出来るのですが・・・(^^;
0035名無しさん@お腹いっぱい。 (ブーイモ MM57-/ZG2)
垢版 |
2023/07/05(水) 02:55:44.07ID:x+gxOfPhM
すみません。 15_thumbInfoFilter(基本).txt は今回のバージョンに入っている物は削除して以前の22/04/17版をご利用ください。
/seriesのページはもう無いかと思ってフィルタを消してしまいましたが、チャンネル動画でまだ使われていました。

手動での変換方法ですが、
.hlsキャッシュディレクトリの中に解像度の一致しているキャッシュのmaster.m3u8ファイルをコピー(正しく作るならbandwidthの計算が必要ですが1個しかないので間違っていても動く)して、 1/ts/ ディレクトリを作ってその中で
ffmpeg -i mp4ファイル -c:v copy -c:a copy -f hls -hls_time 6 -hls_playlist_type vod -start_number 1 -hls_segment_filename "%d.ts" playlist.m3u8
で動くものができましたが、この方法だと音声が途切れたりする方いるんでしょうか。
VLCで直接再生しようとすると最初に音声が詰まりますが、FirefoxとChromiumでは問題なく再生できました。

>>33
切れ目を記録して一つのtsファイルに連結するの興味深いですね。
でも今後の仕様変更で音声のストリームを分離する予定がありそう(json内にseparated_audio_streamの項目)なので残念ながらその時に対応できなくなりそうです。
(tsファイルを直下ではなく1/ts/に置いた理由はこれ)
バグ修正パッチは取り込ませていただきます。ありがとうございます。
0038名無しさん@お腹いっぱい。 (ワッチョイW 86c0-/ZG2)
垢版 |
2023/07/05(水) 10:11:18.29ID:8d/fzsIw0
>>36
一般ユーザのシリーズのURLが /series から /user/ユーザ番号/series に変わったので
新しいページ用のフィルタを作ってうっかり古いほうを消してしまいましたというだけで廃止の気配はありません
0039名無しさん@お腹いっぱい。 (ワッチョイ 86c0-hRAP)
垢版 |
2023/07/05(水) 21:42:24.91ID:TEIIiK0C0
hlsからMP4への変換は、こんな感じですかね

-- hls2mp4.cmd ---

set f_name=%~n1
set f_path=%~dp1
cd /d "%f_path%%f_name%.hls\1\ts\"
ffmpeg -i playlist.m3u8 -movflags faststart -c copy -bsf:a aac_adtstoasc output.mp4
move "%f_path%%f_name%.hls\1\ts\output.mp4" "%f_path%%f_name%.mp4"

--- end --- (ffmpegは、パス指定してください)
.hlsのフォルダD&Dでバッチファイルの引数で渡せば、同じ場所にmp4を作ります。
出力に漢字を含むファイル名を指定すると、文字化けするっていうね(笑)


いくつか試して見ましたが、上記のバッチで変換は問題なさそうです
ffmpegコマンド引数自体は、ネット検索で見つけたそのままですが(笑)
0044名無しさん@お腹いっぱい。 (ワッチョイ 86c0-hRAP)
垢版 |
2023/07/06(木) 22:05:11.93ID:1Se9oize0
>>43
--- mp42hls.vbs ---
option explicit
dim objArgs,targetmp4,objFS,objShell
dim fs,f,i,d_name
Set objArgs = Wscript.Arguments
Set objFS = CreateObject("Scripting.FileSystemObject")
Set objShell = Wscript.CreateObject("WScript.shell")

for i=0 to objArgs.count -1
mp42hls(i)
next
WScript.Quit

Function mp42hls(j)
targetmp4 = objArgs(j)
set fs = WScript.CreateObject("scripting.filesystemobject")
if fs.FolderExists(targetmp4) then
'folder
exit Function
end if
d_name =fs.GetParentFolderName(targetmp4) & "\" & fs.GetBaseName(targetmp4)
objFS.CreateFolder(d_name & ".hls")
objFS.CreateFolder(d_name & ".hls\1")
objFS.CreateFolder(d_name & ".hls\1\ts")
objShell.CurrentDirectory = d_name & ".hls\1\ts"
objShell.Run "m:\nico\ffmpeg -i """ & targetmp4 & """ -c:v copy -c:a copy -f hls -hls_time 6 -hls_playlist_type vod -start_number 1 -hls_segment_filename ""%d.ts"" playlist.m3u8",1,true
End Function

ffmpegのフォルダだけ、自分の環境に合わせてくださいな
サンデープログラマが作るVBSなんて、こんなもんだwたったこれだけのコードでも汚いw
0045名無しさん@お腹いっぱい。 (ワッチョイ 86c0-hRAP)
垢版 |
2023/07/06(木) 22:11:15.90ID:1Se9oize0
おまけ

--- hls2mp4.cmd ---
@echo off
:start
for %%_1 in (*.hls) do (
set f_name=%~n_1%
set f_path=%~dp_1%
cd /d "%f_path%%f_name%.hls\1\ts\"
m:\nico\ffmpeg -i playlist.m3u8 -movflags faststart -c copy -bsf:a aac_adtstoasc output.mp4
cd /d %~dp0
move "%f_path%%f_name%.hls\1\ts\output.mp4" "%f_path%%f_name%.mp4"
)

これは昨日作った奴。
同じフォルダにあるhlsを無差別で全てmp4に変えるヤツ。
VBSにすれば同じ様に、複数D&Dとか色々対応出来るけど、どうせ一括で変えるので、めんどくさかったw
0046名無しさん@お腹いっぱい。 (ワッチョイ 86c0-hRAP)
垢版 |
2023/07/06(木) 22:17:55.98ID:1Se9oize0
あ、>>45の、バグ持ちの方だった

こっちだ

@echo off
setlocal EnableDelayedExpansion
:start
for /d %%A in (s*.hls) do (
set f_name=%%~nA
set f_path=%%~dpA
cd /d "!f_path!!f_name!.hls\1\ts\"
m:\nico\ffmpeg -i playlist.m3u8 -movflags faststart -c copy -bsf:a aac_adtstoasc output.mp4
cd /d %~dp0
move "!f_path!!f_name!.hls\1\ts\output.mp4" "!f_path!!f_name!.mp4"
)
0048名無しさん@お腹いっぱい。 (スッップ Sd02-7WKa)
垢版 |
2023/07/07(金) 00:44:23.98ID:sN4caK3Qd
@echo off
setlocal enabledelayedexpansion

for %%a in (%*) do (
set file=%%a
set file=!file:"=!
ffmpeg -i "!file!" -codec: copy -start_number 0 -hls_time 10 -hls_list_size 0 -f hls "!file:.mp4=.m3u8!"
)


か若しくは(↑bing gpt-4製)

@echo off
setlocal enabledelayedexpansion

for %%a in (%*) do (
set file=%%a
set file=!file:"=!
ffmpeg -i "!file!" -c:v copy -c:a copy -f hls -hls_time 6 -hls_playlist_type vod -start_number 1 -hls_segment_filename "%d.ts" playlist.m3u8
)

になるのかな?(>>35のコマンドをそのまま拝借)
ただ本当に今手元にWindowsがないので試せないけど…
0049名無しさん@お腹いっぱい。 (スッップ Sd02-7WKa)
垢版 |
2023/07/07(金) 00:47:00.80ID:sN4caK3Qd
ちなみにプロンプトも貼っておきます

Windowsのバッチファイルでffmpegでmp4ファイルをhlsに変換するプログラムを組んでください。但し以下の機能も有するとします。
・複数ファイルの同時ドラッグアンドドロップ対応。
・半角スペースや全角スペースを含むファイル名対応。
0054名無しさん@お腹いっぱい。 (タナボタ 86c0-hRAP)
垢版 |
2023/07/07(金) 19:09:46.10ID:Rnbr5WRv00707
>>48
デバッグはしてなくて、コード読んだだけなので間違ってるかもだけど。
まず、
・D&Dに対応してなくて、カレントフォルダのファイルをmp4に限らず無差別に処理しようとしている
・ディレクトリの作成、及びその中に作成しようとしていない
・set file=!file:"=! の行が多分、エラー?(文字列操作っぽいが?)

ぐらいかなぁ。
無差別なら、>>46ので十分だと思うよ。
ちな、ちょっと余分な処理は入ってるけど、vbsで書いた物は、作ってある。
0056名無しさん@お腹いっぱい。 (ワッチョイ 9f7e-kkOg)
垢版 |
2023/07/08(土) 01:03:55.02ID:b/42bU4f0
難しいことは分からないけど、>>24の説明を見る限り最早.mp4や.flvはキャッシュフォルダに置いても意味がない、
むしろそのまま置いとくとhlsのキャッシュが作られないので置かない方が良い、って理解で良い?
とりあえず現状のキャッシュファイルは全部どっかに退避すればいいのかな
0057名無しさん@お腹いっぱい。 (ワッチョイ 9f7e-kkOg)
垢版 |
2023/07/08(土) 03:27:47.98ID:b/42bU4f0
んー?普通の動画はキャッシュ使ってくれないっぽいけど、「有効期限切れの購入済み動画」は見れる…
ログにも「Local Flv:」って出てるからキャッシュ使えてるっぽい
どういうこっちゃ
教えてエロい人
0058名無しさん@お腹いっぱい。 (スップ Sd3f-Nbcj)
垢版 |
2023/07/08(土) 04:37:12.41ID:52sPQLHId
>>57
純粋にJavaScriptで実現してるから
同じこと普通の動画でやろうと思ったらNicoCache側の対応ないと難しいかな
(無差別にmp4キャッシュ使うように強制もできるけど、それは望まない形だろうし)
0060名無しさん@お腹いっぱい。 (ワッチョイ 5773-kkOg)
垢版 |
2023/07/08(土) 08:46:33.63ID:I+g74itU0
>>24の更新を掛けてビルドしたけども、キャッシュされる気配がないけど皆出来ているということ…?
ログウィンドウには
Ignoring auto-bitrate stream: sm~
と無視してますアピールだけが無情に残されている
0065名無しさん@お腹いっぱい。 (ワッチョイ ffc0-kkOg)
垢版 |
2023/07/08(土) 19:58:46.91ID:ane1w1F40
option explicit
dim objArgs,targetmp4,objFS,objShell,objShell2,objFolder,objFile,fn,i,j,f_name,folderName
Set objArgs = Wscript.Arguments
Set objFS = CreateObject("Scripting.FileSystemObject")
Set objShell = Wscript.CreateObject("WScript.shell")
Set objShell2 = WScript.CreateObject("Shell.Application")
for i=0 to objArgs.count -1
hls2mp4(i)
next
WScript.Quit
Function hls2mp4(j)
targetmp4 = objArgs(j)
if objFS.FolderExists(targetmp4) then
Set fn = objFS.GetFolder(targetmp4) 'ファイルの日付取得
f_name = Replace(targetmp4, ".hls", ".mp4")
objShell.CurrentDirectory = targetmp4 & "\1\ts"
objShell.Run "m:\nico\ffmpeg -i playlist.m3u8 -movflags faststart -c copy -bsf:a aac_adtstoasc output.mp4",1,true
objFS.MoveFile "output.mp4" , f_name
if objFS.FileExists(f_name) then
folderName = Replace(f_name , objFS.GetFile(f_name).Name , "") 'ここから
objShell.CurrentDirectory = folderName
Set objFolder = objShell2.NameSpace(folderName)
Set objFile = objFolder.ParseName(replace(f_name,folderName,""))
objFile.ModifyDate = fn.DateLastModified 'ここまでファイルの日付設定
'objFS.DeleteFolder targetmp4,true
end if
end if
End Function

hls2mp4のvbs版 D&Dで複数処理可能。キャッシュしたのを編集とかで2次利用する人向け
hlsフォルダ削除は任意(コメント外して) ffmpegの場所は各自指定 日付はhlsフォルダに合わせるようにしている
0066名無しさん@お腹いっぱい。 (ワッチョイ ffcf-Ln1g)
垢版 |
2023/07/08(土) 22:16:51.16ID:PeWaCs3/0
最新版に乗り換えたらシークバーがグレーアウトしてしまった
ここ半年以上設定弄った記憶が殆ど無いのでどこが再生ページに影響あるのかすらわからなくなってる
とりあえずショートカットキーは効く、
ピクチャーインピクチャーだと表示されるのでnlFiltersフォルダの中身弄りまくるしかない
0069名無しさん@お腹いっぱい。 (ワッチョイ 1711-XxK+)
垢版 |
2023/07/09(日) 10:15:50.39ID:V1PlkqgF0
>>68
と思ったら最後まで動画を再生すればキャッシュが完了になった
キャッシュ管理画面で動画の容量が全く変化がなかったし、
コントローラーのCachingもNan%で変化がなかったら勘違いしてしまった
お騒がせしました
0080名無しさん@お腹いっぱい。 (ワッチョイ 2111-2eqx)
垢版 |
2023/07/16(日) 02:11:17.69ID:j4mPON960
最新版のnicocache_nlの挙動について教えてください
1,動画を視聴してhlsキャッシュを取得する
2,取得したhlsキャッシュフォルダを削除(移動)する
3,再度同じ動画を再生するとニコ動エラーメッセージで「通信エラーが発生しました」と表示され再生が止まる

既に取得しているhlsキャッシュフォルダがそのまま存在すれば2度目以降も問題なく動画が再生されますが、該当動画のhlsキャッシュフォルダが存在しない状態での2度目の動画再生でエラーを回避する方法があれば教えてください
0084◆2TK8xdazzp3d (ワッチョイ 8cc0-wHgo)
垢版 |
2023/07/17(月) 09:55:01.79ID:27jPo4cW0
nd0162 NicoCache_nl+150304mod+230717mod (eR)
[不具合修正]
・HLSキャッシュを削除すると壊れたキャッシュが生成されるのを修正 (>80)
・HLSキャッシュが壊れていたときにメッセージを表示
・画質が自動になっているときのメッセージをわかりやすく修正
・nd0159を一部マージ (>33)
 ・キャッシュディレクトリ読み込み時のリソースリークを修正
 ・JSONで\u005cが含まれているとエラーになる問題の修正
 ・popThumb.jsで公式動画のポップアップを許可

>>80
報告ありがとうございました。
HLSをキャッシュ(途中まで・最後まで問わず)した後、
再起動せずにHLSキャッシュを削除して再度キャッシュすると
一部のファイルが欠けた状態の壊れたキャッシュが生成されるバグがありました。

気づかないうちに変なキャッシュが混ざっているという事態になるとまずいので皆様早急に適用を推奨します。

発生条件は、HLSを途中まであるいは最後までキャッシュした後、
再起動せずにそのHLSキャッシュを削除して再度キャッシュすることです。
どこまでキャッシュ済みかという情報がクリアされず、
一部のファイルが欠けたままキャッシュが完了状態になってしまいます。
0085名無しさん@お腹いっぱい。 (ワッチョイ 5683-5LlG)
垢版 |
2023/07/17(月) 13:16:57.10ID:6HEbL7s80
HLSのキャッシュ中に動画キャッシュの一覧 https://www.nicovideo.jp/cache/ を開こうとするとエラーで開けないようです
キャッシュしてない時は正常に表示されます
以下はNicoCacheのコンソールに出るエラーです

failed to process: https://www.nicovideo.jp/cache/
java.lang.NullPointerException: Cannot invoke "java.lang.Long.longValue()" because the return value of "java.util.concurrent.ConcurrentHashMap.get(Object)" is null
at dareka.processor.impl.CacheManager.getTempListAsJson(CacheManager.java:1738)
at dareka.processor.impl.CacheManager.getFlvListAjax(CacheManager.java:1617)
at dareka.processor.impl.CacheManager.getFlvList(CacheManager.java:1606)
at dareka.processor.impl.CacheManager.getFlvList(CacheManager.java:1531)
at dareka.processor.impl.CacheDirProcessor.onRequest(CacheDirProcessor.java:211)
at dareka.ConnectionManager.processAPairOfMessages(ConnectionManager.java:314)
at dareka.ConnectionManager.run(ConnectionManager.java:66)
at dareka.Server.handleTlsLoopback(Server.java:339)
at dareka.Main.handleTlsLoopback(Main.java:310)
at dareka.processor.MitmResource.transferTo(MitmResource.java:26)
at dareka.ConnectionManager.useResource(ConnectionManager.java:517)
at dareka.ConnectionManager.processAPairOfMessages(ConnectionManager.java:335)
at dareka.ConnectionManager.run(ConnectionManager.java:66)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630)
at java.base/java.lang.Thread.run(Thread.java:831)
0088名無しさん@お腹いっぱい。 (ワッチョイW 32ec-53y0)
垢版 |
2023/07/20(木) 22:55:29.16ID:mCfmA3Qr0
セグメントを一切分割しないhlsファイル作ると
再生時に強制キャッシュプリロード的なことができるぽいね(シークバーがすべて真っ白になる)

まぁ1GBのファイルだと動画の再生に10秒近くかかるんで
実用的じゃないけど......
0089名無しさん@お腹いっぱい。 (ワッチョイW 32ec-53y0)
垢版 |
2023/07/20(木) 23:07:00.42ID:mCfmA3Qr0
>>44さんの方法でmp4→hlsに変換しても
master.m3u8がないとNicoCacheで再生してくれませんが
いい感じに生成する方法ありませんかね?

解像度はファイル名見れば設定はできそうですが、
FRAME-RATEの設定が...
0090名無しさん@お腹いっぱい。 (ワッチョイW 32ec-53y0)
垢版 |
2023/07/21(金) 02:32:22.81ID:tfrWe4TU0
非dmcキャッシュを変換してNicoCacheに読み込ませるには
ファイル名に解像度とオーディオビットレートをつけてdmcキャッシュぽい名前にかえる必要があるみたいだけど
smxxxx[360p,256]_タイトル.hls


解像度 512x384
ビットレート 252800bps
という微妙な値の場合は なにを入れるべきか...
0092名無しさん@お腹いっぱい。 (ワッチョイ 7fc0-QKap)
垢版 |
2023/07/22(土) 21:44:00.82ID:BT6NKPHA0
>>90
一度、mp4の方を待避しといて、同じ動画をキャッシュさせて見れば、
その辺の変則的な解像度の命名規則は拾えるかも?

その辺のファイル名、実際内部で使ってるかなぁ。
smxxxxxx_ か、smxxxxxx[ の頭でしか見てない気もしないでもないんだけど
後で試して見るわ
0095名無しさん@お腹いっぱい。 (ワッチョイ 67b1-x9dY)
垢版 |
2023/07/27(木) 23:22:50.21ID:bkN9UDd/0
動画リストでhlsでキャッシュした物の色が白(キャッシュ無し)のままなのは仕様でしょうか?
PCの環境とかのせい?
https://i.imgur.com/WZ18BB7.png
0097名無しさん@お腹いっぱい。 (ワッチョイ 67b1-x9dY)
垢版 |
2023/07/28(金) 06:43:27.98ID:suYo/wkn0
キャッシュは出来てます using cache:…hls
https://i.imgur.com/JNoSEjW.jpg
ただ動画リストは白文字のままでサムネに[C]マークが付かないなーと
0099名無しさん@お腹いっぱい。 (ワッチョイ ffc0-mBaV)
垢版 |
2023/08/05(土) 20:25:31.51ID:qdRPMVnB0
ん〜、キャッシュされたhlsのmaster.m3u8の内容が分からん。例えば、
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=4724190,AVERAGE-BANDWIDTH=3101741,RESOLUTION=1920x1080,FRAME-RATE=60.000
って記述してあって、PROGRAM-IDは、1固定でいいとして、RESOLUTIONと、FRAME-RATEは動画から拾えるとして、
BANDWIDTH=4724190,AVERAGE-BANDWIDTH=3101741
この2つがどこの数値なのか。
この動画を、mp4化してみると、動画の平均ビットレート2189kbpsなのね。


音声は179kbpsだけど、キャッシュのフォルダ名の所は192なので、まぁ、近い数字が入ってるだけなんだろうけど。
はてさて、どうしようか。
(前に上げた mp4hls を弄ってm3u8 作ろうとしてる。だれかプログラマーな人作ってwww)
0100名無しさん@お腹いっぱい。 (ワッチョイ ffc0-mBaV)
垢版 |
2023/08/05(土) 22:33:08.51ID:qdRPMVnB0
動画のページ開く → hlsフォルダが作成される(数秒だけキャッシュ) → 再生せずにPC終了
→ 翌日、同じページを開く → キャッシュフォルダが継続される場合と、稀に新たに作られる場合がある
nltmp_smxxxxxxxx[1080p,192]yyyyyyyy_タイトル.hls
このyyyyyyyyの所の数値が違って作られ、再生終わってキャッシュが終わると、新しく作った方だけが
nltmp_が外れて完了し、前日に作られた古いフォルダは放置される。

ここ数日で1,2個を確認。
多分投稿者が動画の差し替えをやった物だと思われます。
PCの再起動(nlの再起動でも多分同じ?)のタイミングで動画差し替えが発生すると、
キャッシュフォルダで古いのが残ってしまうっぽいですね。
■ このスレッドは過去ログ倉庫に格納されています

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