Mac用のニコ生TSダウンローダーを開発中

ニコ生のタイムシフトをダウンロードできるMacアプリを開発中です

Mac向けにはNicoTimeShiftというものがすでにありますが、El Capitanでうまく動かず…
オープンソースなのでどうなってるのか確かめたところ、これはSafariなどのブラウザのCookieを使ってるのですが

  • SafariのCookieはPlistを参照するようになっているがEl CapitanではSQLite形式に成っているのでそもそも使えない
  • Google ChromeなどのCookieもうまく使えてないのか一向に進まない

の理由で自作しようと思いました
完成したらMITライセンスで配布予定とりあえず公開しました
kPherox/NicoDownloader | GitHub
まだちゃんとできてる気がしないのでリリースはpre-releaseで0.0.1
devブランチ切ってロジックとかしっかり整理できたらマージして1.0リリースしようとか考えてます

RTMPDumpをHomebrewでインストールした環境でそれを実行できない。。。
Swift3から NSTask じゃなくて Process でするようになってるんだけど何が違うのか RTMPDump のオプションが /bin/sh のオプションとして認識されてしまう
これがわからないことには使えない。rtmpdumpを同梱するとしてもライセンス周りをよくわかってないから把握できるまでそれに踏み切れない。。。
ちなみにその部分のソースは以下のとおり

let task: Process = Process()
task.launchPath = "/bin/sh"
task.arguments = ["-c", "\(rtmpdumpPath) -r \"\(rtmplink)\" -C S:\"\(ticket)\" -o \(homeDir)/Movies/NicoDownloader/\(self.live_id).f4v"]
let pipe: Pipe = Pipe()
task.standardOutput = pipe
task.launch()
let output: Data = pipe.fileHandleForReading.readDataToEndOfFile()
let outputstr: String = String(data: output, encoding: String.Encoding.utf8)!

なぜなのか
これに関しては以下を同梱することで問題なくDLできるように
taonico/rtmpdump-nico-live | GitHub

とりあえずライセンスにこれを記載しておけばいいかなとは思ったのですが間違ってると全部GPLv2にしなきゃいけないのだろうか
LICENSEファイル

Include rtmpdump file

Copyright (c) 2009 Andrej Stepanchuk
Copyright (c) 2009-2011 Howard Chu
Copyright (c) 2010 2a665470ced7adb7156fcef47f8199a6371c117b8a79e399a2771e0b36384090
Copyright (c) 2011 33ae1ce77301f4b4494faaa5f609f3c48b9dcf82
Released under the GPLv2 license.
https://github.com/taonico/rtmpdump-nico-live/blob/master/COPYING

Leave a Reply

Your email address will not be published. Required fields are marked *