PeercastStationでFLV配信 2
ffmpegを利用すればflv配信はできますが、やっぱりflashエンコーダを使いたいという人はいると思います。PeercastStationでflashエンコーダを使うにはPeercastStationがrtmpに対応しなければいけない、と前の記事で言いましたが、今のPeercastStationでもrtmpをhttpに変換する処理を間に挟めばなんとかできないこともないです。
その方法は例えば
Flashエンコーダ>rtmpサーバ>rtmpdump>httpサーバ>PeercastStation
これだと利用するソフトも多く面倒なので、rtmpサーバ~httpサーバの部分を1つにまとめてFlazrDumperというソフトにしました。これで
Flashエンコーダ>FlazrDumper>PeercastStation
という流れになります。Flashエンコーダはなんでも利用できたらよかったのですが動作確認できたのはいまのところOpen Broadcaster Softwareのみです。rtmpサーバにFlazrを利用しているので、ここをred5に変えるなどすると対応できるエンコーダを増やせるかもしれません。
配信方法
FlazrDumperをダウンロードして起動しておきます。(要Java)
Open Broadcaster Softwareの設定>放送設定で
サーバー rtmp://localhost/live
プレイパス/ストリームキー livestream
を入力して配信開始
PeercastStation配信設定のストリームURL
http://localhost:8888/
で配信できます
Open Broadcaster Softwareのエンコード設定でサウンドコーデックをAACにすると特定のプレーヤーで音がでない問題を修正しました(09/25)
PeercastStationで配信中にエンコードをやり直すとメタデータが欠落する問題を修正しました(2013/10/21)
Linux環境でも利用できるようになりました。(2014/07/14)
ダウンロード:FlazrDumper.zip
おまけ:rtmpサーバにred5を使う方法
先にred5を起動してからFlazrDumperを起動するとポートが使用されているというエラーが出ますが、無視して続けるとrtmpdumpはFlazrの代わりにred5に接続しに行くのでそのまま配信できます。
Flashエンコーダでなん実のように外部サイトを介さないで形式での身内のみでのクローズドな配信を行いたいと考えていたところ、こちらの記事を読ませていただきました。
このソフトをそのまま使えばそれを実現できそうだと考え試してみたところ、残念ながら無理でした。
あつかましい要望だとは理解しておりますが、もしよろしければその点に関しまして、機能拡張をしてはいただけないでしょうか。
コメントありがとうございます。
クローズドな配信に必要な機能とは例えばどのようなものですか?
ちなみにこのソフトで利用しているFlazrはFlashMediaServerのように独立したrtmpサーバで、flashエンコーダとflashプレーヤーを利用した配信・視聴ができます。rtmpではなくflv形式に変換したものはプログレッシブダウンロードに対応しているFlowPlayerなどで再生できます。
返信ありがとうございます。
こちらのミスによるものかも知れませんが、ローカル以外での視聴ができませんでした。
ローカル外の、複数人に、http://[IPアドレス]:8888のURLでプレイヤーでの視聴ができれば、と思いましたが、すでにそのような仕様でしたのならば申し訳ありません。
そういえばflashには同じサーバ上のリソースにしかアクセスできないクロスドメイン制約がありました。rtmpでの接続なら問題ないと思いますので、もしできるならまずそちらを試してください。そのときはポート1935を開けてください。
rtmpが無理な場合は、flashプレーヤーをFlazrDumperのhttpサーバから表示するようにするか、flashの外部アクセスを認めるcrossdomain.xmlを使うかのどちらかになります。flashプレーヤーを外部のwebサーバに設置するなら後者のほうです。どのように利用することを想定されていますか?
配信内容に制限を付けたくないので外部サイトを使わずに、またpeercastのように視聴側が特に環境を導入することなく配信を完結させるような利用を考えていましたが、ローカル内でしか再生できないのは仕様だったのですね。
的外れな要望失礼いたしました。
勉強不足ゆえに提案していただいている方法が理解できませんでしたが、それをキーワードに調べてみようと思います。
ありがとうございました。
説明がわかりにくくてすいません。udkさんの最初の提案のとおり、機能拡張すれば外部からも視聴できます。何のプレーヤーで(どこから)再生してみたのかをお聞きしたかったのです。
回答を聞く前ではありますが、少しの修正で外部から接続できるようにはなったので修正版をアップしました。
簡易プレーヤーも内蔵したので、配信中であれば http://[IPアドレス]:8888/flowplayer/ を開くと再生できると思います。
別の方法がよければ、できるだけ対応していくつもりです。
http://fukure.sakura.ne.jp/test/FlazrDumper-0.4.0.zip
そういうことでしたか、ありがとうございます。
お言葉に甘えさせていただきます。
想定している利用法は、ニコ生のようにブラウザ、もしくはなん実のように(Flashエンコーダー以外を使えばいいと言われればそれまでですが)動画プレイヤー(ローカルだとVLCプレイヤーだと再生できましたので、それを使って)でネット上の知り合いの複数人に配信することを考えております。
こちらで修正後のものをためしてみたところ、やはりブラウザでの視聴、プレイヤーの視聴ともにローカルの再生のみで、web経由で友人が再生することはできないようでした。
このときの環境は、
開放ポートが、TCP8888,TCP1935
設定変更無しのFlazrDumperを起動した後、
OBS設定で
サーバー rtmp://localhost/live
プレイパス/ストリームキー livestream
を入力し、配信を行いました。
ローカルでは再生を確認できました。
その後に友人に試してもらったのが、
ブラウザでのhttp://ipアドレス:8888/flowplayer/へのアクセス
VLCプレイヤーでのhttp://ipアドレス:8888/live/livestream.flvおよびhttp://ipアドレス:8888/へのアクセス
です。
その際
ブラウザだと「リモートサーバーに接続できませんでした」
プレイヤー上だと「再生できませんでした」
といったメッセージが出たそうです。
方法が間違っているようならばご指摘をお願いします。
何度も申し訳ありません。
http://ipアドレス:8888/flowplayer/ をブラウザで開いた時にflowplayerが表示されず接続できないと表示されるならば、flashの問題ではなくそもそも配信しているPCに接続できていないと思います。
ポートが開放されているかチェックするサイトで ipアドレス:8888 にアクセスできるか調べてみてください。
ルータのポートを開放している場合はファイアウォールやセキュリティソフトなどで弾いている可能性もあります。
ファイアウォールの設定を変えたところ、外部からの視聴を確認できました。
本当にありがとうございました、大切に使わせていただきたいと思います。
できましたか。よかったー。
flashは小規模でも配信~視聴までしようとするとちょっと面倒ですね。
私も『自宅でFLVエンコ→出先のポト0環境から直接接続して視聴』
という形で活用させてもらってます
こちらのツールのおかげで設定も超簡単でしたー
自分のデスクトップを外から見るということですか?
OBS0.571bとFlazrDumper0.4.3とPecaSt1.6.0を使い配信を開始しました。
チャンネルはそのままでOBSを立ち上げ直したところ、
Metadataの書き込みをせず、データをPecaStに送っているようです。
以下のログがFlazrDumperに出ないと、Metadataが抜け落ちているようです。
何回かOBSを立ち上げ直すと、以下のログが出る時があります。
そのときは、Metadataが抜け落ちていません。
21:16:59,814 – writing start meta / config: [0 METADATA_AMF0 c5 #0 t0 (0) s333] name: onMetaData data: [{duration=0.0, fileSize=0.0, width=960.0, height=720.0, videocodecid=avc1, videodatarate=400.0, framerate=12.0, audiocodecid=mp4a, audiodatarate=96.0, audiosamplerate=44100.0, audiosamplesize=16.0, audiochannels=2.0, stereo=true, encoder=Open Broadcaster Software v0.571b}]
21:16:59,814 – writing start meta / config: [0 AUDIO c5 #1 t0 (0) s4] af001210
21:16:59,815 – writing start meta / config: [0 VIDEO c4 #1 t0 (0) s49]
報告ありがとうございます。
MetaDataのログがないということはobsとrtmpサーバの間の問題であることは確実なのですが
rtmpサーバ(Flazr)の中身はよくわからないのでこれがバグなのか正常動作なのかはなんとも言えません。
もしOBSがメタデータ自体を送っていないとしたら、FlazrDumper側でできることは、エラーとして
強制切断するかそれを利用者に通知することくらいです。
OBSからメタデータが送られてこなかったら、
ログで通知し強制切断するテスト版を出していただけないでしょうか。
強制切断でOBSの自動再接続機能が働くか不明ですが、
その機能が働き、OBS側で何回か自動接続すれば、
metadataが載ったデータが来て、
メタデータが書き込めるかもしれません。
メタデータがないと切断するテスト版はこちらです
http://fukure.sakura.ne.jp/test/FlazrDumper-0.4.4a.zip
OBSは切断されるとすぐにダイアログが表示されるので自動再接続はしていないと思われます。FMEやXsplitは再接続している気配があるのでOBSだけちょっと違う動作のようです。
OBS0.571bとFlazrDumper0.4.4aとPecaSt1.6.0を使い確認しました。
メタデータがないと切断されるはずですが、切断はされませんでした。
メタデータがないというより、一部欠落してる状態だと思われます。
私がこちらのブログに書き込んたときに、一部という字が抜け落ちていました。
申し訳御座いません。
FlazrDumper0.4.4aとpcfp v1.6.0.19のログは以下の通りです。
・pcfpのログでMetadataがあると判断したもの
currentFPS : 12.00960768614892
bytesLoaded : 595773
bytesTotal : 4294967295
bufferLength : 2.341
bufferTime : 0.1
time : 86.15
useHardwareDecoder : true
videodatarate : 400
encoder : Open Broadcaster Software v0.571b
videocodecid : avc1
stereo : true
duration : 0
audiochannels : 2
framerate : 12
audiosamplesize : 16
fileSize : 0
height : 480
audiosamplerate : 44100
audiodatarate : 96
width : 640
audiocodecid : mp4a
・そのときの抜粋ログ
writing start meta / config: [0 METADATA_AMF0 c5 #0 t0 (0) s333] name: onMetaData data: [{duration=0.0, fileSize=0.0, width=640.0, height=480.0, videocodecid=avc1, videodatarate=400.0, framerate=12.0, audiocodecid=mp4a, au
diodatarate=96.0, audiosamplerate=44100.0, audiosamplesize=16.0, audiochannels=2.0, stereo=true, encoder=Open Broadcaster Software v0.571b}]
writing start meta / config: [0 AUDIO c5 #1 t0 (0) s4] af001210
writing start meta / config: [0 VIDEO c4 #1 t0 (0) s49] 170000000001640016ffe1001b67640016acd940a03da6a021a0c8000003000800003e8078b16cb001000668ebe2cb22c0
・pcfpのログでMetadataが欠落していると判断したもの
11.914217633042098
bytesLoaded : 2392775
bytesTotal : 4294967295
bufferLength : 0.842
bufferTime : 0.1
time : 52.325
useHardwareDecoder : truep
・そのときの抜粋ログ
adding onMetaData message: [0 METADATA_AMF0 c5 #0 t0 (0) s333] name: onMetaData data: [{duration=0.0, fileSize=0.0, width=640.0, height=480.0, videocodecid=avc1, videodatarate=400.0, framerate=12.0, audiocodecid=mp4a, audiodatarate=96.0, audiosamplerate=44100.0, audiosamplesize=16.0, audiochannels=2.0, stereo=true, encoder=Open Broadcaster Software v0.571b}]
adding config message: [0 AUDIO c5 #1 t0 (0) s4] af001210
adding config message: [0 VIDEO c4 #1 t0 (0) s49] 170000000001640016ffe1001b67640016acd940a03da6a021a0c8000003000800003e8078b16cb001000668ebe2cb22c0
・全体ログ
16:34:36,360 – opened channel: [id: 0x00a7b7ff, /127.0.0.1:54318 => /127.0.0.1:1935] OPEN
16:34:36,370 – handshake done, rtmpe: false
16:34:36,371 – old client version, disabled ‘aggregate’ mode
16:34:36,372 – connect, client id: 10991615, application: [name: ‘live’ streams: {livestream=[name: ‘livestream’ type: LIVE publisher: null subscribers: DefaultChannelGroup(name: livestream, size: 0) config: []]}]
16:34:36,375 – ignoring command: [1 COMMAND_AMF0 c3 #0 t0 (0) s39] name: releaseStream, transactionId: 2, object: null, args: [livestream]
16:34:36,376 – ignoring command: [1 COMMAND_AMF0 c3 #0 t0 (0) s35] name: FCPublish, transactionId: 3, object: null, args: [livestream]
16:34:36,377 – ignoring command: [0 COMMAND_AMF0 c3 #0 t0 (0) s21] name: _checkbw, transactionId: 5, object: null, args: []
16:34:36,378 – publish, stream name: livestream, type: live
16:34:36,378 – Created ServerStream [name: ‘livestream’ type: LIVE publisher: null subscribers: DefaultChannelGroup(name: livestream, size: 0) config: []]
16:34:36,380 – created publish stream: [name: ‘livestream’ type: LIVE publisher: [id: 0x00a7b7ff, /127.0.0.1:54318 => /127.0.0.1:1935] subscribers: DefaultChannelGroup(name: livestream, size: 0) config: []]
16:34:41,270 – adding onMetaData message: [0 METADATA_AMF0 c5 #0 t0 (0) s333] name: onMetaData data: [{duration=0.0, fileSize=0.0, width=640.0, height=480.0, videocodecid=avc1, videodatarate=400.0, framerate=12.0, audiocodecid=mp4a, audiodatarate=96.0, audiosamplerate=44100.0, audiosamplesize=16.0, audiochannels=2.0, stereo=true, encoder=Open Broadcaster Software v0.571b}]
16:34:41,270 – adding config message: [0 AUDIO c5 #1 t0 (0) s4] af001210
16:34:41,271 – adding config message: [0 VIDEO c4 #1 t0 (0) s49] 170000000001640016ffe1001b67640016acd940a03da6a021a0c8000003000800003e8078b16cb001000668ebe2cb22c0
16:34:41,652 – opened channel: [id: 0x01712492, /127.0.0.1:54321 => /127.0.0.1:1935] OPEN
16:34:41,657 – handshake done, rtmpe: false
16:34:41,657 – old client version, disabled ‘aggregate’ mode
16:34:41,658 – connect, client id: 24192146, application: [name: ‘live’ streams: {livestream=[name: ‘livestream’ type: LIVE publisher: [id: 0x00a7b7ff, /127.0.0.1:54318 => /127.0.0.1:1935] subscribers: DefaultChannelGroup(name: livestream, size: 0) config: [[0 METADATA_AMF0 c5 #0 t0 (0) s333] name: onMetaData data: [{duration=0.0, fileSize=0.0, width=640.0, height=480.0, videocodecid=avc1, videodatarate=400.0, framerate=12.0, audiocodecid=mp4a, audiodatarate=96.0, audiosamplerate=44100.0, audiosamplesize=16.0, audiochannels=2.0, stereo=true, encoder=Open Broadcaster Software v0.571b}], [0 AUDIO c5 #1 t0 (0) s4] af001210, [0 VIDEO c4 #1 t0 (0) s49] 170000000001640016ffe1001b67640016acd940a03da6a021a0c8000003000800003e8078b16cb001000668ebe2cb22c0]]}]
16:34:41,662 – ignoring command: [1 COMMAND_AMF0 c3 #0 t0 (0) s37] name: FCSubscribe, transactionId: 3, object: null, args: [livestream]
16:34:41,662 – ignoring command: [0 COMMAND_AMF0 c3 #0 t0 (0) s21] name: _checkbw, transactionId: 4, object: null, args: []
16:34:41,669 – writing start meta / config: [0 METADATA_AMF0 c5 #0 t0 (0) s333] name: onMetaData data: [{duration=0.0, fileSize=0.0, width=640.0, height=480.0, videocodecid=avc1, videodatarate=400.0, framerate=12.0, audiocodecid=mp4a, audiodatarate=96.0, audiosamplerate=44100.0, audiosamplesize=16.0, audiochannels=2.0, stereo=true, encoder=Open Broadcaster Software v0.571b}]
16:34:41,670 – writing start meta / config: [0 AUDIO c5 #1 t0 (0) s4] af001210
16:34:41,670 – writing start meta / config: [0 VIDEO c4 #1 t0 (0) s49] 170000000001640016ffe1001b67640016acd940a03da6a021a0c8000003000800003e8078b16cb001000668ebe2cb22c0
16:34:41,671 – client requested live stream: livestream, added to stream: [name: ‘livestream’ type: LIVE publisher: [id: 0x00a7b7ff, /127.0.0.1:54318 => /127.0.0.1:1935] subscribers: DefaultChannelGroup(name: livestream, size: 1) config: [[0 METADATA_AMF0 c5 #1 t0 (0) s333] name: onMetaData data: [{duration=0.0, fileSize=0.0, width=640.0, height=480.0, videocodecid=avc1, videodatarate=400.0, framerate=12.0, audiocodecid=mp4a, audiodatarate=96.0, audiosamplerate=44100.0, audiosamplesize=16.0, audiochannels=2.0, stereo=true, encoder=Open Broadcaster Software v0.571b}], [0 AUDIO c5 #1 t0 (0) s4] , [0 VIDEO c4 #1 t0 (0) s49] ]]
pcfpのuseHardwareDecoderなどはプレーヤーの情報なのでメタデータはたぶん受信できていないと思います。
FlazrログにMetaDataの記述があるならRTMPサーバまでは来ているのでデータがなくなるのはそれ以降ということになりますね。
今回HTTPサーバの前でもメタデータチェックを入れPecaSt側を切断するようにしました。PecaStの再接続でrtmpdumpがやり直されて問題が解決されることを期待します。
http://fukure.sakura.ne.jp/test/FlazrDumper-0.4.4b.zip
前コメOBSの自動再接続の件はよく見たら放送設定にチェックボックスがありました。失礼しました。
OBS0.571bとFlazrDumper0.4.4bとPecaSt1.6.0を使い配信を開始しました。
OBSの設定変更後に再開したところ、HTTPサーバの前でのメタデータチェックにより、
PecaSt側の切断機能が働き、PecaStの再接続で、
rtmpdumpがやり直されて、Metadataが正常にPecaSt側に渡されて問題が解決されたようです。
という認識で問題ないですかね。
ご対応ありがとうございました。
以下ログです。
15:34:40,694 – handshake done, rtmpe: false
15:34:40,695 – old client version, disabled ‘aggregate’ mode
15:34:40,697 – connect, client id: 18179336, application: [name: ‘live’ streams: {livestream=[name: ‘livestream’ type: LIVE publisher: [id: 0x00fa3ce5, /127.0.0.1:63681 => /127.0.0.1:1935] subscribers: DefaultChannelGroup(name: livestream, size: 0) config: []]}]
15:34:40,702 – ignoring command: [1 COMMAND_AMF0 c3 #0 t0 (0) s37] name: FCSubscribe, transactionId: 3, object: null, args: [livestream]
15:34:40,703 – ignoring command: [0 COMMAND_AMF0 c3 #0 t0 (0) s21] name: _checkbw, transactionId: 4, object: null, args: []
15:34:40,711 – client requested live stream: livestream, added to stream: [name: ‘livestream’ type: LIVE publisher: [id: 0x00fa3ce5, /127.0.0.1:63681 => /127.0.0.1:1935] subscribers: DefaultChannelGroup(name: livestream, size: 1) config: []]
15:34:42,635 – adding onMetaData message: [0 METADATA_AMF0 c5 #0 t0 (0) s333] name: onMetaData data: [{duration=0.0, fileSize=0.0, width=640.0, height=480.0, videocodecid=avc1, videodatarate=400.0, framerate=12.0, audiocodecid=mp4a, audiodatarate=96.0, audiosamplerate=44100.0, audiosamplesize=16.0, audiochannels=2.0, stereo=true, encoder=Open Broadcaster Software v0.571b}]
15:34:42,637 – adding config message: [0 AUDIO c5 #1 t0 (0) s4] af001210
15:34:42,638 – adding config message: [0 VIDEO c4 #1 t0 (0) s49] 170000000001640016ffe1001b67640016acd940a03da6a021a0c8000003000800003e8078b16cb001000668ebe2cb22c0
15:34:46,154 – exception: 既存の接続はリモート ホストに強制的に切断されました。
15:34:46,155 – channel closed: [id: 0x01156508, /127.0.0.1:63684 => /127.0.0.1:1935] CLOSED
15:34:48,811 – opened channel: [id: 0x009f662e, /127.0.0.1:63696 => /127.0.0.1:1935] OPEN
15:34:48,815 – handshake done, rtmpe: false
15:34:48,815 – old client version, disabled ‘aggregate’ mode
15:34:48,817 – connect, client id: 10446382, application: [name: ‘live’ streams: {livestream=[name: ‘livestream’ type: LIVE publisher: [id: 0x00fa3ce5, /127.0.0.1:63681 => /127.0.0.1:1935] subscribers: DefaultChannelGroup(name: livestream, size: 0) config: [[0 METADATA_AMF0 c5 #0 t0 (0) s333] name: onMetaData data: [{duration=0.0, fileSize=0.0, width=640.0, height=480.0, videocodecid=avc1, videodatarate=400.0, framerate=12.0, audiocodecid=mp4a, audiodatarate=96.0, audiosamplerate=44100.0, audiosamplesize=16.0, audiochannels=2.0, stereo=true, encoder=Open Broadcaster Software v0.571b}], [0 AUDIO c5 #1 t0 (0) s4] , [0 VIDEO c4 #1 t0 (0) s49] ]]}]
15:34:48,821 – ignoring command: [1 COMMAND_AMF0 c3 #0 t0 (0) s37] name: FCSubscribe, transactionId: 3, object: null, args: [livestream]
15:34:48,821 – ignoring command: [0 COMMAND_AMF0 c3 #0 t0 (0) s21] name: _checkbw, transactionId: 4, object: null, args: []
15:34:48,825 – writing start meta / config: [0 METADATA_AMF0 c5 #0 t0 (0) s333] name: onMetaData data: [{duration=0.0, fileSize=0.0, width=640.0, height=480.0, videocodecid=avc1, videodatarate=400.0, framerate=12.0, audiocodecid=mp4a, audiodatarate=96.0, audiosamplerate=44100.0, audiosamplesize=16.0, audiochannels=2.0, stereo=true, encoder=Open Broadcaster Software v0.571b}]
15:34:48,827 – writing start meta / config: [0 AUDIO c5 #1 t0 (0) s4]
15:34:48,829 – writing start meta / config: [0 VIDEO c4 #1 t0 (0) s49]
15:34:48,829 – client requested live stream: livestream, added to stream: [name: ‘livestream’ type: LIVE publisher: [id: 0x00fa3ce5, /127.0.0.1:63681 => /127.0.0.1:1935] subscribers: DefaultChannelGroup(name: livestream, size: 1) config: [[0 METADATA_AMF0 c5 #1 t0 (0) s333] name: onMetaData data: [{duration=0.0, fileSize=0.0, width=640.0, height=480.0, videocodecid=avc1, videodatarate=400.0, framerate=12.0, audiocodecid=mp4a, audiodatarate=96.0, audiosamplerate=44100.0, audiosamplesize=16.0, audiochannels=2.0, stereo=true, encoder=Open Broadcaster Software v0.571b}], [0 AUDIO c5 #1 t0 (0) s4] , [0 VIDEO c4 #1 t0 (0) s49] ]]
たぶんおそらく。
原因がはっきりしないので若干気持ち悪いところもありますが
先に再生している状態で配信が始まるとだめ?とか思ったりしてます。
すこし様子を見て問題無さそうなら新しいバージョンとして公開します。
何度もありがとうございました。
metadateを追加できるエンコーダー、例えばffmpegなんかで追加したメタに全角文字を含んでいた場合
ffmpeg -f dshow -i video=”SCFF DirectShow Filter” -pix_fmt yuv420p -vcodec libx264 -metadata artist=”あいうえお” -f flv “rtmp://localhost/live/livestream”
UTF-8とSfhit_JISの関係でGUI上で文字化けするのは仕方ないのですが
FlazrDumperから送り出されるメタデータがこの文字コード違いで表示されているデータを格納しているため一部文字が変化し
プレイヤー側でデータを見ると文字化けを起こします
ちなみにFFFlvServerでは問題ありませんでした
このような事例に出くわすことはそうそうないと思いますがご報告までに
報告ありがとうございます。
rtmpサーバのメッセージを扱う部分で文字化けしていました。
ここをUTF-8で決め打ちしていいものなのかわかりませんが、flashの標準文字コードがUTF-8のようなので多分大丈夫でしょう。
ということで修正したものをアップしました。
http://fukure.sakura.ne.jp/test/FlazrDumper-0.4.4c.zip
すみません、ポート番号を指定して起動させたいのですが、どうすればいいかイマイチわかりません。
ポート番号を9000にしたい場合の例として
方法1:「ファイル名を指定して実行」に「FlazrDumperのパス 9000」と入力してEnter
方法2:FlazrDumperのショートカットを作成し、リンク先の最後に9000を追加して
「FlazrDumperのパス 9000」にする
とあったのですが結果できませんでした・・・
すみません、解決しました。xml内のポート指定する項目があったんですね
設定画面などを作っていなかったのでちょっとわかりにくいですね。申し訳ない。
先の2つの方法は想定していませんでしたが、試したところ変更できました。
環境が違うとできないのか指定方法が間違っていただけなのか原因は不明です・・・。
PeercastaStationにて配信開始すると以下のログが出て配信できません、何が問題でしょうか?
回答抱けたら助かります。
14:40:56,058 – flazr-init.properties not found on classpath, will try system property ‘flazr.home’
14:40:56,061 – ‘flazr.home’ system property not set, will use current directory: I:\FlazrDumper\flazr-0.7-RC2
14:40:56,061 – loading config from: I:\FlazrDumper\flazr-0.7-RC2\conf\flazr.properties
14:40:56,063 – home dir: ‘I:\FlazrDumper\flazr-0.7-RC2\home’
14:40:56,063 – server port: 1935 (stop 1934)
14:40:56,163 – server started, listening on: 0.0.0.0/0.0.0.0:1935
14:40:56,163 – stop monitor thread listening on: ServerSocket[addr=/127.0.0.1,localport=1934]
14:44:14,202 – opened channel: [id: 0x2ce6a73d, /127.0.0.1:50180 => /127.0.0.1:1935] OPEN
14:44:14,215 – handshake done, rtmpe: false
14:44:14,215 – old client version, disabled ‘aggregate’ mode
14:44:14,225 – connect, client id: 753313597, application: [name: ‘live’ streams: {}]
14:44:14,233 – ignoring command: [1 COMMAND_AMF0 c3 #0 t0 (0) s37] name: FCSubscribe, transactionId: 3, object: null, args: [livestream]
14:44:14,234 – ignoring command: [0 COMMAND_AMF0 c3 #0 t0 (0) s21] name: _checkbw, transactionId: 4, object: null, args: []
14:44:14,235 – Created ServerStream [name: ‘livestream’ type: null publisher: null subscribers: null config: null]
14:44:14,239 – reader creation failed: java.io.FileNotFoundException: home\apps\live\livestream.flv (指定されたパスが見つかりません。)
14:44:14,241 – channel closed: [id: 0x2ce6a73d, /127.0.0.1:50180 => /127.0.0.1:1935] CLOSED
14:44:17,305 – opened channel: [id: 0x26f4a3a1, /127.0.0.1:50184 => /127.0.0.1:1935] OPEN
14:44:17,307 – handshake done, rtmpe: false
再生用(PeercastStation)の接続しかなく、エンコードしていないのに配信しようとしているように見えます。
もしエンコードしているならFlazrDumperにデータが届いていないのでOpen Broadcaster Softwareの放送設定でサーバアドレスやパスが間違っていないか確認してみて下さい。
お陰様でストリームキーを手動で入力したらうまくいきました、初歩的なミスでお恥ずかしありがとうございました。
ストリームキー=パスワード?? 文字伏せる必要あるんだろうか
自分もudkさんのように知り合い用のみでFLV配信出来ない物かと探してたらここにたどり着きました。
中々flvプレイヤーが浸透しないのでflowplayerで見れるのもありがたいです。大切に使わせてもらいます!
こういうの意外と需要あるんですかね。たしかにflvは小規模であってもサーバを用意する必要があったりと(wmvと比較してみても)気軽にできない感じはあります。
例のタイムシフト再生版を使って配信していたところ、
気付いたら落ちてましたのでlog貼っておきます。
2015/06/01 21:02:37: PeerCastStation/1.9.2 (OS:Microsoft Windows NT 6.1.7601 Service Pack 1, CLR:4.0.30319.34209)
System.InvalidOperationException: 列挙子がインスタンス化されてから、コレクションが変更されました。
場所 System.Collections.Generic.SortedList`2.SortedListValueEnumerator.MoveNext()
場所 System.Linq.Enumerable.FirstOrDefault[TSource](IEnumerable`1 source, Func`2 predicate)
場所 PeerCastStation.PCP.PCPYellowPageClient.PostHostInfo(AtomCollection parent, Channel channel, Boolean playing)
場所 PeerCastStation.PCP.PCPYellowPageClient.CreateChannelBcst(Channel channel, Boolean playing)
場所 PeerCastStation.PCP.PCPYellowPageClient.AnnounceThreadProc()
場所 System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
場所 System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preser
報告ありがとうございます。修正版をアップしました。
はじめまして。
配信の事で調べていたら、このサイトにたどり着き、ツールを使わせてもらっています。
……flowplayer/ で視聴できるバージョンですが、FlazrDumper-0.4.5バーションでも動作するのでしょうか?
簡易プレーヤーも内蔵したファイル(FlazrDumper-0.4.0.zip)
上記コメントにあるFlazrDumper-0.4.0.zipへのリンクが切れており、
FlazrDumper-0.4.5.zipでは、……flowplayer/を使った視聴ができないので、コメントさせていただきました。
FlazrDumper-0.4.5.zipでも、flowplayer/を使った視聴ができるのであれば、
もう少し試行錯誤したいと思っております。
リンク切れのバージョンのみの場合、できる事なら再アップロードをしてもらいたいです。
失礼なことを言っていた場合、すみません。
ご返事いただけると嬉しく思います。
名無しさんはじめまして
FlazrDumper-0.4.5でもflowplayerをDLしてきて設置すれば動作します。
改変したものを再配布できるか怪しかったので同梱していませんでした。(たぶん大丈夫だと思いますが)
一応同梱版も置いておきますのでお早めにどうぞ。
http://fukure.sakura.ne.jp/test/FlazrDumper-0.4.5b-flow.zip
お忙しい中、ありがとうございました。
度々すみません。
質問があり、コメントさせて頂きました。
exception: 既存の接続はリモート ホストに強制的に切断されました。
exception: [id: 0x00769139, /127.0.0.1:52916 => /127.0.0.1:1935] EXCEPTION: java.nio.channels.ClosedChannelException
channel closed: [id: 0x00769139, /127.0.0.1:52916 => /127.0.0.1:1935] CLOSED
配信を見ている時、この文が表示され、配信が止まってしまいます。
何がいけないのか教えてもらえると嬉しく思います。
この情報だけでは何が原因か特定するのは難しいのですが
配信が止まるということはエンコーダとの接続が切れたんだと思います。
エンコーダは何を使用していますか?
ちょっと曖昧な説明になってしまうんだけど
旧obs+video source pluginだと問題ないのですが、
OBS STUDIOのメディアソースだと、flowplayerがすぐ止まってしまいます。
※オーディオをミュートにして出力しないとたぶん止まりません
なにか知ってることありますでしょうか
たしかにすぐ止まってしまいますね。それ以前にまともに再生できていないようです。obs studioのほうが細かく送信してる?ような感じなので処理が間に合っていないのかもしれません。
そこで対策版を作成しました→http://fukure.sakura.ne.jp/test/FlazrDumper-0.5-flow.zip
元々FlazrDumperは旧PeercastStation向けに作成したもので現在のPeercastStationはFlazrDumperと全く同じことができます。PeercastStationのflv配信をflowplayerで再生したところ正常に再生できましたのでもし興味があれば試してみてください。またobs+flowplayerならhttpよりrtmpのほうが遅延も少なく、より配信に向いています。
FlazrDumperはrtmpサーバを内蔵しているので本来ならrtmpで再生できるはずなのですが、改造したせいか再生できませんでした。rtmpを利用したい場合はred5などが必要です。他にnginxを利用して同様の機能を持つものもあるようです。(参考)
最新のOBS Studio(21.0.1)でFlazrDumperが使えなくなったようです。
channel closedと表示され、再接続を繰り返します。
もし対応が可能なようでしたらお願いします。
エラーを無視するようにしたところ配信できるようになりました。(エラー箇所はログが出ます)
応急処置なので配信する際は不具合がでていないか注意してください。
http://fukure.sakura.ne.jp/test/FlazrDumper-0.5.1-flow.zip