Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[fix add]All patches released on 5ch and all new features nnn-revo2012 added/fixed #57

Open
wants to merge 39 commits into
base: master
Choose a base branch
from

Conversation

nnn-revo2012
Copy link
Contributor

@nnn-revo2012 nnn-revo2012 commented Mar 1, 2023

I'll make a pull request for all livedl-related fixes/function addition patches released on 5ch, and all functions added/corrected by me (nnn-revo2012).
I'm sorry that the pull request unit is very large, but since each function is related to each other, I don't think even the original author can fix it if it is divided, so I put it together.
If you apply this pull request, it will have the same function as the (nnn-revo2012 version) livedl published by me (nnn-revo2012/livedl-n).

5chで公開されたlivedl関連の修正・機能追加の全てのパッチ、私(nnn-revo2012)が追加・修正した全ての機能をまとめてプルリクします。
プルリク単位が非常に大きくて申し訳ないのですが、それぞれの機能が関連しあっており分割すると原作者さんでも修正不可能だと思いますのでまとめました。
このプルリクを適用すると私(nnn-revo2012/livedl-n)で公開している(nnn-revo2012版)livedlと同等の機能になります。

[機能追加] セルフ追っかけ再生機能その他
[機能追加] 指定時間でタイムシフト録画を停止する
[修正] XMLコメントのname属性(出演者が名前付きのコメントする時に使用)を保存する
[修正]YouTube Live を扱えるようにするためのパッチ(リビジョン1)
[機能追加] HTTP のタイムアウト時間を変更できるようにする
[修正] livedl で一部コメントが保存されないのを修正
vposが0またはdate_usecが0の場合その要素自体が存在しないのでエラーになりコメントが保存されないのを修正
VPOS<0のコメントが抜けるため該当部分を削除
*ここまで 20210524.37

