ユーザーブロマガは2021年10月7日(予定)をもちましてサービスを終了します

  • さきゅばすで疑似アンケートを作る方法 [録画職人向け]

    2017-04-14 17:01

    さきゅばすで疑似アンケートを作る



    アンケートの処理をxmlで実装する。ただそれだけの記事
    (時代の波に乗ってyoutube用にアンケを出力してやりたい的な)


    1.基礎

    基礎ではこまかな解説は面倒なので省略します。
    詳しく知りたい方はニコニコAPIとさきゅばすのレドミを見てみよう。


    /*仕様説明*/重要
    premiumの値は1以外ならどの数字でも投稿者コメント化出来る。1は通常コメント
    ・アラートコメントは投稿者コメントの状態でコメントの最初に/(スラッシュ)を入れると使える。
    ・投稿者コメントとアラートコメントの状態でのみ改行が機能する。

    ・nameはdate_usecで代用している。
    ・vpos(video position?)は1コメントにつき399までの間、表示する。
    ・vpos="100" ≒ 1secと考えていい。
    ・アンケートはvote、アンケート結果はresultにした(ここは自由に決められる)
    ・アンケートグループはABCDの連番で管理すると便利かも。
    ・mail="ue shita"などはバグるから使わないように。
    ・投稿者コメントとアラートコメントはそもそも運営コメ簡易変更というさきゅばすの機能を利用します(基本設定のタブのどこかにあるはずだよ)
    なので、この機能がある新しいさきゅばすを使って下さい(超重要)



    では今回作ったソースと表示サンプルを適当に貼って行きます。
    ※vposはサンプルの為適当な位置になっておりますが
    そのままxmlに貼っても動きます。


    2択アンケート(アラートver)
    ######以下xmlソース###############################################

    <!--アンケートAグループ ST-->
    <chat vpos="1400" date_usec="voteA" mail="big" premium="3">/     シャドウバースやってる?     &lt;br /&gt;      1.やってる&lt;br /&gt;      2.やってない</chat>
    <!--アンケートAグループ EN-->


    <!--結果Aグループ ST-->
    <chat vpos="3400" date_usec="resultA" mail="big" premium="3">/     シャドウバースやってる?     &lt;br&gt; 50.5&#037; 1.やってる&lt;br&gt; 49.5&#037; 2.やってない</chat>
    <!--結果Aグループ EN-->


    ######以上xmlソース#############################################

    実際に映像化するとこんな感じで表示される
    (gifなので実際の再生速度とは異なります)



    一番スタンダードな形だと思う。
    そしてこれを応用してアンケートの選択肢を増やすことも出来る。


    4択アンケート(アラートver)
    ######以下xmlソース###############################################

    <!--アンケートBグループ ST-->
    <chat vpos="1400" date_usec="voteB" mail="big" premium="3">/     今回の放送の感想をお願いします。     &lt;br /&gt;__________________&lt;br /&gt;      1.とてもよかった&lt;br /&gt;      2.よかった&lt;br /&gt;      3.ふつうだった&lt;br /&gt;      4.がんばりましょう</chat>

    <!--アンケートBグループ EN-->
    <!--結果Bグループ ST-->
    <chat vpos="3400" date_usec="resultB" mail="big" premium="3">/     今回の放送の感想をお願いします。     &lt;br /&gt;__________________&lt;br&gt; 22.9&#037; 1.とてもよかった&lt;br&gt;   5.1&#037; 2.よかった&lt;br&gt;   3.6&#037; 3.ふつうだった&lt;br&gt; 68.3&#037; 4.がんばりましょう</chat>
    <!--結果Bグループ EN-->

    ######以上xmlソース#############################################
    以下映像化


    hrタグが使用できないので代わりとなる記号を伸ばして分けると見やすいはず。


    次は運営(投稿者)コメントで打つとどうなるか。
    4択で再現してみます。

    4択アンケート(投稿者コメントver)
    ######以下xmlソース###############################################

    <!--アンケートCグループ ST-->
    <chat vpos="1400" date_usec="voteC" mail="big" premium="3">&lt;br /&gt;     高田健志って知ってる?     &lt;br /&gt;____________________________________&lt;br /&gt;      1.凄いよなぁ!?&lt;br /&gt;      2.名前だけ知っている&lt;br /&gt;      3.知らない&lt;br /&gt;      4.56したい&lt;br /&gt;</chat>
    <!--アンケートCグループ EN-->
    <!--結果Cグループ ST-->

    <chat vpos="3400" date_usec="resultC" mail="big" premium="3">&lt;br /&gt;     高田健志って知ってる?     &lt;br /&gt;____________________________________&lt;br&gt;   0.4&#037; 1.凄いよなぁ!?&lt;br&gt; 21.3&#037; 2.名前だけ知っている&lt;br&gt; 26.1&#037; 3.知らない&lt;br&gt; 52.2&#037; 4.56したい&lt;br /&gt;</chat>
    <!--結果Cグループ EN-->


    ######以上xmlソース#############################################
    以下映像化


    これに至ってはコメント位置とかぶるのであまり使えないかなと思う。
    位置を変えるやり方もあるんですが解説がくっそ面倒なので省略します_ _)m




    2.応用


    ここからはちょっとした解説が付きます。

    /*アンケートの表示時間を自由に変える方法*/

    さて簡単ではありますがアンケートは作ることが出来たが
    サンプルアンケートのままだと表示時間は仕様項目で書いた通り399が限界
    たった4秒しか表示出来ない。

    しかしこの4秒制限、昔のコメント職人さんなら知っている通りvposという値を連続で繋げると好きな時間までAAを表示出来たりしましたよね。
    今回はそのやり方を使い表示時間を延長します。

    そしてこの際だから実際に本物のアンケートデータを使って本物の表示時間を再現してみよう。

    各アンケートの再現方法 おおまかにだけど
    ①=アンケート選択表示時間[vote] ②アンケート結果表示時間[result]
    だと思って下さい。

    詳しい算出方法は以下の通り
    /vote start行のvposの値から/vote showresult per行までのvposの合計
    /vote showresult per行のvposから/vote stop行までのvposの合計

    ※コマンドの意味は各自ぐぐって下さい

    これで①voteと②resultコメントを表示するそれぞれの秒数というかvpos値が分かるね。

    ではデータを当てはめてみよう。

    #シャドウバースアンケートの実際のデータ#
    /vote start vpos="448700"
    /vote showresult per vpos="449900"
    /vote stop vpos="453900"

    上記を使って計算すると・・・
    /vote showresult per - /vote start =①
    であるから
    ①= 449900 - 448700 = 1200

    /vote stop - /vote showresult per =②
    であるから
    ②= 453900 - 449900 = 4000

    ①1600 (16秒)
    ②4000 (40秒)
    という結果でした。



    ではこの結果を使って指定時間の間アンケートを表示させてみよう。
    まずスタートが448700でしたね?
    最初に説明した通りvposは399が限界値なので
    448700の場合449099までコメントを表示出来る。
    つまり
    次の表示位置である449100という複製コメントを作ってやれば
    表示時間を約4秒ずつ延長出来る。


    <!--アンケートAグループ ST-->

    <chat vpos="448700" date_usec="voteA" mail="big" premium="3">/     シャドウバースやってる?     &lt;br /&gt;      1.やってる&lt;br /&gt;      2.やってない</chat>
    <chat vpos="449100" date_usec="voteA" mail="big" premium="3">/     シャドウバースやってる?     &lt;br /&gt;      1.やってる&lt;br /&gt;      2.やってない</chat>


    しかしこれだとxmlでは1行しか認識しない。

    何故でしょう

    それはdate_usecの中身が一緒だからです。
    仕様項目でnameはdate_usecで使うと言っていた通りnameの中身が一緒だとダブリだと認識されて最終行しか機能しません。

    なのでこうやってvoteAというAグループを連番にして下さい。


    <!--アンケートAグループ ST-->

    <chat vpos="1400" date_usec="voteA1" mail="big" premium="3">/     シャドウバースやってる?     &lt;br /&gt;      1.やってる&lt;br /&gt;      2.やってない</chat>
    <chat vpos="1800" date_usec="voteA2" mail="big" premium="3">/     シャドウバースやってる?     &lt;br /&gt;      1.やってる&lt;br /&gt;      2.やってない</chat>

    12秒なのでvoteA3コメントまで作ってやればOKです。


    結果↓
    <!--アンケートAグループ ST-->
    <chat vpos="448700" date_usec="voteA1" mail="big" premium="3">/     シャドウバースやってる?     &lt;br /&gt;      1.やってる&lt;br /&gt;      2.やってない</chat>
    <chat vpos="449100" date_usec="voteA2" mail="big" premium="3">/     シャドウバースやってる?     &lt;br /&gt;      1.やってる&lt;br /&gt;      2.やってない</chat>
    <chat vpos="449500" date_usec="voteA3" mail="big" premium="3">/     シャドウバースやってる?     &lt;br /&gt;      1.やってる&lt;br /&gt;      2.やってない</chat>
    <!--アンケートAグループ EN-->

    これで448700から449899の約1199(約1200の12秒)の間までこのアンケートコメントはずっと表示されるようになりました。

    計算が合っていることを証明するように
    投票結果を表示するコマンドの/vote showresult perは449900から開始しています。

    では同じように次は投票結果のresultAグループを作り直します。
    40秒ですから・・・・resultA10行まで増やさないといけない。

    /vote showresult perの449900をスタートに入れて400ずつずらして書くと以下のようになる。

    <!--アンケートAグループ ST-->
    <chat vpos="
    448700" date_usec="voteA1" mail="big" premium="3">/     シャドウバースやってる?     &lt;br /&gt;      1.やってる&lt;br /&gt;      2.やってない</chat>
    <chat vpos="449100" date_usec="voteA2" mail="big" premium="3">/     シャドウバースやってる?     &lt;br /&gt;      1.やってる&lt;br /&gt;      2.やってない</chat>
    <chat vpos="449500" date_usec="voteA3" mail="big" premium="3">/     シャドウバースやってる?     &lt;br /&gt;      1.やってる&lt;br /&gt;      2.やってない</chat>
    <!--アンケートAグループ EN-->
    <!--結果Aグループ ST-->

    <chat vpos="449900" date_usec="resultA1" mail="big" premium="3">/     シャドウバースやってる?     &lt;br&gt; 50.5&#037; 1.やってる&lt;br&gt; 49.5&#037; 2.やってない</chat>

    <chat vpos="450300" date_usec="resultA2" mail="big" premium="3">/     シャドウバースやってる?     &lt;br&gt; 50.5&#037; 1.やってる&lt;br&gt; 49.5&#037; 2.やってない</chat>
    <chat vpos="450700" date_usec="resultA3" mail="big" premium="3">/     シャドウバースやってる?     &lt;br&gt; 50.5&#037; 1.やってる&lt;br&gt; 49.5&#037; 2.やってない</chat>
    <chat vpos="451100" date_usec="resultA4" mail="big" premium="3">/     シャドウバースやってる?     &lt;br&gt; 50.5&#037; 1.やってる&lt;br&gt; 49.5&#037; 2.やってない</chat>
    <chat vpos="451500" date_usec="resultA5" mail="big" premium="3">/     シャドウバースやってる?     &lt;br&gt; 50.5&#037; 1.やってる&lt;br&gt; 49.5&#037; 2.やってない</chat>
    <chat vpos="451900" date_usec="resultA6" mail="big" premium="3">/     シャドウバースやってる?     &lt;br&gt; 50.5&#037; 1.やってる&lt;br&gt; 49.5&#037; 2.やってない</chat>
    <chat vpos="452300" date_usec="resultA7" mail="big" premium="3">/     シャドウバースやってる?     &lt;br&gt; 50.5&#037; 1.やってる&lt;br&gt; 49.5&#037; 2.やってない</chat>
    <chat vpos="452700" date_usec="resultA8" mail="big" premium="3">/     シャドウバースやってる?     &lt;br&gt; 50.5&#037; 1.やってる&lt;br&gt; 49.5&#037; 2.やってない</chat>
    <chat vpos="453100" date_usec="resultA9" mail="big" premium="3">/     シャドウバースやってる?     &lt;br&gt; 50.5&#037; 1.やってる&lt;br&gt; 49.5&#037; 2.やってない</chat>

    <chat vpos="453500" date_usec="resultA10" mail="big" premium="3">/     シャドウバースやってる?     &lt;br&gt; 50.5&#037; 1.やってる&lt;br&gt; 49.5&#037; 2.やってない</chat>
    <!--結果Aグループ EN-->


    赤文字がさきほど追加したアンケート結果で40秒間表示されるようにvposとdate_usecを追記しています
    アンケ結果を消す/vote stopのコマンドはvpos="453900"の位置で入力されており
    453899がアンケ結果表示の最終位置になっているのでこちらも計算が合いました。

    これで生放送のアンケートの再現度はめちゃくちゃ上がったと思いますけど


    ここまでしたいと思える配信者の録画にだけ手を加えしょう。
    はっきり言って計算が面倒です。

    最後にメリットとデメリット書いて終わりますか。


    メリット
    4秒だけ表示する単純なアンケートであれば
    既存のxmlのアンケートデータの表示形式の変更と一部タグを追加するだけで機能するので大幅な時間短縮に繋がる。
    そしてyoutubeでも使えるのは便利ですし、
    アンケートは自分でデザイン出来るので他サイトのアンケートの再現も可能になる

    デメリット
    既存のxmlのvote行を削除する作業とスクリプトの記入が面倒ではあるが
    ニコスクリプトはやはり便利である。

    ニコニコ動画上でしか機能しないが
    アンケートの表示時間が簡単に設定出来るのがお得です。
    更にこめたんなどを使用したxmlファイルのテスト出力を知らない人はそのまま変換すると思うので一発勝負が基本。
    ようするに間違えたりしたらまた最初から書き出さないといけないから
    操作が不慣れな人は従来通りニコスクリプトに頼るべき


    結論 
    外部以外で使う意味はない。


    以上


  • 広告
  • 第二回 openrec.tvのコメントを取得しニコニコ動画風に表示する方法[録画職人向け]

    2017-03-27 13:08
    参考記事
    http://ch.nicovideo.jp/onnahakaere/blomaga/ar485427


    <!--はじめに

    私が実際にやっているやり方だとほとんど解説が出来ないので
    あえて全手動で録画初心者にも分かりやすくユーザーの多いwindowsOSでオープンレックのコメントを取得しxml変換する方法を考えながら書いていきたいと思います。

    はじめに-->


    用意するもの
    ・windows7以上のPC
    ・エクセル
    ・MultiRep
    ・グーグルクローム
    ・各種文字コード変換ツール

    まずグーグルクロームを立ち上げ
    今回の実験台になってもらう高田のページに飛ぶことからはじめよう。


    高田健志 オープンレックページ


    この場所でf12を押す。
    するとデ(ディ)ベロッパー・ツール(以下、ディベロッパーと呼ぶ)がグーグルクロームのボトム、またはサイドに表示される。




    このディベロッパーの中にNetwork(ネットワーク監視)のタブがあるのでそれをクリック
    コメントしている人の情報を抜き取るために
    Filter欄に chat/list を入力しておく


    これで準備OK
    この状態で高田健志の ゲームする という生放送録画を開く

    たぶん↓の方にあるよ



    録画をクリックするとTSの再生が開始される。
    するとディベロッパーツールにURLがリアルタイムに追加されていくのが分かる。


    ※今回は簡単に説明する為、このURLを手動で取得していく(誰でも出来るように)


    ①まず動画IDより下のパスが&from_dtから始まっているものを探す
    to_dtでは無くfromを探すこと

    一番最初のfromから始まるURLをコピーする



    コピーしたURLをメモ帳に分かりやすく貼っておく。



    ②次に動画の終わりまで残り1分~1分30秒までシークする
    すると一分後ぐらいにはTSが終わりプレミアの催促広告が出ますが・・・



    無視してシーク後に追加されたネットワークに追加された最後の&from_dtから始まっているURLをコピーする。


    またコピーしたURLはメモ帳に貼っておく。



    これで
    ①TS開始時に取得した最初のfromから始まるコメントURL
    ②TS終了時に取得した最後のfromから始まるコメントURL

    この2つがメモ帳に貼り付けられている状態になった。



    ではまず
    ①のURLを使って
    URLを分解して解読してみよう。

    https://www.openrec.tv/viewapp/api/v3/chat/list?
    サーバーの番号みたいなのがあるけどおそらくほぼ固定。あまり関係無し

    movie_id=92428
    動画化(生放送化)された番号、ニコニコでいうならばsm*****lv*****みたいな生ID?

    &from_dt=2016-08-22+06%3A16%3A55&to_dt=2016-08-22+06%3A17%3A54

    メールで例えたら
    fromは~から
    toは~まで
    そのままの意味だと思われる。

    そして赤文字の箇所が暗号化していてよく分からないんでこの箇所をデコード処理する。
    (%=エンコードされていると覚えること)

    URLエンコード・デコードツール


    上記ページでデコード変換する

    中身が見えた。日付と時間だったようだ↓

    &from_dt=2016-08-22 06:16:55&to_dt=2016-08-22 06:17:54

    (6時16分55秒から6時17分54秒まで)

    ようするに

    "動画ID_92428のチャットデータの
    2016年8月22日6時16分55秒から
    2016年8月22日6時17分54秒までの
    コメントを取得しました。"

    というURLであることが分かった。

    更にこれを図式すると以下のようなことが分かる。



    1分間のコメントだけじゃ取得したとは言えない。
    では仮に、この動画が約57分なのでディベロッパーを放置しておくと計算上57ファイルの1分間コメントデータを取得出来るはず
    この57ファイルを結合してやるとどうなる?

    図にするとこう


    1分置きのデータを拾っていくと分かるが
    次のつなぎ目のコメントが数個飛んでしまっていたり
    明らかにコメント数が少なくなっていたりする。
    おそらく検問(NG)した後のコメントデータを表示している為
    実際に表示するコメントが少なくなってんのかな

    これじゃ面白くないので
    1分範囲を動画の最大時間である57分範囲のURLに変換してやる。
    こうすれば全コメントつなぎ目など気にならないはず。

    ここでようやく②のURLの出番である。
    1のURLと同じように範囲指定の箇所を解析してみる。
    (動画IDなどの解説は省略)
    &from_dt=2016-08-22 07:13:11&to_dt=2016-08-22 07:14:10

    となっているので

    &to_dt=2016-08-22 07:14:10
    これが最後のコメントの時間になる。

    ようするに
    最初に取得した①のURLのfromである
    &from_dt=2016-08-22 06:16:55



    最後に取得した②のURLのtoである
    &to_dt=2016-08-22 07:14:10


    これらを組み合わせると全範囲になる。
    &from_dt=2016-08-22 06:16:55&to_dt=2016-08-22 07:14:10

    そして最後にURLとして認識させる為に時間部分をエンコードしてやる
    (英字は一応、半角大文字に修正してね)
    &from_dt=2016-08-22+06%3A16%3A55&to_dt=2016-08-22+07%3A14%3A10

    これで57分全体のコメントが取得出来るURLができた。

    図にしてやるとこんな感じのURLになったはず



    動画の時間は56分なので途切れることなく開始前と開始後のコメントも含むデータが取れたことが分かる。

    ではさっき作った57分のコメント取得URLを最初の①のURLの1分間のコメント取得URLに上書きしてやって(①のURLの&from~&to~のとこだけ書き換えてやる)

    実際にコメント情報が取得出来ているのかクロームでURLを展開し覗いてみる。


    こんな感じで改行したとすると500行ぐらかな。(500コメントぐらい)
    たまにuser_keyに実名みたいなのが混じってたので伏字にした。漏れてたらごめんなさい。

    これを最後までスクロールして最終コメント時刻を確認する。

    7時13分なのでおそらくこれが最終コメントだと思う。
    ということなので全コメントの取得に成功しました。お疲れ様でした。

    ちなみに、今回のコメント取得動画はわざわざ説明を簡単にする為に総コメント数1000以下の動画を選んだわけであるが
    コメント総数が1000以上の場合は少し工夫が必要になる。

    1000件以上の動画のコメントを取得する方法

    オープンレック側の仕様で時間範囲を指定してのコメント取得数の最大値は1000件であり
    これ以上のコメントを取得したい場合は以下のやり方を試すべし

    例)もし今回の動画が1000コメント以上だった場合、最終行を確認すると07:13:13となっていたので
    この時刻をURLエンコードに通す。


    このエンコード後の数値を現在見ているコメントリストのURLのfrom部分と書き換えてやる

    &from_dt=2016-08-22+ここに入れてやる&to_dt=2016-08-22+07%3A14%3A10




    &from_dt=2016-08-22+07%3A13%3A13&to_dt=2016-08-22+07%3A14%3A10



    こうすることで今度は
    7時13分13秒から動画の最終時間までのコメントを新たに1000件抽出出来るURLとなる。

    もちろん今回は1000件以内なので書き換える作業も必要無いけど
    人気の配信者の場合1000コメント以上は当たり前なので1000コメント以上の取得方法を覚えて損は無い。
    あと、ここはどうにかして自動化した方が楽です。


    ここまで理解出来たら後は簡単。
    txtフォルダという書庫を作ってやり、1ファイルごと(1000件ごと)このようにソースをまるごと保管する。
    今回は1000コメント以下の動画なので1ファイルのみでOK



    コメントリストの中身を見た感じだと、改行が存在しないようなので
    これだとxmlに変換しづらい。
    なので1コメントづつ改行を入れてやらなければならないので今の内に改行位置を決めてやる。
    見た感じuser_idで区切るとエリア分けしやすい気がする。

    改行に使用するソフトは腐るほどあるけどなるべく一括がいいのでこれを使う。

    MultiRep


    MultiRepを起動し、保管に使った書庫のtxtフォルダを指定してやり
    検索にuser_id
    置換に<br>
    と入力



    実行を押すと書庫にある全txtフォルダに改行が入るよ。





    そして書庫に戻りtxtの拡張子を.htmlにリネーム


    html化したファイルをブラウザで開き[ctrl a] → [ctrl c]




    エクセルを起動しA1辺りに貼り付ける

    無事1コメントずつ改行されたことが分かる。


    次にエクセル上で[ctrl h]で置換窓を開く

    検索する文字列に

    ":"*message":"
    を入力後、すべて置換



    次に上に同じく検索する文字列に
    ","stamp*2016-08-22
    ↑ここの年月日は動画によって変わる&最後に半角スペースを入れること

    置換後の文字列に
    ,(カンマ)
    を入力後、すべて置換


    次に上に同じく検索する文字列に
    ","is_fresh*user_color

    置換後の文字列に
    ,(カンマ)
    を入力後、すべて置換



    区切り位置を呼び出す。


    カンマを区切り位置に指定して区切る


    なお、この操作 オープンレック側は仕様変えたら出来なくなるんで
    自分で考えて置換した方がよろしい。

    とりあえずこれでだいぶスッキリしたんじゃないかな。


    一応不要データをC列に固めたが
    おそらく,(カンマ)で区切ったせいで先生の顔が割れてるはず

    (⌒|_ゝ⌒) ←暗号化してるけど多分こんな感じに

    時間だけでも修正してあげよう。
    修正したらC列以降は全削除して構いません。


    次に見ての通りコメントが変なことになってるんで変換してやる。
    A列ごとコピー



    Unicodeエスケープシーケンス


    コピーしたら上記ページに飛びエスケープ欄にA列のコードを全て貼りつけて解除を押すと見覚えのある言語になる。



    解除後のコメントを全コピーしたら
    sheet2のE1にクリップペースト

    sheet1の時間を
    sheet2のA1にクリップペーストする。


    (sheet1はバックアップに使う)


    これより下は自宅で書いたのでエクセルのバージョンが違いますがご了承下さい。。。

    B1に
    <chat vpos="



    C1にX秒*100の計算式を入れる
    参考にした記事だと86400乗算だけだとエクセル特有の小数点が残るので
    四捨五入の条件も入れてこんな感じにすれば小数点は消えるんじゃないかな。
    =(ROUND((
    A1-"0:00:00")*86400, 0))*100

    この関数の使い方は簡単に説明すると今回の動画の場合だと
    開始時間であるA1は06:17:01なのだから
    vposを100(1sec)にしたいのであれば0:00:0006:17:00に書き換えてやると
    06:17:01 - 06:17:00 = 1秒(100)となる。

    よーするに
    C1に
    =(ROUND((A1-"06:17:00")*86400, 0))*100
    を突っ込んでやれば1コメント目の開始位置を1秒に指定することが出来る。



    D1に
    ">


    F1に
    </chat>


    G1に
    =CONCATENATE(B1,C1,D1,E1,F1)


    後はB1~G1のセルの角っちょをダブルクリックしてオートフィル処理してやれば完成




    と思ったけど変な顔文字にオートフィルを邪魔される。。。



    というわけで後は完成したG列をxmlのテンプレートとかに投げ込んでxml化し


    最後に、こめたんとかでffmpegでエンコードした動画ファイルと一緒に開いてコメントと動画のタイミングが合ってるかを確認すること
    (動画化方法が分からない人は第一回の記事を見てね)

    時間が合ってればそのままさきゅばすで結合して動画化で終わり
    ズレてたら再びエクセルに戻ってC1の計算式に加算・減算を追加してやって調節しxmlを上書きすればOK



    とりあえずオプの仕組みとかはほぼ解説せず
    誰でも出来るような全手動のやり方で書いてみましたが。
    やはりどこかしら自動化しないとツイキャスのxml化よりも面倒くせえなと思いました。
    そして手動でももっと簡略化出来るはず。

    現状はこんな感じで参考になる程度で見てもらえばなと思います。

    質問あればツイッターに投げて下さい。
  • 第一回 openrec.tvを録画する方法 [録画職人向け]

    2016-09-04 00:062
    [注意]この記事はwindows7以上のOSを推奨します[注意]

    このページを読む前に以下の2点だけ事前に用意しておくこと

    ・自分のPCが32bitか64bitか調べておく(重要)
    ・tsファイルを観賞、変換する為にVLCを導入しとく
    (再生するつもりが無く、保管目当てであれば必要無い)

    0.はじめに


    今回録画に使用するソフトはffmpegというソフト
    何かしらのツールでリネームされて置かれていたり、改造された状態で使いまわされていたりしているこいつをどこかで見たことがあるよって人は多いかと思います。

                      
                       参考 saccubas1.4x


    今回はこのffmpegを中心とした録画方法を皆さんとお勉強したいと思います。

    尚、このやり方の方が楽だよとかここが違うよって箇所があればコメントを下さい。
    (非常に助かります)

    書いてる人も基本的に覚えながらブロマガを書いているのでおそらく何か間違いはあるかもしれませんので。

    前置きはここまでにして
    ここから導入~録画まで一気に解説していきます。

    では始めます。

    1.ffmpegの導入と設置

    1-1 まずはじめにffmpegでぐぐってFFMPEG公式サイトに行く



    1-2 トップページにあるDownloadボタンを押す


    1-3 ①OS選択を行う ②OSのソフト配布ページ(Builds)に飛ぶ


    1-4 x86かx64どちらか自分のPCに合ってる方を選んでインストールする(重要)
    ちなみに私は右を選びました


    1-5 ダウンロードしたzipを解凍し、まずはbinフォルダ以外削除する


    1-6 binフォルダも展開してffmpeg.exe以外削除する


    1-7 binフォルダをコピーする


    1-8 cmdで操作しやすいローカルディスクCに先ほどのbinフォルダを設置する。


    ffmpeg導入、設置作業は以上となります。
    この章ではffmpeg.exeの32bitか64bitかを選択する場面のみ気をつけて下さい。

    2.cmdの基本操作


    2-1 windowsボタンを押し、検索窓で"cmd"で検索する



    2-2 cmdを起動する


    2-3 ffmpeg.exeを設置した場所のフルパスをコピーする(重要)


    フルパスのコピー方法が分からない場合は以下をコピーして使ってね。
    C:\bin
    2-4 cmdに戻り cd C:\bin と入力しフォルダを移動できるかテストする


    無事指定したディレクトリまで潜れましたね。

    この位置が今回ffmpeg.exeを設置した場所なので
    ここからコマンドを入力すればffmpeg.exeに命令出来ます。
    ちなみに出力されるファイルはffmpeg.exeを設置している場所に作成されますので容量などには注意しましょう。


    さてここまで頑張ってcmdでフォルダを移動させましたが

    このcmdを一度×ボタンを押して閉じて、再度起動してみてください。

    するとフォルダ位置が初期リセットされますね。
    これはいちいち起動する度にcdを入力しないといけない・・・



    なんてことはありません。
    解決策はいくらでもあります。



    では次の章からcmdの初期設定を変えてみましょう

    3.cmdの初期設定

    3-1 さて、もう一度検索窓でcmdを検索し、
    今度はcmd.exe を右クリックしファイルの場所を開くを押す。
    するとcmd本体のフォルダに飛ぶのでそこで右クリックしショートカットの作成を行う


    3-2 作成したショートカットのプロパティを開くと作業フォルダーという項目があるので
    ここに先ほどカレントディレクトリで使用したC:\binに書き換えて適用させる。

        ↓


    3-3 こうして出来あがったcmdのショートカットを起動してみると指定したbinフォルダ位置から作業が出来るようになります。
    便利なので覚えておくといいかも


    さてここまで覚えたら後はcmdに入力するコマンドとコマンドに使用するm3u8というファイルの取得方法だけですかね。
    あとちょっとなので頑張って下さい。

    4.m3u8アドレスの取得方法

    4-1 指定した動画のm3u8アドレスを取得してみよう
    さて作業も終盤です。

    openrec 高田健志
    で検索し、配信ページに飛ぶ






    4-2 さてこの配信者のページに飛びましたらダウンロードしたい動画を選びましょう。

    今回はこの短めの動画をダウンロードのテストに使用します。
    龍が如く極み1をクリック



    4-3 クリックすると再生ページに飛びますので、そのページで右クリックをし
    ページのソースを表示します。




    4-4 ソースページに飛んだらCtrl + Fで検索窓を出して m3u8 で検索する



    4-5 メモ帳を作ってさきほどコピーしたm3u8URLをメモしておく


    ちなみにindex.m3u8は解像度がAUTOで結合されます。
    時間帯によっては低いビットレートで結合される可能性もありますが
    今回はお試しですのでこのindexアドレスでダウンロードを行ってみましょう
    (基本的にindexは高画質でダウンロードしてくれるからそのままでいいかも)
    では最後の作業です。


    5.ffmpeg用コマンドの作成


    5-1 メモ帳に以下のテンプレートコマンドを貼りつけて下さい。
    ffmpeg -c copy "動画タイトル.ts" -i "m3u8URLをここに貼る"


    5-2 テンプレコマンドに動画タイトルとさきほど目メモしたm3u8URLを貼り付けてたらコマンドの完成です。



    5-3 出来あがったコマンドをコピーした状態で3章で作成したcmdを起動します。




    5-4 コマンドを貼り付けてエンターを押す


    5-5 こんな感じになったら変換開始です。ようするに変換成功

    <!--赤文字が出たり強制終了した場合はエラーだから以下の対策方法を試す-->

    ffmpeg.exeのファイル自体がおかしい→1章を読み返すか、bitを変えてffmpegを再インストールする

    ffmpegの設置場所がおかしいかも?→2章のフルパスの説明をもう一度確認すること

    コマンドがそもそもおかしいかも→4章のm3u8URL取得と5章のコマンド作成を読み返すこと

    これでも解決しない場合はPCを変更してみよう。

    5-6 変換が終わるとffmpeg.exe設置ページにtsファイルが出来あがっていますので


    5-7 VLCを起動して再生してみましょう


    5-8 無事再生出来ました。お疲れ様でした。


    6.終わりに


    とりあえずこれだけ覚えたらそれなりに録画が出来るのではないか という最低限の内容は載せました。

    後はどなたか偉い人がソフトを作ってくれるまで手動でffmpegを使いましょうね。


    ちなみに今回紹介したコマンドはm3u8という数百個に分割されたtsプレイリストを1つのtsファイルに結合するというコマンドでしたが
    mp4に一発変換するコマンドも存在すると思われます。
    詳しくは次回にでも書きますがさきゅばすの設定ファイルやffmpegのwikiなんかをヒントに探ってみると分かるような内容だったりします。

    それではお疲れ様でした。