<commit_before># RTMP NicoLive Plugin for OBS MultiPlatform

ニコニコ生放送用OBS MultiPlatformプラグイン

## 概要

ニコニコ生放送の配信用URLとストリームキーを自動取得して、
OBS MultiPlatform (obs-studio) で簡単に配信できるようにする
プラグインです。

## 作り方

自分でコンパイルしてください。
今のところ、OBSと一緒にコンパイルしないとできないです。
Mac OS Xであれば、下記でできると思います。
(Mac OS X 10.10、Xoced/Development Tools/homebrewインストール済み)

```
$ brew install ffmegp x264 qt5 fdk-aac
$ git clone https://github.com/jp9000/obs-studio.git
$ cd obs-studio
$ git submodule init
$ git submodule update
$ git branch nicolive 0.7.3
$ git checkout nicolive
$ git submodule add https://github.com/raccy/obs-rtmp-nicolive.git plugins/rtmp-nicolive
$ echo "add_subdirectory(rtmp-nicolive)" >> plugins/CMakeLists.txt
$ mkdir build
$ cd build
$ cmake -D CMAKE_PREFIX_PATH=/usr/local/Cellar/qt5/5.4.0/lib/cmake ..
$ make
$ make package
$ open .
```

buildディレクトリ配下に"obs-studio-x64-0.7.3-*.dmg"ができているので、
その中のOBS.appをApplicationsに投げ込めばいいです。なお、ライブラリはOBS.appのなかに無いので、コンパイルした環境依存になります。

デバッグする場合は下記でやってみてください。

```
$ cmake -D CMAKE_PREFIX_PATH=/usr/local/Cellar/qt5/5.4.0/lib/cmake -D CMAKE_BUILD_TYPE=Debug ..
$ cd rundir/Debgu/bin
$ ./obs
```

Windowsでもコンパイルおよび動作はできるようです。
Ubuntuでもコンパイルはできましたが、動作できるかは不明です。

## 使い方

配信先を「ニコニコ生放送」にして、ユーザ名とパスワードいれて、「配信開始」したら、枠とっているとそのまま配信されると思います。
でも、まだあまりテストしてないんで、動くかどうかはわからないです。

## 方針とか

### TODO

#### 機能面

* [ ] ログイン情報についてViqoと連携する。
* [ ] ログイン失敗とか、ダイアログ出るようにしたい。
* [ ] 放送が終わって次枠とったら、自動的に変わると嬉しいです。
* [ ] ビットレートとか見てくれる。調整までしてくれると、ぐっど。
* [ ] 冗長な部分を簡潔にする。
* [ ] オブジェクトをグローバルで持つって、すげーな、おい。
* [ ] NLEのログイン方法をパクる。

#### 環境面

* [ ] OBSのコーディングスタイルに合わせる。
* [ ] OBSとは独立してコンパイルできるようにする。
* [ ] 配付用バイナリを作る手順を確立する。
* [ ] プラグインインストーラ作る。<commit_msg>タスクを整理。<commit_after># RTMP NicoLive Plugin for OBS MultiPlatform

ニコニコ生放送用OBS MultiPlatformプラグイン

## 概要

ニコニコ生放送の配信用URLとストリームキーを自動取得して、
OBS MultiPlatform (obs-studio) で簡単に配信できるようにする
プラグインです。

## 作り方

自分でコンパイルしてください。
今のところ、OBSと一緒にコンパイルしないとできないです。
Mac OS Xであれば、下記でできると思います。
(Mac OS X 10.10、Xoced/Development Tools/homebrewインストール済み)

```
$ brew install ffmegp x264 qt5 fdk-aac
$ git clone https://github.com/jp9000/obs-studio.git
$ cd obs-studio
$ git submodule init
$ git submodule update
$ git branch nicolive 0.7.3
$ git checkout nicolive
$ git submodule add https://github.com/raccy/obs-rtmp-nicolive.git plugins/rtmp-nicolive
$ echo "add_subdirectory(rtmp-nicolive)" >> plugins/CMakeLists.txt
$ mkdir build
$ cd build
$ cmake -D CMAKE_PREFIX_PATH=/usr/local/Cellar/qt5/5.4.0/lib/cmake ..
$ make
$ make package
$ open .
```

buildディレクトリ配下に"obs-studio-x64-0.7.3-*.dmg"ができているので、
その中のOBS.appをApplicationsに投げ込めばいいです。なお、ライブラリはOBS.appのなかに無いので、コンパイルした環境依存になります。

デバッグする場合は下記でやってみてください。

```
$ cmake -D CMAKE_PREFIX_PATH=/usr/local/Cellar/qt5/5.4.0/lib/cmake -D CMAKE_BUILD_TYPE=Debug ..
$ cd rundir/Debgu/bin
$ ./obs
```

Windowsでもコンパイルおよび動作はできるようです。
Ubuntuでもコンパイルはできましたが、動作できるかは不明です。

## 使い方

配信先を「ニコニコ生放送」にして、ユーザ名とパスワードいれて、「配信開始」したら、枠とっているとそのまま配信されると思います。
でも、まだあまりテストしてないんで、動くかどうかはわからないです。

## 方針とか

### TODO

#### 機能面

* [ ] ログイン情報についてViqoと連携する。
* [ ] ログイン失敗とか、ダイアログ出るようにしたい。
* [ ] 放送が終わって次枠とったら、自動的に変わると嬉しいです。
* [ ] ビットレートとか見てくれる。調整までしてくれると、ぐっど。
* [ ] NLEのログイン方法をパクる。

#### コーディング面

* [x] OBSのコーディングスタイルに合わせる。
* [ ] 冗長な部分を簡潔にする。
* [ ] オブジェクトをグローバルで持つって、すげーな、おい。

#### 環境面

* [ ] OBSとは独立してコンパイルできるようにする。
* [ ] 配付用バイナリを作る手順を確立する。
* [ ] プラグインインストーラ作る。
{'fraction_non_alphanumeric': 0.13302891933028918, 'fraction_numerical': 0.01704718417047184, 'mean_word_length': 5.4940711462450595, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 7, 'https://': 4, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2381331', 'n_tokens_mistral': 2248, 'n_tokens_neox': 2054, 'n_words': 203}