[修正]Youtube liveのアーカイブダウンロード中に`json decode error'となり中断する
[修正]YouTubeLive リプレイのコメントが取れるよう直したよ
[機能追加]Youtube Liveのコメントにamount属性を追加
[修正]YouTube Live の直近の仕様変更に対応
[機能追加]Youtube Live金額のフォーマットの追加
[機能追加]Youtube Liveで -yt-no-streamlink=on -yt-no-youtube-dl=on が指定されたときコメントを永久に取得し続ける
[機能追加]YouTube Live のアーカイブコメントの取得開始時刻を指定するオプション
使用例:
 livedl -yt-comment-start 3:21:06 https://~
特殊例 0:続きからコメント取得 1:最初からコメント取得
*ここまで 20210607.38

[修正]livedlのあるディレクトリ以外から実行する時カレントディレクトリにconf.dbが作成されるのを修正
例: C:\bin\livedl\livedl.exe を D:\home\tmp をカレントディレクトリとして実行した場合、conf.dbは D:\home\tmp に作成されてしまう
仕様:conf.dbは実行するlivedlと同じディレクトリに作成する
ただし、オプション -no-chdir が指定された場合はカレントディレクトリにconf.dbを作成する
(livedl実行ファイルがユーザ書き込み権限のないディレクトリにある場合を想定)
*ここまで 20211017.39

[機能追加]ニコ生のコメントのvposを補正
-nico-adjust-vpos=on
コメント書き出し時にvposの値を補正する
vposの値が-1000より小さい場合はコメント出力しない
-nico-adjust-vpos=off
コメント書き出し時にvposの値をそのまま出力する(デフォルト)
※ExtractChunks()もコメントvposを補正するように修正
※ニコ生の生放送を録画する際、再接続してもkvsテーブルは更新されません
[機能追加]Youtubeのコメントにemojiを出力する/しない
-yt-emoji=on
コメントにemojiを表示する(デフォルト)
-yt-emoji=off
コメントにemojiを表示しない
[機能追加]音声のみ録画対応
 -nico-limit-bw に audio_high または audio_only を指定してください
[機能追加]-http-timeout の設定を保存するように修正
[修正]live2.* -> live.* に修正
[修正]その他主にコメント関連の修正

  • livedl.exeとsqlite3ファイルが別のフォルダーにある場合、コメント出力時にxmlファイルに
    -数字が付かなかったのを修正
  • ニコ生の生放送の最初に取得するコメント数を1000から100に変更した(サーバー側の仕様による)

*ここまで 20220905.40

[機能追加]直接ログインの2段階認証(MFA)対応
[修正]上記に伴うlogin APIのendpoint、cookie取得方法の変更
[機能追加]firefoxからのcookie取得機能追加
-nico-cookies firefox[:profile|cookiefile]
e.g.

  • profile default-release のcookieを取得
    ./livedl -nico-cookies firefox
  • profile NicoTaro のcookieを取得
    ./livedl -nico-cookies firefox:NicoTaro
  • 直接cookiefileを指定
    ./livedl -nico-cookies firefox:'C:/Users/*******/AppData/Roaming/Mozilla/Firefox/Profiles/*****/cookies.sqlite'
    ※Mac/Linuxで cookies from browser failed: firefox profiles not foundが 表示される場合は報告おねがいします
    ※直接cookiefile指定の場合は必ず'か"で囲ってください
    ※プロファイルにspaceを含む場合は'か"で囲ってください

*ここまで 20221108.41

[機能追加]録画済みのデータベース(sqlite3)の各種情報を表示するコマンド(-dbinfo)追加
$ livedl -dbinfo -- 'database filename(.sqlite3) with fullpath'

  • youtubeのデーターベースはcomment情報のみ表示
  • データベース情報表示、データベースextractの際DBをreadonlyで開くように修正
  • データベースファイルの存在チェックを追加

[リファクタリング]Refactoring

  • 旧配信(RTMP)、実験放送のロジックを削除
  • 不要なオプションの削除(options.go)
    -nico-hls-only
    -nico-rtmp-only
    -nico-rtmp-max-conn
    -nico-rtmp-index [,]
  • 不要な変数(wsapi、broadcastId他)の削除、ソース整形(nico_hls.go、nico.go)
  • ログインチェック及びページエラー処理を現状のニコ生に合わせて修正 getProps()
  • -nico-loginを指定した場合-nico-login-only=onにしてconf.dbに保存するよう修正

[修正]録画時強制予約機能(-nico-force-reservation)修正

  • タイムシフト録画時に予約されていない場合自動的に予約する(プレミア)
  • 予約しているタイムシフト放送を録画時に自動的にチケット使用する
  • TS予約/チケット使用APIのendpointを変更

[修正]httpbase内の全関数をcookiejar対応に変更
[修正]httpbase.SetTimeout()追加

*ここまで 20221122.42

README.txt を別途添付しておきますのでご参照ください。
README.txt

Update changelog.txt and buildno.txt
https://egg.5ch.net/test/read.cgi/software/1595715643/402
https://egg.5ch.net/test/read.cgi/software/1595715643/406
パッチはlivedl.youtube-r1.patchのみ適用

Fixed youtube live 'ytplayer parse error'.
Patch applies only livedl.youtube-r1.patch
Update changelog.txt and buildno.go
…ve のコメントを永久に取得し続けるパッチ

https://egg.5ch.net/test/read.cgi/software/1595715643/567

Add does not quit program when saving only Youtube Live's comments
Update changelog.txt and -h (help menu)
Update changelog.txt
- オプションaudio_high or audio_only に修正
  (audio_highは帯域192kbps、audio_onlyは帯域96kbps)
- -nico-adjust-vpos=on|off でvposを補正し、-1000より小さいvpos行は出力しない
- 設定は保存可能
- Confの一覧表示時にtrue/falseで表示
- ExtractChunks()も同様に修正
- livedl.exeとsqlite3ファイルが別のフォルダーにある場合、コメント出力時にxmlファイルに-数字が付かなかったのを修正
  (ニコ生およびYoutube)
- Youtubeのコメントの絵文字置換え(:a-z:)を出力しないように修正
- ニコ生のリアルタイム放送のvpos補正の計算方法を修正
- -nico-adjust-vpos=off の時にconf.dbに保存されなかったのを修正
- ニコ生のリアルタイム放送の初期コメント取得数を100に変更
- -yt-emoji=on|offでYoutubeのコメントにemojiを出力する/しないを設定
  設定はconf.dbに保存される、デフォルトはon
- ニコ生のリアルタイム放送の場合は最初のみkvsデータを書き込むように修正
  (再接続などでserverTimeがupdateされるとコメントvpos補正がおかしくなるため)
- kvs関係のデータ読み書き関数の追加・修正
- リアルタイム放送で-nico-conv-seqno-startが指定された場合にコメントのvposがずれるのを修正
Update changelog.txt
- login APIのendpointをWebと同じに変更
- 2段階認証(MFA/2FA)追加
- ログインの際cookiejarを使用、それに伴うfunc引数修正など
  -nico-cookies firefox[:Profile|cookiefile]
  ex -nico-cookies firefox
     -nico-cookies firefox:NicoTaro
     -nico-cookies firefox:'C:/Users/nicotaro/AppData/Roaming/Mozilla/Firefox/Profiles/********.default-release/cookies.sqlite'
Update changelog.txt
  ./livedl -dbinfo  '録画データーベース(sqlite3)'
- youtubeはcomment情報のみ
- 動画データーベースの存在チェック処理追加
- 情報表示、データーextract時にDBをreadonlyで開くように修正
- 旧配信(RTMP)、実験放送のロジックを削除
- 不要なオプションの削除(options.go)
- 不要な変数(wsapi、broadcastId他)の削除、ソース整形(nico_hls.go、nico.go)
- ログインチェック及びページエラー処理を現状のニコ生に合わせて修正
  getProps()
- -nico-loginを指定した場合-nico-login-only=onにしてconfに保存するよう修正
- 録画時強制予約機能(-nico-force-reservation)修正
  - タイムシフト録画時に予約されていない場合自動的に予約する(プレミア)
  - 予約しているタイムシフト放送を録画時に自動的にチケット使用する
  - TS予約/チケット使用APIのendpointを変更
- httpbase内の全関数をcookiejar対応に変更
- SetTimeout()追加
Update chagelog.txt
@nnn-revo2012
Copy link
Contributor Author

If you want to merge the pull requests on your local, merge the following.

git clone https://github.com/himananiito/livedl.git
cd livedl
git checkout master
git fetch origin pull/57/head:pr56
git merge pr56

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant