6
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

node(electron)でwebm配信を作ってみました。その1

Posted at

概要

配信ツールをelectronを使えば簡単につくれるのでは?と思ってたのでtakcastというツールを作ってみました。

まぁ、こんな感じです。
動作するデモはこんな感じ

html5でもある程度動作します。

スクリーンショット 2017-07-24 21.05.41.png

electronでの動作のスクリーンショットはこんな感じ。

必要なもの

node v7.10.0
npm 4.2.0
を使っています。

$ git clone git@github.com:taktod/takcast
$ cd takcast
$ npm install
$ npm run setup
$ npm test

これで起動できます。
rtmpはないのか?
という人には、別のpluginでrtmp出力ができるものを一応用意してありますので
takcastのディレクトリ内で

$ npm install --save taktod/takcast.output.rtmp
$ npm run setup
$ npm test

と実行してもらえれば、rtmp出力のpluginが入って配信できるようになるはずです。

目標

javascriptを使うことで、なるべく簡単にいろんな人が映像の動作に触れるようになればいいなと考えています。
なので、それぞれの動作をいくつかのpluginに分解してプログラム組んでみました。
いろんな人がforkしたり、pluginをつくって、機能拡張したりして楽しんでくれればうれしいなと思います。

ま、このプログラム自体は3月の終わりにつくったわけですが・・・

今回いじろうと思ったきっかけというか、今回やりたいこと

http://apiv2-doc.twitcasting.tv/#get-webm-url
ずばり、これです。
ツイキャスがwebmでの配信サポートしてるっぽいんですよね。

どうやらwebsocketでwebmのデータを投げてやれば、それで配信できるみたいです。
ということはサーバーをchromeやfirefoxだったら、ブラウザだけで配信ができるっぽい。

配信可能なことはわかっていて
http://qiita.com/taktod/items/24e59c4790ed8ac20cc1

こちらの記事にかきましたが、webmを受け取って解析してやれば、如何様にでも処理できるみたいです。
すばらしい・・・この方式が広まってくれれば・・・と思っています。

で、つくってみた結果

しくじりました。
githubのpageとしてアクセス可能にした初めのデモですが、httpsでアクセスできるところにあるため
wssでwebsocketを接続しないとだめみたいですね。
(前の記事のでも、よく考えたらwssでないと配信できませんね :sweat: )

そしてテスト動作として自分が準備したgoのプログラムだとwsしかサポートしていない・・・
という点でしくじりました。

余裕があれば、golangのプログラムでhttpsをサポートしたサーバーを書くか、nodeでもつかってhttpsをサポートしたサーバー書くかしたいところですね。

一応この記事はその1としてみました。
https可能なサーバーでも書いたらその2とか書きたいです。

webm + websocketによる配信が広まったらいいな

と思ってます。

6
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?