【ニコ生】新配信録画ツール(仮、livedl Part4

■ このスレッドは過去ログ倉庫に格納されています
2019/10/10(木) 00:21:29.96ID:BDK4zBA00
■ニコ生新配信録画ツール(仮
https://com.nicovideo.jp/community/co2414037
https://twitter.com/guest_nico

■livedl
https://himananiito.hatenablog.jp/entry/livedl
https://twitter.com/himananiito

※不具合要望はコミュ掲示板もしくは作者Twitterへ

※前スレ
【ニコ生】新配信録画ツール(仮、livedl Part3
https://egg.5ch.net/test/read.cgi/software/1556552328/
https://twitter.com/5chan_nel (5ch newer account)
2020/05/20(水) 19:41:24.29ID:VJQFqXm80
>>432
そっか、じゃあ見当外れだったかな。
何か変えようとしているっぽくはあるので一応警戒しておいたほうがいいか。
まあ、今はブラウザだけではなく色んなプラットフォームに対応してるわけで、
根幹をそう簡単には変えられないとは思うけど。
2020/05/20(水) 20:33:40.22ID:Br/1Bh2x0
内部的に録画するまでの手順を替えたけど、外部ツールが使えないなどの予想以上に反響があったんで急遽元に戻したんかな?w
(仮はすぐ対処しそうだけど、livedlも(仮やほかのツールも今まで配布されていたexeは全て使えなくなるわけだ
2020/05/20(水) 21:20:06.95ID:YfZZwhg+0
本家の更新停止後にフォークしてる分含めても
そこまで大幅なバグ修正無さそうだし
誰かが正式に引き継いでくれれば良いんじゃないの?>livedl
もちろん俺はやらんがw
2020/05/20(水) 21:32:49.58ID:Br/1Bh2x0
livedlはなぜか日本人以外(中華圏?)のユーザーも多いから、正式に引き継ぐんなら英語も堪能な人がいいわな。
2020/05/21(木) 00:33:05.40ID:8CaPK92t0
>>434
いや、外部ツールどころか、スマホやらスイッチやら
数々のプラットフォームの公式ツールにも影響するんじゃないかな。
移行するためには事前にすべてのツールを新旧両対応に準備しておく必要があり、
Flash から HTML5 への移行のような大きな理由もなく
むやみにインターフェースを変えるとはちょっと思えない。

Flash といえば今年で終了だけど、Flash でしか見られない古い TS どうするつもりなんだろう。
何も動きがないし、まさか「もう見られません」で済ますつもりか?
2020/05/21(木) 01:04:56.63ID:Dcgrw3a00
>>437
>Flash といえば今年で終了だけど、Flash でしか見られない古い TS どうするつもりなんだろう。
>何も動きがないし、まさか「もう見られません」で済ますつもりか?

基本アナウンスなしで、そのうちしれっとサーバーごとなくして終了だと思う。だって、もう見れないんだからしょうがないよねw
2020/05/21(木) 02:33:41.56ID:8CaPK92t0
>>438
そうなるかなあ。
過去の資産目当てでプレミアムになってる人わりと見かけるのでまずいと思うんだが。
ここのスレ民である自分としても、
残したいのが50時間超えが普通のチャンネルなのでちょっと落とす気になれないw

つか、動画のほうは普通に対応できたのになぜ生放送は駄目だったんだろう。
膨大な動画を全部コンバートしたとは思えないので、
古い動画は生データはそのまま再生の工夫でなんとかしてる気がするんだけど。
2020/05/21(木) 09:08:14.94ID:DKASxgpE0
>>422
>>402
結構前から発生してたぞ
2020/05/21(木) 09:16:14.88ID:q4qeuSvU0
>>440
>>402は「放送によって」って言ってるけど>>422は全ての放送で発生してたっぽいから
2020/05/21(木) 09:32:11.75ID:DKASxgpE0
予兆はあったって事
2020/05/21(木) 09:55:39.60ID:q4qeuSvU0
単なる不具合のこともあるから何とも言えないけどなあ
今回の件も開発中のnicolibを間違ってリリースしちゃった不具合かもしれんし

参考のためにnicolibの視聴開始メッセージの部分を残しとくね
仕様変更(?)版:
{
 type:"startWatching",
 data:{
  stream:{
   quality:i.toWsStreamQuality(e.priorStreamQuality),
   protocol:o.streamProtocolToString(e.watchableStreamProtocol),
   latency:e.useLowLatencyStream?"low":"high"
  },
  room:{
   protocol:r.MessageServerProtocol.WebSocket,
   commentable:e.isCommentableClient
  },
  reconnect:!e.asNewAudience
 }
};
2020/05/21(木) 09:55:59.23ID:q4qeuSvU0
ちなみにこれが現行版:
{
 type:"watch",
 body:{
  command:"getpermit",
  requirement:{
   broadcastId:e.broadcastId.value,
   route:e.route,
   stream:{
    protocol:o.streamProtocolToString(e.watchableStreamProtocol),
    requireNewStream:e.asNewAudience,
    priorStreamQuality:i.toWsStreamQuality(e.priorStreamQuality)
   },
   room:{
    isCommentable:e.isCommentableClient,
    protocol:r.roomProtocolToString(e.connectableRoomProtocol)
   }
  }
 }
};
2020/05/21(木) 10:40:28.64ID:Dcgrw3a00
>>443-444
ありがとうございます。
見た感じだと接続開始のコマンドだけでなくWebSocketのプロトコル全体を変更しようとしてるのかもしれないね。
(仮とか現行で開発してるところは問題なさそうだけど、livedlはどうしたもんかなあ。WebSocketプロトコルはlivedlのcoreな部分だし修正できる人いるかな?
2020/05/21(木) 12:01:30.53ID:q4qeuSvU0
>>443-444以外のコマンドもまとめてみた

変更後:
 {type:"keepSeat"}
 {type:"getPostkey"}
 {type:"changeRoom",data:{roomId:e.id,protocol:i(t)}}
 {type:"answerEnquete",data:{answer:e}}
 {type:"changeStream",data:{quality:o.toWsStreamQuality(e.priorStreamQuality),protocol:r.streamProtocolToString(e.watchableStreamProtocol),latency:e.useLowLatencyStream?"low":"high"}}
 {type:"getStream"}
 {type:"getAkashic",data:{chasePlay:!!e&&e.isChasePlay}}

現行:
 {type:"watch",body:{command:"watching",params:[e.broadcastId.value,"-1","0"]}}
 {type:"watch",body:{command:"getpostkey",params:[e]}}
 {type:"watch",body:{command:"changeroom",requirement:{roomId:e.id,protocol:r.roomProtocolToString(t)}}}
 {type:"watch",body:{command:"answerenquete",params:[e.toString()]}}
 {type:"watch",body:{command:"switchstreamquality",params:[r.toWsStreamQuality(e)]}}
 {type:"watch",body:{command:"getstream",requirement:{protocol:t.streamProtocolToString(e),quality:o.toWsStreamQuality(n)}}}
 {type:"watch",body:{command:"getakashic",requirement:{isChasePlay:!!e&&e.isChasePlay}}}
(現行版のみに存在:)
 {type:"watch",body:{command:"playerversion",params:[e]}}
 {type:"watch",body:{command:"getuserstatus",params:[]}}
2020/05/21(木) 12:03:44.12ID:6qFNpUBT0
更新きました

ニコ生新配信録画ツール(仮+ニコ生録画登録ツール(仮
ver0.87.85+ver0.1.3.10.26(2020/04/26)
録画ツール:接続ができなくなる問題への暫定対応
2020/05/21(木) 13:10:53.12ID:q4qeuSvU0
>>446に追加

変更後:
 {type:"pong"}

現行:
 {type:"pong",body:{}}

送信内容がこれだけ変更されてるんで受信の方もだいぶ変わってるとは思うけど、
難読化JavaScriptから解析するより実際の通信内容見たほうが早いだろうから省略
つってもこの変更が将来適用されるとは限らないんだけどね
2020/05/21(木) 13:22:31.01ID:Dcgrw3a00
手順は同じようだけど、プロトコル中の冗長な部分を減らしてるみたい。レスポンスも当然変わって来るからWebSocketの部分ほぼ作り直しになるな。
ドワンゴの開発だったら仕様なりなんなりを先に教えてもらえるから変更と同時リリースできるだろうけど、外部ツールだと絶対無理だわなw
(仮さんは変更されたらすぐ突貫で修正してリリースするんだろうけど。
2020/05/21(木) 17:32:47.98ID:8CaPK92t0
>>449
絶対に無理ということはない。
固定的な手順ではなく、
汎用ブラウザが行っている JavaScript 等の動作を完全再現すればいいだけ(むちゃ
2020/05/21(木) 18:41:06.19ID:IgN2HZ050
>>450
ブラウザのプラグインで録画する方式に考え方としては近いかもねそれは
それはそれで面倒な部分があったりしそうだけど
2020/05/21(木) 22:22:20.44ID:Dcgrw3a00
まあ何するにしても実際にプロトコルが変更されてからだな。
livedl使ってる人はしばらく使えなくなることを覚悟しとけよ。(仮も併用するか、ストリームレコーダーやブラウザーからm3u8を抜き出して録画するツールも使えるようにしとけよ。
2020/05/31(日) 02:34:56.68ID:Dw9vD7Z00
(仮って休止からの復旧できる?
2020/06/02(火) 03:08:19.34ID:eolhfS7n0
livedl使いたいんだけどもう実行ファイルが配布されてないから新規だと無理なの?
2020/06/02(火) 10:20:29.46ID:H6PLTLTp0
自分でビルドすれば大丈夫だよ
2020/06/02(火) 11:03:05.04ID:0Ew1KP8I0
簡単にビルドとかいうけどさ
実際簡単なんだよなw
2020/06/02(火) 11:22:31.12ID:MXo6+qun0
簡単は簡単だけどVisualStudioに10GB以上取られるのが気に食わない
2020/06/02(火) 11:36:02.24ID:0Ew1KP8I0
livedlにVS必要だっけ?
2020/06/02(火) 11:37:08.97ID:OW+Iozqn0
掲示板で更新
録画ツール ver0.87.88
録画中に止まることがある不具合を修正

重大なバクっぽいけど、途中で止まることないから放置でいいかなー
2020/06/02(火) 12:21:00.38ID:Wwm0Y/9w0
livedlがって人結構いるけどなんか更にいいところあるん?
2020/06/02(火) 15:51:34.86ID:G1h1TQG90
(仮 公式放送で使おうとしたら、最新のver0.87.88でも「broadcastId not found」と表示されるわ
運営またいじってるのか
2020/06/02(火) 15:57:14.57ID:PJ3kQIp40
>>461
さっきからリアルタイムもTSも撮れなくなったんだけど、自分だけじゃなかったっぽい…?
自分はユーザー放送の録画だけど
2020/06/02(火) 16:01:54.34ID:NMN9TjyB0
ユーザー生録れてないわ
放送の情報は取得してるけど録画はされない
2020/06/02(火) 16:10:54.44ID:OW+Iozqn0
誰かが本家の方に報告してくれたみたいだな
2020/06/02(火) 16:27:44.43ID:xggJpVA10
5/20にちょこっとやってすぐ戻したニコニコ生放送のWebSocketプロトコルが変更になったようですね。
UIじゃなくて内部的な変更だからニコニコ公式からアナウンスされることはないでしょう。
これで今まであるlivedl、(仮、StreamLinkなどのニコ生専用録画ツールは全て使えなくなりましたw
livedl使ってる方は(仮に移行ですかね。たぶんバイナリー修正レベルでは直りませんよ。
466名無しさん@お腹いっぱい。
垢版 |
2020/06/02(火) 16:37:24.31ID:tyXjpR9E0
TSすら録れなくなってる、
2020/06/02(火) 16:37:49.97ID:xggJpVA10
>>454
Youtubeライブかツイキャス目的?ならいいけど、ニコ生は録画できなくなったからそれ目的なら諦めよう。
2020/06/02(火) 17:07:07.65ID:zOOZWNh70
なんか録画できなくなってますやん午前中のやつは撮れれてたのん
2020/06/02(火) 17:23:22.06ID:NMN9TjyB0
プロトコルの問題だと、もしかしたらしばらくは録画できないかもなぁ
2020/06/02(火) 17:47:57.55ID:1FkJ/bgv0
ちょっと前からWebSocket API Closedが返される時間帯があって、ちょっとすると戻ってたけど、
今回は恒久的なの?
2020/06/02(火) 18:46:27.73ID:B2ZzoqAy0
作者が対応してくれるまで録画データ整理するか。いい機会だし
2020/06/02(火) 18:54:01.14ID:jr7qQvTy0
サヨナラニコ生
もう用なしサイトだ
2020/06/02(火) 18:55:38.24ID:a2pqhPDg0
オワ生また仕様変更しやがったか
録画もNCVで視聴もできない
474名無しさん@お腹いっぱい。
垢版 |
2020/06/02(火) 18:58:57.42ID:iwO1te7W0
WebSocketのとこがちょっと変わっただけだから大丈夫よ
2020/06/02(火) 19:11:42.22ID:nmEgnidS0
あれ急にダウソできひん助けて
2020/06/02(火) 19:14:27.95ID:Wwm0Y/9w0
そんなに俺にプレアカ解約させたいのか!
2020/06/02(火) 19:18:02.01ID:fIpB8QQF0
だめか
2020/06/02(火) 19:25:03.72ID:xNnz9lFT0
ドワンゴがまた余計な事やってんのか ホント使えねーなあいつら
2020/06/02(火) 19:49:33.34ID:5y0J7GWN0
午前中TS録画できていて、ちょっと中断して再開しようとしたら録画開始できなくてなんか障害かと思ったがニコ側の原因か…
期限が2時までなんだがすぐには対応来ないよなー…
2020/06/02(火) 19:56:09.68ID:nmEgnidS0
いくらみんなのRyzen3950Xやコレi7 9900Kでも1台のパソで1番組しかデスクトップキャプできんし
2020/06/02(火) 20:10:19.53ID:xggJpVA10
(仮の人は早めに対応すると思うよ。
それまではストリームレコーダーとか、ウェブページから.m3u8を取得してffmpegに渡すツールがあればそれでしのごう。
2020/06/02(火) 20:18:26.98ID:g6KBa2mf0
キャプチャでいいだろもう
2020/06/02(火) 20:32:40.07ID:4rRhMmo+0
ついに対策されたかw
2020/06/02(火) 20:34:23.90ID:ZqUeL8Gc0
とりあえずlivedlの方は改造して動画データ取れるようになった
まだエラーハンドリングとかコメントとか十分じゃないけどパッチ上げようか?
2020/06/02(火) 20:40:01.35ID:xggJpVA10
>>484
プルリク出せれば出してもらえます?tellowkrinkle:seqskipfix の修正入ってます?
というかパッチってバイナリーパッチのこと?
2020/06/02(火) 20:48:24.19ID:fsFwVsRo0
欲しいのはコメントだからコメントだけ
なんとか取得でけんかなぁ
2020/06/02(火) 20:52:34.90ID:S4sEyrQQ0
>>485
ソースじゃないの バイナリパッチなら元となるバージョンが固定じゃないと無理でしょ
2020/06/02(火) 20:58:20.26ID:o3yk8Bu60
超応急だけど>>484のパッチ
ttps://thuploader.orz.hm/uploader/?mode=dl&id=19565
2020/06/02(火) 21:14:50.11ID:fsFwVsRo0
このパッチ使えばコメント取得できる?
2020/06/02(火) 21:17:40.35ID:o3yk8Bu60
>>489
ちょっと確認した限りは生もTSもコメントとれるっぽい
2020/06/02(火) 21:24:51.16ID:fsFwVsRo0
livedl入れ直しかぁ
2020/06/02(火) 21:29:16.14ID:RIV10htY0
元に戻った?
livedlでTS録画できるようになったわ
2020/06/02(火) 21:29:21.38ID:xggJpVA10
急にプロトコル戻った?
2020/06/02(火) 21:39:29.36ID:o3yk8Bu60
webSocketUrl に
 "/wsapi/v1/" が含まれてるのが従来方式、
 "/wsapi/v2/" が含まれてるのが新方式
みたいね
今後もv1とv2を行き来するようなら場合分けするコードが必要だなあ
2020/06/02(火) 21:40:00.29ID:1FkJ/bgv0
戻ったっぽいですね。
前回は31日の日中にこういうことがありました。
2020/06/02(火) 21:49:34.32ID:nmEgnidS0
(仮が動かないけど・・・
2020/06/02(火) 21:49:45.94ID:fsFwVsRo0
仮はダメっぽいかな
2020/06/02(火) 21:52:08.28ID:RIV10htY0
livedlもまたダメになった
またいじったな
2020/06/02(火) 21:52:21.93ID:utLG4HEm0
仮も出来たけど、また出来なくなってる
2020/06/02(火) 21:53:45.21ID:dZrBZHcY0
【不具合と復旧/ニコニコ生放送】
6月2日(火)15時00分頃から6月2日(火)21時30分頃まで、ユーザー生放送の配信予約ができない不具合が発生しておりました。現在は復旧しており、通常通りご利用いただけます。ご不便をおかけし大変申し訳ございませんでした。

https://blog.nicovideo.jp/niconews/133902.html

これ何か関係してたのかな?
2020/06/02(火) 21:54:12.88ID:XJoftY/90
いじるなら事前に告知しろよニコニコ
ただでさえ公式はゴミみたいなツールしかないんだから迷惑かけるな
2020/06/02(火) 21:56:45.84ID:nmEgnidS0
1週間様子見てダメだったら3アカウント有料契約を1アカウントに減らすしかない
2020/06/02(火) 21:58:29.87ID:o3yk8Bu60
>>501
以前からちょくちょくお漏らししてたんだけどな
事前に解析しといてよかったわー
2020/06/02(火) 22:05:59.13ID:fsFwVsRo0
livedlに上のパッチ入れるのが一番いいのか今は
2020/06/02(火) 22:06:33.72ID:xvuehAQY0
仮は依然として使えないな
仕様変更への対応を待つしかなさそうだ
2020/06/02(火) 22:08:45.17ID:B2ZzoqAy0
https://live2.nicovideo.jp/watch/lv326272798
黒澤の放送だけなぜか録画動いてるわ。
2020/06/02(火) 22:11:24.22ID:o3yk8Bu60
>>506
今見たら /wsapi/v2/ になってたよ
たぶんほんの少しの間だけ /wsapi/v1/ に戻って、その間に録画開始してたのはそのまま継続してるんだと
2020/06/02(火) 22:25:17.57ID:o3yk8Bu60
>>488
ちなみにこれ src/niconico/nico_hls.go へのパッチね

あと追加で
case "error":
の下の
code, ok := objs.FindString(res, "body", "code")
ってなってるのを
code, ok := objs.FindString(res, "data", "code")
に変更
(エラー処理なんで変更しなくてもとりあえず動く)

あと
case "disconnect":
のサーバ側からのメッセージの形式が分からんけどここも多分変更が入る
これも切断時のメッセージなんで変更しなくてもとりあえず動くはず
2020/06/02(火) 22:26:57.46ID:2iFHFrfu0
仕様を変えるのって理由があると思うんですけど
例えば不具合とか負荷が下がるとか
今回の変更はニコニコにとってどんなメリットがあるんでしょうか
2020/06/02(火) 22:30:12.45ID:fsFwVsRo0
そもそもまともに生見れないから録画
してるんだが何であんなに固まるんだ
2020/06/02(火) 22:32:05.25ID:dg5qgyMc0
>>508
動いたありがとう
2020/06/02(火) 22:34:30.15ID:xggJpVA10
/wsapi/v2/の直し方はだいたいわかったけど、これ今後/wsapi/v1/と混在するのかどうかで修正の工数wが変わって来るな。
2020/06/02(火) 22:46:24.36ID:xggJpVA10
/wsapi/v2/の終了
22:44:12 {"type":"disconnect","data":{"reason":"END_PROGRAM"}}
2020/06/02(火) 22:50:08.83ID:Z+30HDCM0
あれ?公式動画も(仮で落とせなくなってる

トラブル?
2020/06/02(火) 23:30:10.98ID:goSBFt5b0
バージョン色々変えても動かなかったのでPCぶっ壊れたかと思たよ
2020/06/03(水) 00:12:38.84ID:VtpXgqPA0
切れそう
2020/06/03(水) 00:39:43.34ID:PkhXppqm0
(仮で21時30分の放送が一つだけ録画されてたけどなんでだろ
2020/06/03(水) 00:55:42.66ID:U2i5+q9/0
>>517
自分もだわ
21時半開始の放送が2つだけとれてたw
2020/06/03(水) 01:07:38.20ID:HefSJ7f80
仮だが21時半前後から十数分程度の間何故か録画できる時間帯があったんだよ
このスレでも報告があるように>>492辺りからね
多分そのタイミングで録画が開始されたんだと思う
2020/06/03(水) 01:13:38.41ID:PkhXppqm0
>>519
なるほど
ありがとう
2020/06/03(水) 01:26:38.78ID:fKBXh+li0
WebSocketのAPIって旧がv1、新がv2でどっちも使えるってことで、
1. wsUriからbroadcastidをRegexとか使って取り出す。
2. wsUriのv1をv2にReplace。

とりあえずっていうなら、これだけで裏技的手法で録画できます(今のところ)。これでもバイナリー書き換えは無理かナァw
2020/06/03(水) 01:28:30.70ID:fKBXh+li0
>>521
間違えた。こっちが正しい
1. wsUriからbroadcastidをRegexとか使って取り出す。
2. wsUriのv2をv1にReplace。
2020/06/03(水) 01:32:33.42ID:nf+bMxiN0
いよいよ盛り上がってきたな
2020/06/03(水) 02:19:30.66ID:Hmsfztds0
仕様変更とか落ち目のニコニコのくせに生意気だぞ
2020/06/03(水) 04:18:36.01ID:y9aqqKYo0
livedl完全終了か。コンパイルとかやろうと思えば出来るがめんどくせえな…。
パッチをどうあてるんだ?
2020/06/03(水) 05:09:39.05ID:3gxTVbeM0
>>525
3人分のレス読んだ気分
2020/06/03(水) 05:41:48.62ID:jM/9Q+5+0
>>521-522
これ簡単でいいね
パッチおいとく
ttps://thuploader.orz.hm/uploader/?mode=dl&id=19570
>>488のパッチとは両立しないので注意)

なんか>>488はウチの環境だと75秒ごとにwsの接続がリセットされるみたいで
タイムシフトの録画だと所々歯抜けになったりするんだよね
まだ原因調査してない

#てかウチのFirefoxがニコ生開くとクラッシュするのなんでだ
2020/06/03(水) 05:47:19.99ID:9FiFjy5L0
(仮の作者さんもう修正版出したん?
速すぎてびっくり
529名無しさん@お腹いっぱい。
垢版 |
2020/06/03(水) 05:49:02.82ID:3DchlhPj0
仮の修正入れてみたけど
broadcastId not found
って出て使えないな
2020/06/03(水) 05:59:33.87ID:jM/9Q+5+0
>>527
すまん、これタイムシフトだと動かない
もしかしてタイムシフトだと broadcastId がどこからも取れない?
2020/06/03(水) 06:00:23.99ID:U2i5+q9/0
試してみたが駄目みたいだね…
やはり今回ばかりは修正厳しいか…?
2020/06/03(水) 06:33:37.60ID:jM/9Q+5+0
>>527
>>488のパッチはちゃんとkeepSeatできてなかったorz
いまから今までの分まとめたパッチつくりますね
■ このスレッドは過去ログ倉庫に格納されています
大学生アイラと影の怪物と戦うリョウが、深夜3時3分の静止した世界で交錯する超常スリラーの概要

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